Hi!
Good question.
I started Tilengine as just a test for myself because there was nothing similar out there, without any intention of releasing it. However as it started to grow and having more unique features, I pushed to release it. It's a lot of work, because along the engine itself, I had to:
- Write proper documentation and examples
- Hire web hosting and domain
- Create the webpage
- Create and manage the forum
- Create community sites (itch.io, Patreon, youtube channel... )
- Post on related forums
There also are the bindings and their examples, because its common to write games on high-level application languages, not directly in C/C++ (but of course they can)
Often all this complementary work keeps me from developing Tilngine itself. I'm a single individual doing this on my free time, that I also share with other activities that require time. Thtat's why from time to time it may seem abandoned, but in fact it never really is. One day I get a suggestion for a new feature, and if I think it fits on the project, then it becomes a challenge that drives me to complete it.
What I hate more of all is writing documentation. I know it is absolutely necessary, but even nowadays it is quite incomplete.
Regarding design choices, in these years I've learnt new technologies of course, but I won't go back and change anything. Being written in good-old C gives these features:
- can be compiled and run on every available 32-bit architecture
- can be integrated inside other frameworks
- high performance, low requisites
I wish I had more deep knowledge of how actual 2D chipsets work and their quirks, back then I had an approximate idea, but not the knowledge I have nowadays. It led to implement basic features on a way that I'm not very happy today, but than I cannot change them for not breaking compatibility. However nothing terribly wrong, just some details I would do different.
Nowadays it's still the only open-source engine of this kind. The only other similar engine I know about is Retro Engine, used to build Sonic Mania and Sonic Origins ports. But it is proprietary, closed-source, so it doesn't count here.
One thing I hadn't anticipated is community involvement. It's a small but enthusiastic community that has contributed so far:
- bindings to many languages
- integrations into other frameworks (i.e. Unity)
- suggestions for great features I hadn't think about
- beta testing and bug reports
- video reviews and articles, even on printed media
- being adopted as the underlying engine for some (not yet releasd) games
This community feedback makes me happy, I really appreciate it. So thanks to you for your kind words of appreciation and for being an active part part of this community!