In my design, I use a shape class which hold all the information on different object in the scene including the characer and the objects on the board.
I used an input file similar to what we had in the Blenshape assignemnet where we can use certain keywords to differentiate between blenshapes, objects making the background such as the board, and objects that will be making up the game elements such as the moving sphere.
All of these objects can have their own triangle mesh and their own texture mapping. This feature enables the ability to change the shape and appearence of the game very easily.
The moving object and the object to be placed on board to be collided by the moving object will be a particle shape which means that they have position and velocity that can be modified and will enable the moving of these objects on the board based on the forces applied to them. Right noe, because I only implemented one moving object there is no force being applied and we are only moving it across the board with keyboard shortcust with velocity of zero.
The keybord shortcuts will move the object accross the 2 dimentions of the board. The w and s keys move the sphere up and down and the a and d keys move the object left and right.
I set up the camera in a way that the camera movement in rendering the board does not impact or modify the rendering of the character.
My greatest challange was lack of time actually. If I had more time, I would be able to make the environment much nicer and add the applied forces and collision between the objects.
One challange that I faced was to get the camera to render the scene at a desirable angle giving the feel of a 2D environemnt but with a slight angle so that the 3D objects on the borad would still appear as 3D.
Another challange was to get the board bigger keeping it texture intact and make it appear as very large if not infinite.