Feature | Basic | Medium | Hard |
Text entry | Tkinter text entry widget | Getting text entry via keystrokes, but doesn’t work for special keys | Getting text entry via keystrokes and works for special keys (i.e. backspace) and has a cursor that can be moved by clicking |
Map generation | Hardcoded map | Random map generation | “Smart” map generation (i.e. generating a map that is always solvable) |
Terrain generation | Generates flat terrain with “steps” | Generates sloped terrain | Generates smooth curved terrain with orthogonal character |
Player tracking | Enemies move towards player in a direct line | Enemies move towards player by picking the best option of several paths | Uses a graph algorithm (i.e. Dijkstra’s) to track player |
Sockets | Sends a basic text message via sockets | Sends messages to clients via sockets that contain some kind of data (i.e. position of player) | Stores information on the server and distributes it to clients efficiently |
High scores | High score list that saves between plays | High score list that saves even when the program is closed (using file I/O) | High score list per user that saves globally with user login |
Body tracking with kinect | One person 2D body tracking | One person 3D body tracking (including depth) | Multi-person 3D body tracking |
Levels | 2+ hardcoded levels | Lets users create new levels | Procedurally generates levels of appropriate difficulty |
AI | If statement AI | Looks ahead in the game tree | Minimax AI |
Using real data | Hardcoding data | Pulling data with a module or API (i.e. pandas) | Pulling data using webscraping |
Pseudo-3D Graphics | Static “2.5D” background | 2.5D background and animations/ movement | Raycasting |
Pitch detection | Aubio’s builtin pitch detection functionality and saving the results to use later | Aubio’s pitch detection functionality in real time | Using fast fourier transforms to detect multiple pitches |
Collision animation | Have an image appear when two things collide | Have an image appear and gradually disappear when two things collide | Base size and appearance of image off physics calculations |