We begin at the beginning. What better place?
More truthfully, this is merely the beginning of the development process. The Creative Process is far too grand and nebulous to document in sum. Already, many thoughts have been bubbled and missives exchanged about the broad ambitions and relatively novel qualities of this project. As this is however still the start of actual nose-to-grindstone action, a milestone worth commemorating, so do I herewith.
This is the prototyping phase, in which we flog our noggins for three weeks hoping to dislodge some remainder of genius that can be demonstrated in less than three minutes to a panel of industry professionals. Given the time constraints, we have elected to cut corners: most of the engine is already written, granted to us through the beneficence of the Permissive License.
The most significant contribution that we have made to this lucid font of game logic was made almost by mistake:
--- ShipGame/PlayerMovement.cs 2010-12-08
+++ ShipGame/PlayerMovement.cs 2011-09-13
@@ -204,1 +204,1 @@
- velocity.Y = Math.Min(0.0f, velocity.Y + dampingForce * elapsedTime);
+ velocity.Y = Math.Min(0.0f, velocity.Y - dampingForce * elapsedTime);
Et voila, c’est la gravité. Granted, this form of gravity is relative to the player’s perspective, which leads to interesting scenarios such as looking at the ceiling and finding oneself sliding across the floor. (We spent several hours correcting this “feature”.)
Try this yourself! The tools are free for all university students. See if you can find the missing piece to the peculiar puzzle of camera-relative physics.
Hint: it’s a second rotation matrix.