====Project Proposal====
Project description/proposal here: http://www.sccs.swarthmore.edu/users/06/egj/gsoc/description.html
====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.
* Add a level-loader.
* 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)