Junkster Wing, more than a Space FPS

I’ve been working hard on a game project for several months now and after much insight gained during GDC 2011 I’ve decided its time to get it out there. Junkster Wing is a Space FPS with some interesting RTS elements. Its still in its early stages, but is quite playable already! I will be posting development screen shots, videos, and alpha builds on its official website http://junksterwing.com

Anyone that has been following the development will know that Junkster Wing used to be called Supernova Outlaws, but over the last few months the direction has been changing and pushing in a more unique direction. The old moniker just didn’t really carry the descriptive vibe the game deserved. I think the new name gives a good feeling of what the game will ultimately be about.

Read More

Hikari – Flash for Ogre3D

Hikari is a library for embedding Flash widgets into an Ogre screen overlay using the Internet Explorer Flash browser plugin.  When I had first heard of this library I, like many others, had been using the somewhat antiquated CEGUI and were growing more frustrated by the day.  At the time CEGUI had lost its main developer and the view among the Ogre community was that the project was dying and in need of replacement.  Hikari is not the only, or even the first, to try to fill the void left by the then dying (but now reestablished) default GUI library package, but it is the only choice providing industry supported tools.

That said, I have had some sizeable stumbling blocks with Hikari.  Many of these problems are merely results of fundamental incompatibilities with the Spark Engine.  Hikari’s implementation creates an Ogre material and performs buffer blits between the Flash COM buffer and the Ogre material.  This is all well and good, if it is done syncronously with Spark’s render thread, which it is not.  So it seems Hikari will have to be altered to work within Spark’s rendering paradigm.

Overall I would give Hikari a 3.5/5 with a much higher possibility.  One of its major caveats is that it uses the Internet Explorer browser plugin interface as opposed to something more portable like the NPAPI which would allow it to be cross-platform, though I hear this is something the developer is working on.

Read More

Spark – a mulithreaded 3d game library in C++

Most of my free time as of late has been spent on a little side project I’m tentatively calling the ‘Spark Engine.’ One of the primary performance caveats of the technology I’ve written in the past was the limitation of being a single threaded application. While this in and of it’s self is not a problem and in many ways simplifies development, it also forces the application to strongly control how much is done each frame to maintain a reasonable framerate. To solve this issue I placed the renderer in it’s own thread and further reduced possible points of conention by only communicating through asyncronous command objects. While none of this is anything new to anyone who is up on game development technology, it is still a step forward from the previous technology I’ve been using.

Prior to this project I had been using tolua++ to bind my scripting language of choice to the API, but I’ve found that luabind is in many ways far superior. With it, unlike before, objects in scripts can inherit and implement base classes defined in C++, including event listeners, timers, and game object components. After realizing the power of this functionality I have not looked back. Another great benefit is the ability to define bindings in C++ without mangling the header files with unsightly tolua declarations. Although this apriach is not without it’s downsides; luabind relies on boost which adds extra dependencies and the vast amount of templates increase compile time. But, these seem like reasonable trade-offs considering the gain.

Read More