Wednesday, July 14, 2010

2.5 weeks remaining. This semester has blazed by. A couple weeks ago we had our engine proof deliverable. Things went well. We were able to demonstrate a player moving around in the world, shooting things. Tools doing their configuration thing. Physx did its time step thing. All manipulated from lua.

On our way to our first deliverable prototype we have made some pretty exciting changes to our engine.

* Levels are entirely scripted in lua (read: programatically generated levels).

* The shader system was completely rewritten to better handle user defined vertex and pixel shaders.

* A game event system in under 20 lines of lua. I am now a huge fan of the '...'

* Sound manager. We can use FMOD designer to create sound events and drop them directly into objects.

* Character controller. Our character no longer skips as it traverses the seams of the cube world. I had to write a simple physics sim and some smoke and mirrors to make the PhysX character controller move more appropriately.


And now for an awesome bug: http://www.youtube.com/watch?v=ruxuO-G5AhY

Tuesday, June 1, 2010

4 WEEKS! Oh man. I can't believe we are 1/3 of the way through this semester and I haven't made a post yet.

We have something that is starting to resemble an engine proof already. Graphics is drawing and animating. Physics is simulating. Input is polling. Lua is scripting. Tools are designing. All the vital engines are in and doing their thing.

We recently had a meeting to plan out our features for the rest of the semester. Remaining tasks for our engine proof consist of:

Graphics
- Lighting
get lights working and some form of an N dot L lighting equation in shaders

Scripting
- Expand Glue API
push more component manipulation functions to Lua

Tools
- Finish Entity Editor
write object templates to file
- Level Editor
spawn objects into the scene

Gameplay
- 'World Grid' partitioning system
for querying the 'scene'
- Get a character walking around

Input
- HID devices
XBox and other controllers
- Input Mapping
bind input devices to various events