It’s time to dive into 2D development with the creation of your very own side-scrolling adventure. In this round, you have much more creative freedom than before – your characters, story, and level design are up to you! You will be seeing less and less constraints over the next few assignments, as the training wheels are coming off and you get to decide what your game should be.
For this week, you will build a level of your own platform game, customizing it to your design. This is your chance to express your creativity. For the first week you can use the resource assets in class, but I highly encourage you to try finding your own assets and bringing them in to build your level.
ITEM 1: Player Character – [REQUIRED]
Every good platformer needs a main character. Choose a character for your game and set it up to act as the playable character in your game – this will include setting up colliders and rigidbodies, connecting the 2D Character Controller and making the character move in response to user input.
This should be a new character, different from the Viking Boy character that we used in the demo this week. You are encouraged to either create your own character, or find an existing sprite resource that fits your design. Next week we will learn how to animate these characters, so if you are looking for character sprite sheets you should look for one that has frames for run / walk / jump / death animations included. (Nothing has to move this week)
At a minimum for this week, your player character should be able to progress through your level by moving to the side and jumping. Player “death” is not required this week, but will be in a future assignment, so feel free to include it.
ITEM 2: Enemy Character(s) – [REQUIRED]
Your game must include at least TWO types of enemies, which at a minimum should appear different from one another. You can decide what danger they present to the player. (Do they kill the player? Hurt the player? Stun the player?). These enemies should be represented with sprites and placed in your level. If the player can “kill” an enemy by jumping on it, they should do that here. (If you plan on using an “attack” rather than jumping on a character, we will cover more of that next week.)
One of the two enemy types can be an “environmental” enemy designed to cause damage (such as spikes), but at least one of your enemy types should have a motion and behavior in the level (either a roaming or patrolling behavior).
Item 3: Level 1-1 Environment – [REQUIRED]
You must build “Level 1-1” of your game. This means designing approximately 2 minutes of gameplay to successfully complete your level. This means that you must create a game level with sprites arranged in a Tilemap. and using the Tilemap Collider There should be a background that renders in a layer behind the game level (this can be sprites or tiles), as well as some objects that are located in the foreground (on a layer that will occlude the player character).
For this round only you can use the environment spritesheet from class, however the next round will require that you use a different sprite resource, so I recommend trying that this week. Consider using a 2D environment pack available for free on the Asset Store, or find some sheets online (there are a great number of sprite resources out there). Or if you are feeling up to the challenge, try creating your own sprites to use with the Tilemap system.
Item 4: Sounds – [REQUIRED]
Your game must have sounds to provide feedback to your player. At a minimum, sounds must play for player or enemy hits, and player death (if you are making deaths work this week). Consider sounds for jumping, footsteps, attacks, enemy behaviors, etc. Background music is also worth exploring for thematic support, but is not required.
Item 5: Add Vertical Camera Adjustment – [OPTIONAL]
Want to build a level that climbs higher than your current screen will allow? Build in some vertical smoothing to your game camera to allow it to adjust up and down in the Y direction as well to follow your player. Consider setting a safe zone where the movement does NOT occur, to allow for a smoother transition instead of jerking up and down on every jump.
Item 6: Falling Death – [OPTIONAL]
If your character falls off of the world, they die / you lose a life. Make sure to communicate this somehow (visually or with sound, possibly UI based?)
Beginning this week, grading will start to include more subjective elements than it has been in past projects. Our game is growing in complexity, and this time some of your grade will depend on your ability to demonstrate mastery of concepts, rather than just completing items on a checklist. Is your level playable? Do your enemies behave consistently? Is your game relatively bug free?
Evidence of effort and creativity put towards your design and gameplay matter just as much as accomplishing the list of defined tasks. Make no mistake, required items are still required, but this time it will be possible to earn an A without completing the optional items. (Successful completion of Optional items will still give your grade a boost over the base grade.)
The project is due by Friday (10/22) at 1:30pm. Create a compressed (zipped) folder of your project directory, and a compressed (zipped) version of your application or executable with support files. Create a folder for Assignment 6 in your Box directory and submit these zip files there.
Please submit ZIP format only, as other archive formats such as RAR will not be accepted.