2D Game Programming:
Summary: You will build a tech demo (a part of an incomplete game) for a real time strategy game.
Grad Programming Project 4
Due: Monday May 2nd at 11:59pm (we will have one more game design project overlapping this one.)
Details: You will build a part of a real time strategy game which will include the map and enemy AI.
Your prototype needs to have a map.
The map must use multilayer tiling including at least 4 types of
terrain, one of which must be impassable. Further you must have at
least two types of layered terrain. One will be road. Roads should
increase the speed of units on the road by 20%. The other feature
should be Buildings. Your map needs two buildings. One will be the base
for the AI bad guys/NPCs. The other will be their target. Your
map have the following features.
Your AI controlled characters:
You should have two types of AI controlled characters. The first type
is only interested in "attacking" the opposing building. All AI
controlled characters should be animated sprites.
- It should be 30 tiles by 30 tiles
- It should have a multi layered tiled map defined by a text file that I can edit.
- The two buildings should be at opposite ends of the map.
Your "player" or demo giver should be able to spawn a player
controlled sprite in some way and move it around at about 150% the
speed of the defenders.
- The attackers should
- The other group of AI characters will be defenders
- The need a Finite State Machine based AI with at least the following states.
- patrol (wander around the building)
- attack a player layed down sprite (when one collides with the player sprite both should dissappear)
- return to patrolling when the player is no longer visible
- Players should be visible within 5 tiles of the defender.
- there should be 3 defenders at the start of the demo
- The AI building should spawn a new AI sprite every minute.
- spawns should alternate so that one first a new defender, then the next minute a new attacker.
As usual, you may reuse up to (But not more than) 20% of your code from other sources. Be sure to reference any such code.
make sure your game assets are in subdirectories of your actual project
directory. Submit the entire directory tree compressed by email as
The writeup will be extensive for this one. It needs to include
- Your name
- A Manual for the game
- how do I start it (which file do I run)
- how do I manipulate the player sprite
- How is your map setup - how can I change it
- how is the multi-layer tiling handled.
- which is your non-traversable terrain type.
- how did you implement the game. especially including
- how did you implement your finite state machine (objects, arrays, if statements etc)
- how did you implement the spreading activation of the graph?
- how do your AIs search the graph?
- References to any code or assets you used from elsewhere
- Anything left undone