联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2022-10-22 12:15

Game Engines and Graphics

Assignment 2 Part B – Unity3D

Simple MOBA

Assignment Specification1

Marking Scheme1

Submission Details4

Due Date5

Assessment Feedback5

Academic Misconduct6


Assignment Specification

In this assignment, you have been requested to create the basic framework for an upcoming Multiplayer online battle arena (MOBA) game. You will use the Unity game engine. Before beginning I would suggest becoming familiar with the how Unity works through some online tutorials. We will be using Unity in our class tutorials from now on. There are also lots of tutorials available on the Unity website and other popular websites such as YouTube.


A list of features has been provided for you to implement. This includes basic MOBA game mechanics (basic enemies, structures and playable characters). I recommend you complete the features in the order presented, although doing some variation probably won’t hurt. I would highly suggest planning out your inheritance structure first though. Demonstration videos will be posted online to help guide you for each. Although, these videos will only show basic implementations.


Marking Scheme

Please copy past the below into a text file called “Assessment.txt” and fill in your self assessment mark. You should also include any relevant comments on what you have implement successfully and/or not included. You can achieve a maximum of 100 points although you can implement all the options below that total >100.


FREE ASSETS ONLY OR SEEK APPROVAL FOR PURCHASED ASSETS (Via email or online forums)


I have separated this section into different parts. You can create one entity (such as the tower) then develop the mechanics (health, firing projectiles etc). Or you can develop all entities and then develop the mechanics, it’s up to you!

All scripts must be written by you. Do not use any prebuilt scripts from packages.


ARENA

[2 Marks] Setting up an arena

oEnsure no characters can fall off the arena (test with basic objects or develop some characters first)

oMake it believable, no invisible walls.

oApply materials to the floor and walls, give it a certain theme of your choosing


BASIC ENTITIES

[5 Marks] Class Inheritance Structure (You may include advanced entities in this structure or separate, provide reasoning for either).

oProvide base classes with generic variables and methods

oChild classes should utilize those variables efficiently

oIn your self-assessment, write why you chose the inheritance structure you did.

[5 Marks] Towers

oStructure that attacks enemies when they come into range

oShoot projectiles which appear as a fire particle. (see Targeted-Projectiles below for more details)

Projectiles should only fire every X seconds

oAdvanced: If the player is within range of a tower attack radius, visually display the tower attack radius.

[5 Marks] Bases

oStructure that spawns the basic minions

oSpawn a minion in one of two locations (location chosen randomly)

oIf this structure is destroyed the other team wins (display winner to screen)

[5 Marks] Boxes and Balls (Basic minions)

oSimple movement in a direction towards the enemy base

oProvide some form of movement animation (bouncing, rotating etc)

oAttack enemy minion/structures/characters when in range.

Stop moving when attacking

Projectiles should only fire every X seconds

oFire small projectiles at a target within range (see Targeted-Projectiles below for more details)

oAttach materials to your minions (higher marks for fancier looking materials)

BASIC ENTITY MECHANICS

[5 Marks] Health Bars

oAppear above all minion/character/structures and update in real time

[5 Marks] Targeted-Projectiles

oProjectiles that move towards a target

oThe target should be obtained from the minion/structure/player firing it

oThe projectile should destroy itself on impact with the target.

oThe target should take damage (You determine the damage values for your game).

[5 Marks] Target Radius

oA circle/sphere around the minions/tower which determines if they can attack an enemy

oOnly attack enemies within range (range determined by you)

oIf something leaves their range (either moved or died) they must stop attacking that entity

[5 Marks] Death indications (Use shaders and/or particle systems)

oTowers should collapse

oBases should explode before showing the winner

oCharacters should fall down (or death animation if you are using animations)

oAfter animation has played, entity should be destroyed.



CHARACTERS AND THE PLAYER

[7 Marks] Player character

oPlayer is able to move around the map by right clicking

oThe camera will follow the player character

oPlayer will basic attack enemies (minions/structures) when they are right clicked

Lock onto that target and attack until player moves or chooses a new target.

Basic attacks should happen based on an attack speed value (for example: every 1 second)

oPlayer will not basic attack minions/structures on their own team

oPlayer will respawn near their base after X seconds of being dead

[3 Marks] Character Selection

oThe player should be able to select their character before loading into the game

oIdeally, they should select the character in a menu scene, and then load into the game scene as that character.

oOptional: also select the enemy character they will vs

[5 Marks] Character 1 – Range character

oRanged auto-attack

oAbilities should have cooldowns before they can be used again.

oAbility 1 – fires a projectile that vanishes after a set distance or contact with enemy or ally

Only damages enemy minions/characters/structures

Ability 2 – Fires a large projectile that goes across the entire map

Damages enemy minions/characters

[5 Marks] Character 2 – Melee character

oMelee auto-attack (very short range)

oAbilities should have cooldowns before they can be used again.

oAbility 1 - Increase their basic attack speed for a short while. Makes the character glow.

oAbility 2 – Deal passive damage to enemies around the character for a short while (within their attack radius). Visualize the area of effect.

[5 Marks] Basic enemy character

Act like minions but will prioritize the player character if they come into range.

Will be able to use abilities of the character they are

Will activate abilities and fire towards the player if they are within range

Don’t make them too overpowered though! (Maybe a chance to misfire abilities)

Will respawn near their teams base if they die

[5 Marks] User Interface

oDisplay player character image, health and other variables you may have added (eg if add mana, exp to level up etc)

oDisplay image or information of target entity the player is basic attacking if any.

oDisplay abilities of the player character with cooldown icons (MOST IMPORTANT)

oDeath timer for if player dies.


ASSESSMENT

[3] Self Assessment - Provide marks for each deliverable you have completed and comments on the features you wish to highlight to the assessors. Copy paste this section into a text file called “Assessment.txt” to be included with your submission.


[5] Video – develop a video to demonstrate each of the features you have implemented. I suggest allowing 20seconds of video content to demonstrate each feature you have implemented (You may use more for the HD components). This is a compulsory part of the assignment. No marks for any part of the assignment can be awarded if you do not complete the summary video.



HD MARKS - OTHER

[20 Marks] To get a HD, you must implement some additional features of your choosing. Below are some ideas, but you can also propose your own expansions that will attract additional marks. Marks will be allocated based on difficulty of implementation, max 20 marks.

oSwitch to first person camera + movement controls (Something like Smite [The MOBA]).

oMore complex minion and enemy character movement

Spawn multiple minions at once

They must not collide

If a minion in front stops moving to attack, the others should move around to also attack

oCharacter/s with advanced concepts. For example:

Portal abilities (jump to and from positions)

Picking up and moving minions (Syndra w ability from League of Legends)

Minions should also move back to correct placement so they don’t walk into walls

Character with hinderances (such as freezing enemies, stopping them from moving, and visually showing it)

oAdvanced enemy character

Give them more custom movement and behavior.

oLevel up system for characters

Defeating enemies will grant exp

Passively gain exp

Gain levels based on exp, abilities will unlock or become more powerful upon level up


Submission Details

Please provide a single zip file with all your files with your emailID as the name (i.e. bondj007.zip). Your assignment deliverables should be contained in 3 folders that use the exact names as shown below:


-“source” contains all Unity project files, source etc. allowing an assessor to compile your project

-“application” contains the executable application for your game (make sure your scenes are ordered correctly)

-“media” contains a video or youtube link demonstrating your project features (user your emailID for the filename)

-“assessment” contains a text file called “Assessment.txt” which provides your own assessment marks of your assignment.


Due Date

10th Nov 2022

Assessment Feedback

Feedback will be available through the course webpage using the Gradebook system.




Academic Misconduct

Deliberate academic misconduct such as plagiarism is subject to penalties. You are advised to become familiar with the University’s policy available at http://resource.unisa.edu.au/mod/book/view.php?id=72184  and also the slides which were presented during the first week of the course.


Note that we have a number of electronic systems in place to quickly and easily check for plagiarism amongst students. All of the assignments are compared using special tools designed to look for similarities between Java programs. The plagiarism checking programs do not just compare the actual Java code, but instead perform comparisons on the code after it has been compiled. Performing cosmetic changes such as reformatting code, renaming variables, or reordering code may fool a human under casual inspection but will still be detected by the plagiarism checker as being similar.


Any assignments found to be in violation of the university’s rules on academic misconduct will automatically receive zero. Furthermore, you may also fail the subject and/or receive an official note in your academic transcript.


The best way to avoid being penalised for plagiarism is to not cheat on your assignment. Do not share your code with anyone, do not let any one else do your assignment for you, and do not leave your computer unattended or share your password with anyone. If you are working with friends it is ok to discuss the assignment and possible ways of solving it, but you should not share your code. Sharing code with others is still considered academic misconduct. The golden rule for working on your assignments is never show another student the material you intend on handing up.


相关文章

版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp