🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Black Triangle

Published December 25, 2009
Advertisement
Jay Barnson talks about a concept he refers to as a "Black Triangle": that stage in a game development cycle when you have accomplished a milestone of sorts that on the surface doesn't look like much, but which, underneath, represents a significant step towards making real progress. The "black triangle" being rendered on screen, after passing through the content creation pipeline and the game's scene management and rendering pipelines. I've achieved such a milestone:



It's not much, of course, but there it is. It's the first screen of a component-based game system built upon Lua and Ogre, featuring a third-person chase camera.

After my previous posts about the beauties of object composition, I've revisited a few of my core concepts. I've come to realize that component/entity type systems all try to implement a sub-set of features common to dynamically typed languages such as Lua. After writing the bare-bones of a object comp. framework in straight C++ using a central message passing framework, I have switched to a Lua-based system where objects are Lua tables populated with components, and all of the logic happens in Lua. Critical sub-systems such as the Ogre interface layer are C++, but the heart of the game is written in Lua.

The next step is to stress test it to determine a theoretical upper-limit to the number of entities allowed. Since Lua is an interpreted dynamically-typed language, there are performance consequences attendant with its use in such a central task.

Anyway, hopefully to update with more details and (of course) better screenies after the holidays have passed. Merry Christmas, folks.
0 likes 2 comments

Comments

Drilian
My favorite is "Three steps backwards, three point one steps forward", where you make some massive internal changes to get better-placed for future functionality...at the cost of rewriting a lot of what you've already done :(

EDIT: let's be honest, here - this comment made much more sense when I'd had a lot to drink.
December 25, 2009 11:05 PM
evolutional
I keep meaning to work on/complete my type system. You know, to actually do something ;)
December 29, 2009 03:48 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement