07-02-2009 CAGE grows up, marries iPhone
BeastWorks is now fully ported to and running on the iPhone. It didn't take too long since I had previous experience with another code base. Most of the time was spent doing little code cleanups and adding support for other libraries.
For example, I switched to DX9 a couple of years ago and let the OpenGL renderer fall from grace. It had to be resurrected and updated, then duplicated and stripped to comply with OpenGL ES 1.1. All three are now fully interchangeable. OpenAL completely replace FMOD. Newton Game Dynamics had been my physics engine of choice for a while. iPhone static libraries were released but they had several bugs. To expedite my port, I read about and added support for Bullet Physics, which seems to be what everyone else is doing and worked well aside from timing issues. However, Newton coexists and can be selected via data. Once all of my GCC compliance issues were resolved, I was able to get some existing scenes running poorly on the iPhone.
The rest lead to the release of my first product, "Pocket Warrior." While it doesn't seem like much and has some issues with audio (that'd be resolved if the App Store review process wasn't taking weeks), Pocket Warrior demonstrates a firm milestone that workflow and most trivial components, as well as audio, animation, graphics, asset loading, UI, touch, accelerometer, event processing, and more function soundly.
It did require some extra work, writing utilities to convert vartious model formats to my own (to improve load times), strip key frames from skeletal animations, reorder triangle lists, convert arbitrary images to TGA with appropriate dimensions, force lower case file names, and build my space partioning data offline.
Aside from that additional work, porting, optimization, and issue resolution, it only took a couple of days to click together in the editor, write and test glue code, and a ridiculous amount of time to record awful audio. While Lua is supported, the glue code for responding to the UI was written in C++. It took more time, exactly 7 days, for Apple to review and add it to the store. Since then, I've submitted one update that's been waiting 2-3 weeks.
I also submited another project around the same time, "Liquid Gold." It's an electronic, bass, drum machine, with additive and explosive visual effects. It also allows you to draw with lava and scratch with the background track. This project revealed some issues with rotating my projection matrix for landscape projects while trying to consistently preserve the original screen coordinates across platforms without testing specific cases. I use raycasts for UI interaction which might be overkill but works well and generically for 2D and 3D objects.
Interesting or not, both are 2-3 day project that were pieced together in the CAGE, effects and all. I just need to get a few smaller projects done to support the larger ones in development, as well as the tools and engine that I'd love to sell after putting it through more rigorous trials.
|
10-03-2008 Under Consstruction
I'm making several updates to demonstrate work I've done the past few
years. This will include videos, demos, and screenshots.
Commercial projects have involved work on titles like Tabula Rasa and Dungeon Runners for NCsoft. Personal projects include BeastWorks CAGE, a component-based game engine and editor. I've not had much time for it over the last two years.
The toolset is a simple, plug-in and data-driven framework built as a simple MFC application for docking panes and trivial functionality. Why MFC? Before the recent MFC update, free libraries were available for docking windows and other GUI support.
Plug-ins for the tool and a simple text message pump drive everything and can be written in any Windows based API or language. Currently, existing plugins allow real time creation and editing of XML databases that represent data for scripting, scene, and logic graphs for objects, effects, and entire game worlds.
|
03-23-2005 Gallery Update
Shipped Games Gallery
All games that I've worked on and shipped, including The Red Star, which is SCEA
approved but didn't make it to the shelves.
Original Particle Editor Gallery
This is my particle editor that was written for NBA Jam and meant to replace the
studios existing technology. I also wrote the backend, or driver, which is completely
cross platform using plug-in based render modules. The same code was shared between
the PC (in GL and D3D), PS2, and Xbox. I'm presently working on a rewrite that includes
a completely new core and editor, for personal use or licensing.
Current Project Gallery
Projects using the above mentioned new technology, which indirectly blossomed into
MUCH more.
Old 2D Art Gallery
Old 2D art from old websites, done in Autodesk Animator for DOS. Yes, DOS!
|