SionEngine, a libgdx based system
Sep 2 2012 · 3 min read · Comments
Note: I've decided to remove the repo for now as I feel that it's still too rough around the edges. Other open source projects that share this codebase are, however, available on my GitHub profile.
I've been working with libgdx for a few months now and I love every aspect of it, except maybe the fact that it's only compatible with Java but don't worry about me, I"ll survive. Being able to target desktop (Windows/Linux/Mac), Android and HTML5 with very little effort it's just too awesome. Beware GWT's dark magic though. Thing is I've already made a couple of very small games with it (Freegemas and Evolution) which has provided me with certain code base. Since it's not absolutely despicable rubbish I've decided to push its development further as I make more games and, why not, make it open source.
Finally, I've set up a GitHub repository for the so called SionEngine, feel free to check it out. However, as I"m working on an incremental integration of my code base, it's a bit empty just now. I honestly don't expect people come and say, "oh this is awesome!" and use this system. It's just that I need somewhere to host it (preferably for free) and it's been proven that the open source approach forces me to write cleaner code and do things the proper way if there's such a thing.
For the past couple of years I've been using Google Code mostly and I've looked GitHub with a bit of skepticism but the idea of having every personal project centralized in one nice and clean place is quite appealing. Let's see how this goes, I might be moving older projects to my GitHub profile as well.
Like I said, I"m currently moving all the stuff to the GitHub repository so not everything is there just now. However, in the following days you should be able to find:
- Every libgdx feature, of course.
- Reflection based multiplatform testing environment.
- Simple internationalization support.
- Stack based and memory safe state manager.
- Universal Tween Engine integration with some Tweeners built in.
- In house entity component system (wich will be replaced by Artemis).
- Animated sprites.
- Box2D integration.
- XML based settings system.
- Easy way of introducing seamless platform dependent code.
- Artemis Entity Framework integration
- Smooth transitions between states
- Inkscape XML level loading.
- Console to modify settings at runtime.
- [Whatever feature I need for the project I might be working on at that moment and deserves to make its way to the engine code]
I will probably post about the components in SionEngine as I commit them. That way I"ll think about their design and implementation twice and maybe, just maybe, they might be helpful to somebody else. Just the ones that are not absolutely lame, of course. Still need to make a decision on the license!