Project X – Inverse Game Design
~ UPDATE! I have managed to bring the character down to ~1 kilopoly and have as a result restored Raycasting as well as object collision, object generation and the health system. You can now drop items and “monsters” into the world and interact with them.
~ Inverse Game Design, started in 2002, is a project which intends to build out the main feature sets found in popular video games, and make that code and modeling available to everyone as open source under the Creative Commons attribution license.
One of the goals of this project is to democratize access to interactive 3d. Educators, storytellers, and enthusiasts who are confronted by the programming barrier can, over time, fully realize their vision through using the code provided in Macromedia (now Adobe) Director and the Maya 3d package. Each line of code is commented (example below), and the creator has FULL CONTROL over every aspect of the environment, objects and characters therein.
The feature list is below. Currently work is being done on more character behaviors, and improving frame rate/playback when collision detection and physics are enabled.
Thank you for your interest in Project X!
~Bret Kulakovich, April 2007
Project X Milestones 4/2007
– in progress
Usable character w/skeleton and walking animation
Keycode controls to walk, turn
Playstation 2 Gamepad control *
Level of Detail
Physics – Havok or Custom
Flexible world file
Raycasting and terrain (NEW!)
Camera control *
zoom in & out *
Interpolated camera motion
Painting terrain elevation as per Kai Krause *
Light colors raises terrain
Dark color lower terrain
Import DEM files
Camera overlays (vignetting, UI)
Collision outside of Physics (NEW!)
Interactive polygon rollovers *
Characters store own data
Rollovers trigger display of stored text overlay *
Character generated text overlays (toward chat) *
Playstation 2 Gamepad control (comparable to PS/2 Jak3 franchise)
_ Parabolic motion and direct intercept, point to point
(* features suspended in this release due to framerate and web-based display)
Actual code sample from the current project file:
Special thanks to Craig for a great class, and my classmates for a great semester!