2D Game Design Project 2 part 1
Let's work with tiled maps and animated
sprites
Due Oct 23rd at 11:59 pm (Saturday before the exam)
Due Oct 27th at 11:59 pm (Wednesday after the exam, as per discussion in undergraduate class)
Summary: For this project you will choose a project from the list
below. All projects have a significant tiled map and animated sprite
The Future: A reminder: This project will be due in late October,
then we will turn our attention to other things for a few weeks, then we
will come back to it later in the semester and add more to it.
This Project:
For this project you may partner up with a
classmate. I'll put a signup sheet in the classroom. By the end of the
week send me the game you are implementing and which of the bullet
points each of you will be responsible for. (that way there isn't a case
of one person carrying the group). I'll be checking commits/pull
requests to make sure that each person is pulling their own weight.
For this project choose one of the
possible game types below and implement a game following
the requirements of that game. The
directions below are the Minimum requirements. Feel free to add any
embellishments that you want once you have the minimal functionality in
place.
All games must feature:
- At least 3 multilayer tiled maps.
- each map must be a minimum of 15x15 tiles. (this should just fit on
a 1080p monitor if you are using 64x64 tiles)
- layers can include walls and floors
- at least one should also include an object layer
- maps should include at least 10 unique tile types (these can be
across multiple maps so 4 unique tiles on one, 5 tiles with two from
the first map on the second, and then 3 new ones on the third map is
fine.
- At least 8 animated sprites of some sort
- these
must include at least one AnimatedWalkingSprite Because
arcade is phasing out the AnimatedWalkingSprite, you may stick with
multiple AnimatedTimeBased sprites
- and at least one AnimatedTimeSprite object
- These 8 need to have at least 4 unique appearances
- can't just copy stuff around like rotating coins.
- At least 4 different sorts of entities that your players can interact
with (5 if there is no player avatar)
- Mouse or keyboard input as needed.
- at least 8 unique sounds associated with game events.
- keep the game entities on the map in reasonable ways
- Eg in pac man you can only exit the level in a few locations and you
appear on the other side.
Possible games:
- 1) The 2d RPG
- You need to have several enemies on the maps
- your player needs to have some sort of statistics that they can
improve and which affect their interaction with enemies and the
world
- players need to be able to attack the enemies.
- one of the animations should be an attack animation
- enemies will attack the player when the player gets within a short
distance of the enemy.
- your tiled maps should include at least one with a relatively safe
area
- in the safe area there should be a 'friendly' who will talk with
the player
- provide a 'quest' which includes dialog with a friendly other
and a goal that can be accomplished on another map.
- There must be some way of fulfilling the quest on one of the other
two maps
- the enemies should drop good stuff when defeated.
- There should be several types of enemies with different stats.
- the player should be able to collect the good stuff
- eventually the player won't be able to carry any more good stuff
- some of the good stuff should improve the players statistics.
- provide a way to move from one map to another
- Extra grads requirement: You need to
provide a shop in the 'safe zone' where players can sell their
good stuff for money and buy other good stuff.
- 2) The tower defense game eg: myth
defense
- Your player needs some health (displayed)
- enemies will spawn in at one side of the map.
- you need a base on the other side of the map
- when the enemies reach your base, they reduce player health.
- Your maps should contain a small number of 'wall tiles' but most of
the field should be traversable by the enemies
- You need to have a currency
- the player starts with a smallish amount of the currency
- you need to provide the player at least 4 types of defense 'towers'
- each tower type should work differently
- different damage
- different attack speed
- different other functionality
- towers should have a limited range to damage enemies.
- towers should each cost different amount
- some towers should do damage
- one tower type should slow or stop enemies for a short time
- for this first part - have your enemies move straight across the
map till they encounter a wall or tower - then use something similar
like right hand wall following to find their way.
- towers block enemies like walls
- when placing towers - choose one square in each row or column that
can't be built on (show this with a particular tile type. This
allows at least one space for the enemies to get through.
- When the player has defeated enough enemies, change the map to the
next map.
- Extra grads requirement: Your towers
must be upgradable
- each tower must have a way to
upgrade for currency to a better version of itself
- 3) Strategy Game eg: Battle
for Wesnoth or Warcraft
I
- Make a real time or turn based strategy game.
- have three resources that can be collected on the map
- give the player a small number of starting units.
- allow the user to create buildings on the map which allow the player
to build additional unit types.
- have at least four types of units in total
- have at least four types of buildings.
- some buildings need to be built before others
- either as a direct prerequisite, or the building can unlock
harvesting a resource that is required for the next building.
- have a way of telling your resources harvesting units to harvest
resources
- have a way for units to attack other units.
- have a way for units to attack and either destroy or occupy the
units of another player.
- For your three maps, offer the player their choice of three maps to
play on
- for this initial game, have an enemy base on the opposite side of
the map from the player with several starting units (more than the
player gets) and a couple of buildings already built
- Extra Grads requirement: Your units
should have variable health and should have some way of healing them
between fights.
-
- 4) 2D action game (like a top down tank
Game) eg: https://www.youtube.com/watch?v=G20HGlDkyr8
- create a 2D action- style game
- The three maps will be used so that each game a different map is
selected.
- each player will have an in game entity that they control
- this player entity needs to have
- either health or multiple lives.
- a way of moving in the direction it is moving
- a way of turning
- a way of shooting in the direction it is pointing toward
- a way of pointing its weapon independently of the direction it
is moving.
- the map needs to have walls and open areas.
- the walls need to block shots as well as blocking player movement.
- include one kinds of block that can be a 'pushable wall'.
- pushable walls block shots, but can be pushed by things running
into them.
- Player shots should reduce the opponent's health/lives when they hit
- powerups should appear in random spots (but not tiles currently
occupied by a player every 30 seconds or so.
- powerups should provide a short term boost to speed or damage, or
a healing effect,.
- there should be multiple powerups possible. make sure to choose
randomly between them.
- include a victory check, if a player has defeated all their
opponents announce them as the winner.
- Extra Grads Requirement: have a notion
of ice tiles. These tiles can be traveled across, but if the player
stops on them they turn to cracked ice. If the player travels across
them, they turn to cracked ice after that travel. Traveling across
cracked ice, does damage and replaces it with water. Water blocks
movement but not shooting.
-
- 5) 2D carrot/stick management game (Majesty Style/Oxygen not included
style )
- create a 2d tiled map with objects on it for this game.
- have a way for the overlord/player to be able to mark jobs that need
doing
- have several (at least 3) unique animated characters that will move
around doing the marked jobs
- each character should have their own stats/abilities
- and preferences for certain jobs that make it more likely that
they will take the job.
- and doing additional background tasks that are important for that
character (eg going to the tavern in majesty, or sleeping and going to
the bathroom and eating in oxygen not included
- have a notion of time passing
- after the appropriate time has passed, have an event happen unless
the characters have managed to interupt it somehow (in majesty, the
invasions by monsters destroying your buildings, in Oxygen not
included running out of oxygen or having the lightbug disturb sleep.
- make sure to have at least two of these events at different times.
- characters doing a job should take an amount of time based on the
character's stats/abilities.
- completing a job should produce a visual change in the world.
-
- 6) The arcade style game (Beserk) eg:
https://www.youtube.com/watch?v=Yej3M9Ec8Cg
- build a Berserk style arcade game.
- each of your three maps will be used in turn. After completing one,
move to the next one.
- Start with a player and a set of randomly placed enemies
- if the player touches the walls, the player loses a life
- the player starts out with 3 lives
- when the player loses a life the player avatar resets to a
relatively safe location
- if the player touches an enemy, the player loses a life
- There are two types of enemies
- one of them can shoot
- if the enemy shot touches the player, the player loses a life.
- if the player loses all lives stop the game and show a lose screen.
- the player can shoot
- walls block player shots.
- player shoots in the direction player was last moving
- player can move in 8 directions - up-down-left-right as well as
up-left, up-right etc.
- each time the player hits an enemy with a shot the players score
should increase. Display the score at all times.
- each time the player moves to a new level, make it more complex,
with more enemies
- don't let the player move to a new layer till all the enemies in the
current level are gone.
- if the player clears all levels, detect a win, stop the game
and announce the win.
- Enemies shoot at the player, for not just have them shoot regardless
of the obstacles.
- Enemies move toward the player sometimes.
- have at least one enemy move toward the player at each time step.
It should be a randomly selected enemy at each time.
- these enemies move directly toward the player
- enemies die when they hit each other or a wall. (getting them to
run into the wall is one of the best parts)
- if the player shot and enemy shot collide, both disappear.
- Extra grads Requirement, Add two more
levels, if the player clears the level and exits the level in under
30 seconds add a life to the player.
-
- 7) The Rogue-like eg:https://www.youtube.com/watch?v=AiVU-rEAbUM
- build a roguelike game.
- roguelikes are turn based, your player moves one square
- Either create a mapscript that generates workable random maps or you
can handcraft three or more map levels.
- let your player select a 'character' that has statistics. You can
either randomly generate one, or let player choose options, or give
the player a handful of predefined characters to play.
- characters should have equipment
- equipment should have properties, armor should block damage,
weapons should increase damage, etc.
- some of the equipment is equipped and in use, some of it is in the
players inventory.
- Players need to be able to
- Each level must have several enemies on it.
- enemies have health and damage states.
- At least one enemy should have a special attack.
- for example, the 'rust monster' destroys metal weapons and armor
that are both metal and equipped (but not in inventory)
- enemies should drop some equipment sometimes (use a random table)
- each level should have an exit to the next deeper level.
- and one to the next shallower level.
- if you exit to the shallower level from the first level without
the victory item, you lose
- enemies will move toward and attack the player when there is less
than two empty (non wall) tiles between the enemy and the player
- If a player goes down to the next level, all of the enemies that
were left behind will still be there when the player returns to this
level.
- have a way for players to examine their inventory and change their
equipped gear.
- there are walls and doors.
- some doors are unlocked
- some doors are locked and need a key.
- some doors are secret and can only be found by searching next to
them.
- on the lowest level there is a victory item, held by a 'boss
monster' who is more difficult than most.
- if the player exits (goes up all the way to the first level then
goes up one more time with the victory item the player wins.
- Every action (including running into the wall and searching, counts
as a player action, allowing the nearby enemies the chance to move in
for an attack
- every step (action) increases player hunger. player starts out full,
gets hungry after 25 moves, and gets a stats penalty after 50 moves,
and dies after 75 moves without food.
- food and biological remains from
- Extra grads requirement: add two
additional levels and the notion of pits. Pits are hidden unless the
player searches.
- if the player walks over an
unsearched pit, drop the player to the same location in the next
level down.
- do 5% damage to the player.
- only have one pit per level in a
random non-wall location
Extra requirements:
- make sure your assets are in a tree of subfolders - not with your
code.
- Be sure to include a readme with
- your name
- anything you didn't finish
- directions for how to play.
Submission: Submit as usual by sending me a collaboration invite
via github.