Warning: Parameter 1 to NP_Poll::event_PreSkinParse() expected to be a reference, value given in /home/pokelege/public_html/nucleus/libs/MANAGER.php on line 370
The Project Gamma Development Progress Blog » Archive
The Project Gamma Development Progress Blog

Bytecode Engine!

Jun 13, 2011 by DX-MON |
And comes the biggest leap forward and new feature since a long time ago when the project came into being.

I have successfully designed and built a high-speed byte-code engine into the game engine which uses restricted contexts to allow the loaded layouts to "program" (sequence events in) the engine so that, for example, the login screen can sequence that when the close button is pressed, a dialogue pops up inside the window asking if you're sure you want to exit and allowing you to make a decision and depending on the byte-code behind it, do something to stop the closing of the window.

Once the engine is advanced enough to support all the basics of a layout (I estimate by next weekend), I will move all the controller code for layouts internal to the engine, allowing the client when it uses screens which are just layouts to simply load in a layout and run it, collecting on the results of the run as to what to do next

I know this blog entry doesn't do the new component justice, but I cannot say much more otherwise I'll spoil things and may also give too much away about how it works - which of course is a bad thing.

Signing off for now
~DX-MON

Progress

Jun 05, 2011 by DX-MON |
Although I have yet to make more progress with MapMaker's new features, I have made progress with Future Consciousness and the project in general on Linux.

I have rewritten all Layout engine routines making use of classes to enable a much faster and much easier to maintain architecture that is also far more resilient to error. This, coupled with getting the build systems fully ironed out for Linux has meant I can and am now running various parts of Gamma on my Linux desktop (64-bit with 32-bit support). A screen-shot showing this follows.

I have also been hard at work with other components such as GTK++, getting rid of several bugs that were plaguing the project but which I couldn't fix due to my test platforms keeping on changing weekly due to automatic updates. My desktop, however, runs my own build of Linux - Time-Bomb Linux (TBL) and I've designed it and built it to be stable and update-less, so that the core of the computer's run time doesn't change at all unless I completely rebuild the box. This enables me to debug code in an environment which I can be completely familiar with the operation and quirks it has. Due to this familiarity, I can more quickly pin-point my own misuses of APIs and differentiate bugs in my own code from bugs in APIs I'm using or general hickups on my part which make it seem as if there's a problem with some API I've called.

So without further ado, here is the PokeLegends layout test running the login screen on my desktop under TBL:
PokeLegends running on Linux
(scaled 25%, click to see full size)

~DX-MON