Get the starting game and try it out. It is a simple, not fun at all tile-based overhead combat game. You and one enemy, whoever runs out of health first loses. WASD movement, click to attack in the direction of the mouse.
First Iteration starter repo: https://classroom.github.com/a/ym3I4FNr Second Iteration submission repo (empty): https://classroom.github.com/a/UdkbOZyz
Starting with the base game, your job is to make it more fun. Specifically, you must improve the given enemy and at least one more enemy that differs in actions and behaviors.
We are focusing on the enemies here. Obviously, you can make the game more fun by enhancing the player as well, and things you create for the enemies can also be used by the player. There are four types of changes that you can make:
It's hard to make diverse, interesting enemies if they all interact with the player in the same way. Having different actions (attacks) that the enemies can perform gives you more to work with.
Given their set of actions, the enemies have to decide how to fight you. They are typically simple and reactive, but there is still a wide space of variations to create different experiences.
To support different actions and behaviors, you may need to add other systems. Entity resources like stamina or ammo. Stats like attack power or armor. Statuses like knockback, slow, and invulnerability. Combos. Focus on things that change during combat, since we’re not doing long-term upgrades here.
Images, sounds, theme all matter. They significantly change the player experience. Feedback is critical. Apart from basic feedback (make sure they know they were hit!), we’re not focusing on these elements in this class. But you are always welcome to do some of this because it’s fun and makes a big difference.
You are welcome to change the map also.
We didn't do these in class this time, but they are fun and I recommend this as an approach to figure out what changes you want to make.
Brainstorm at least 10 different actions that the enemies might use. At least 3 must be non-attacks.
Give enough detail to capture what is mechanically different about each action (e.g. targeting, windup, hit mechanics, telegraph, cooldown) as well as systems needed to implement it (e.g. building up combo points and then using them, putting a trap on the ground that blows up later).
e.g. Quick Strike: A quick, light hitting, long range melee attack that shoots out in a line from the player. Instant cast, does not move with the player or lock the player in place. Short or no cooldown.
For the first week, improve the given enemy and add a second enemy.
Document the changes you plan for each enemy with player stories and action descriptions. Fill in this iterative_improvement_worksheet.docx and make sure to commit it with your code.
For the second week, add a third enemy. If you did not complete the first two, do that as well.