Addaadah, First Commit!

After almost a year since the inception of Addaadah, I’ve finally pushed the first code commit! You can find the repository here:

besm Allah…

I’m seriously glad that I came across Duktape. Because:

  • This way, I don’t have to wait until my C99 compiler is complete before working on Addaadah.
  • Having a second language on-board from the beginning will force me to build Addaadah while having multiple language support in mind.
  • Javascript is a beautiful language (whoa!). I’ve only come to realize this after having used it over an extended period of time. It’s not a fast language, and it doesn’t protect you from writing horrible code. But I think that those who have mastered it can be really proud of their work.

However, there’s also a bad side to this. Having the engine working in Javascript will make me at ease. I have less urge now to complete the Bite compiler (maybe it’s just because my wife moved the compiler notes from my desk and I can no longer see them. Out of sight = out of mind).

Anyway, in these few commits I have:

The Hello Duktape test summarizes most if what we need from Duktape. It runs Javascript code and calls a C function. Maybe I’ll extend it later to read and modify properties from objects and I guess that’s it. It’s that simple.

Next would be:

  • adding makefiles and build instruction for different operating systems (Mac, Windows and HTML5). Maybe Android, but iOS will probably have to wait a few months before it can get any attention (I hate booting into MacOS. More like, I don’t need to. That’s it!).
  • writing backends (system abstraction layers for different platforms).
  • writing the OpenGL abstraction layer. It’s not really necessary, but has its uses. Mostly, in debugging and optimization. I can also use it for some fancy stuff I have in my mind, like writing a software renderer to support GPU-less devices. It’s a lot of work, but it doesn’t have to be complete or optimal, and it has been on my mind for a while. But all of this is saved for LATER! For now, all I need is the abstraction layer. I guess it would be a good decision to support OpenGL ES 3.0 compatible feature set only on all platforms (using Angle for Windows).
  • establishing the entity-component-system framework.

Not necessarily in this order, but I need all these to be able to make my first game using Addaadah. I’m eagerly looking forward to it.

Well, thanks for reading! Please continue to support this humble project 🙂

Comments are closed