Milestone One was on Friday.
I had given myself the milestone of settling on a scripting language, and beginning the implementation of integrating it into the engine - having a proof of concept of it doing something useful.
I hit this milestone, even while thinking I wouldn't be able to after the Python mess, and the Extend/Embed problems earlier still.
SGZ2D ( what the engine's current codename is ) supports Lua. It won't support Python ( at least, not in time for the Project's end ) due to it being a bit more complex to add than I need, and I don't have the time to rip things apart to properly add it. Lua is being embedded into the engine, and functions and classes are being bound to it via the proxy method. This means that I generate a "dummy" version of the class/function as well as the main one. This proxy is called by Lua and just offloads the work to the main class.. but the proxy is important as it translates between the C/C++ static variable types and Lua's dynamic variable types, as well as manipulates Lua's stack to add and grab any arguments that are being passed around.
Milestone Two is in about Five Weeks time.. Again, I'm still one week ahead, but I'd rather keep that one week ahead in case I need it later on.
Milestone Two will require me to have the Engine Tests done, the Main Engine and Script Support COMPLETED - so in theory, the engine will be "feature complete" by this point, and a code freeze done. Also, I should be half way through adding code for other platforms, and have the first draft of the dissertation done. It will not be the FULL dissertation, more the first half on creating the engine, a review over the various methods of script-based logic and how to extract the logic from the engine, etc..
Seeing as I've given myself so much time to do the multi-platform coding, I may relax my restrictions on the engine and continue to add features that I know will be able to be added. But this will use a separate code-tree so that if they fail, it will not cause the project any harm. These features can then be back-ported when they work.
But, so far so good!
Within a week or so, I may be able to release something that works and can be used at that point in time! The website will be up today or tomorrow which'll have the submitted proposal, as well as discussions on what has already been posted on the blog, but in more detail. It's just a case of writing the content, as the site engine is mostly complete and working for that purpose.
Another update will come soon.. hopefully when I have the script actually controlling a sprite around the screen.. that's my goal for the end of the week!
Blog and Code by Steven Campbell
Blog opinions are my own, as different as they may be to yours.
Comments are other people's opinions though.