It’s been some time since I last talked about The Sprite Project, hasn’t it? A few weeks ago, I revealed how work on The Sprite Project will be revived for a new, re-hauled engine. With this engine being one of my priorities this year, last weekend I opted to start working on it. This first version of this sprite engine, developed for jMonkeyEngine 3, was released around a year ago, and the attention and support it received was much higher than I anticipated.
Recently a start-up indie studio contacted me about a game they were working on – which was using The Sprite Project as the engine for graphics and sprites. The platform game was released a few weeks ago, so make sure you check it out if you like puzzle platformers!
Back on the subject, when confronted with some questions about this engine I realized just how constrained it actually was. Lacking in versatility and any in-line documentation, The Sprite Project had a number of processes which I now consider to be bad practice. Most importantly, this one-month project also lacked in optimization.
That said, I still consider The Sprite Project to be my own little achievement, yet in reality it is barely anything more than a prototype of an engine. And moving on to re-create this new engine from scratch, there are a number of benchmarks I want to meet in the final release of this engine, around 6 months from now.
The most important part in this engine is optimization. Thanks to the assistance of a number of jMonkeyEngine developers, I’ve already determined some ground rules. For example the engine will be using different techniques for different types of sprites (for example GLSL shaders for animations) in order to use the CPU and GPU as wisely as possible.
Part of the optimization process to improve performance will also include the culling of 2D sprites which aren’t displayed on the screen.
This implies that documentation will be more important than ever. In fact, one of the basic features I am emphasizing on in the new engine is proper documentation. Apart from the obvious in-line documentation, I also plan to use a wiki-like section on Nyphoon’s website explaining how the engine works.
The reason why I’m opting for a wiki-like model is that the engine will be much larger than the previous release, and I would thus have the opportunity to provide more usage examples and explain in more detail how it works. What’s more, a comment section will also allow developers to share tips.
The new wiki requirements have also heightened the need for the new website. Whilst the design is in the works, it’s unlikely that the website will be opened any time soon, at least not in the next few months.
My goal for the new Sprite Project isn’t to provide developers a tailor-made sprite engine, but the framework. As was the case with the last version, the upcoming one could be used off the box, yet I would still recommend that developers fine-tune it for their own games if need be.
In the next few weeks, I’ll be posting more about The Sprite Project. I’ll also be simultaneously working on several other aspects of Winter’s Coming, so if you want to stay updated, make sure to follow me on Twitter, Facebook, or by subscribing to the RSS Feed! Oh, and if you have any suggestions, leave a comment below and I’ll make sure to reply!