====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)