Project Proposal
Current Progress
Goals for week of 1/8:
- Primary goals
- Add a Collision class which contains all the relevant information about a Collision, so that Pieces don’t have to contain pointers to other Pieces when they collide; instead I can have a single list of Collisions and process them separately from the Pieces.
- Rewrite the collision-detecting and collision-processing code to make use of this.
-
Rewrite the piece-interaction code.
-
Add Walls and collisions between Pieces and Walls.
-
Add Attractors and Repellors, which pull/push objects away by “gravity” when certain conditions are met.
-
Come up with a way to implement Attractors and Repellors, as I now realize that my initial idea doesn’t really make sense.
- Secondary goals
-
Add piece-specific Obstacles.
-
Turn-based play.
-
Players take turns.
-
Only one piece can be shot off at a time (wait until all pieces are inactive).
-
Come up with a format for describing levels.
- Menus.
Previous Progress
Goals for week of 4/7:
- Primary goals
-
Clean up my code.
-
Take code out of .h’s and move into .cpp’s. Just one issue remains; for some reason the linker fails if I move the integrate
function code into Physics.cpp
.
-
Modify makefile to reflect this.
-
Make better use of references and pointers.
-
Use data structures more intelligently.
-
Add an OS check so code will compile and run on any platform. (Well, Linux and Windows, at least. Mac testing will come later.)
-
Fix collision response. Now using impulses on collision, and it’s MUCH better. But I’m just doing an Euler integration on the impulses; I should fix this at some point but it’s not a high priority right now.
- Add a secondary collision detection routine where triangle pieces are involved. Harder than I thought to use a pixel-based collision detection in SDL; does SDL_image even give you direct pixel access in any way? I can’t find out how to do that. [edit: Thanks, Joseph!]
-
Fill out and send in my forms to Google!!!
-
Send in a picture of myself for the winlibre SOC gallery.
- Secondary goals
-
Add a sound routine to play sound effects on collisions, etc.
-
Start moving the demo more in the direction of the game.
- Try to speed up game loop computations (primarily collision detection and integration)