Snowball Warfare

## Debug Tools

#### Mouse X coords:

0

#### Mouse Y coords:

0

#### Ball X coords(Only [0]):

0

#### Ball Y coords:

0

#### Log of errors or current events

#### In game Debug Options, default is true

Currently:

#### Create a New Char

X Pos

Y Pos

Rotation in degrees(Radians is converted automatically)

Mass

Restitution

Width

Height

Drag Coeffcient

Colour

Team

Health

MaxHealth

#### Adjust Chars

(really just launches the boxes in a random direction)

## Bugs

- When dragging from outside ClickInRange to inside, game takes as valid and ball is fired from position in. (mouseup issue)

- If you delete all the boxes, the ball loses collisions with walls.(FIXED)

- Drop down refreshes incorrectly when clicking refresh.

- The Simulation speed adjuster doesn't work as to change the rendering speed would mean to stop and re-instate the loop with a different interval value.--This has been abandoned(15/03/13)

- When first loading the page, the game crashes when trying to draw the background image, because it could not load it in time. Find a way to display a loading screen.

## Todo

-Make the current collision system work with rotated boxes and other objects stored in arrays.

-Make properties for each object of box, i.e mass, density etc.(DONE)

-Try to seperate game logic calculation to rendering, therefore optimising. So the CPU doesn't have to calculate at the same rate of rendering.(DONE)

-Make buttons that add/delete boxes on press.(maybe with parameters) (DONE)

- Add rotation to the screen objects(DONE)

- Work on setting a custom simulation speed.--This has been abandoned(15/03/13)

- Instead of making the objects rotate 360 degrees, only allow it to rotate 180 degrees and resetting it to 0 when it goes above that. This would require the shape skins to be symmetrically designed. Advantages of this design include less of a hassle when working with collision checking with rotated sides of shapes.(DONE)

- Calculate the exact corner pixel values of boxes then render those, to make ease of collision checking, it will also render the boxes this way. (Have to figure out how to retrive objects property while declaring first) --This has been abandoned(15/03/13) due to changing of the project specs.

- Button press tracking in game. Will work by existing mouse handler to detect X and Y value, this value will be checked against an array of displayed buttons. Non-displayed buttons will be kept in a separate array to reduce performace cost of check one big array.

- New Box is broken, refer to function