Hi there, Maxime here, developer of Catequesis.
For my first post, I'll talk a bit of what's under the hood of the Catequesis project.
I'm a Java developer so Java is the language used in every components of the Catequesis project. It's definitely a good choice for targeting Desktop and Android ( and even web, but this is another topic ). Java is a rather modern language, that can run on many platform. It's object oriented (which is really great for games), has a really huge ecosystem, and focus more on productivity than performances ( which is good enough for a 2D game ).
The Catequesis project is composed by:
- The game itself. Android code and Desktop code differs on some specific platform related issue, but most of the code is the same between the 2 platforms. That's a huge advantage.
- The editor : We got a great map editor that allows us to create maps the way we want without requiring any code knowledge.
- Tools : There are some inside tools dedicated to automation of dull tasks.
- People : us, basically. I should have put people on the first point though !
A question that we're often asked is : "Which framework do you use?" followed by "Really ?! But why did you have to recode everything rather than using a game framework ?".
You have already guessed that, in Catequesis, everything is home-made. My game framework is something I started to develop 3 years ago, for fun. I wished to learn how to use OpenGL. At that time I decided to build a little game that leads to the creation of Tales of Pocoro. In 3 years, the engine got bigger and better. It's not that hard to code, but just take time to read, experiment and implement.
When Francisco asked me to develop Catequesis, I already had my own engine, with a light editor. So, for me it was easier and more interesting to use my own tools and improve them rather than starting from scratch using a game framework.
For a more technical approach, for my fellow developers, here are some random facts:
- The editor is full Java, and uses Swing.
- The game uses JOGL, a library from Jogamp, that allow Java use OpenGL in a very low level way, pretty much the same way you can use OpenGL on Android ( which is really convenient ).
- On the desktop, the sound is handled by JOAL, another library from Jogamp ( love you guys <3 ).
- Every library we use is open-source.
- All the content of the game is home-made too
If you have questions regarding this, do not hesitate to ask in a comment. I'll be glad to answer.