Hey, and it’s time for an update! Last week’s work was relatively simple but important. Let’s get to it!
First off, the AScope type has been implemented, and is now integrated with AExpression and ready to be used in the A-Engine! For those interested in how it works, I believe the following screenshot will give you the idea:
Note that @spam@ is a random name I used for testing in the screenshot, and won’t be of use in the A-Engine at all. Now all is left for this is replacing the std::string variables which depended on Evaluate() with the much better AExressions and AScope instances. It’s going to be quite the tedious work going through all the code and doing that, but I should be done by next week.
Next to report is that I’ve redesigned the “load.txt” file (renamed to “load.a” for consistency) and finished designing the new stage file layout. If you don’t know what “load.a” is, then it is one of the main files in the A-Engine which references objects, stages and other assets your game needs to load and assigns them to IDs. What I’ve done with “load.a” is made it more readable as well as generalizing its purpose a bit. Have a look at the new design in the link below:
The thing worth noting in the new design is the lock= tag, which will become useful when you want to have a system where characters, music, or stages are locked at first to be unlocked by accomplishing something specific in the game.
The stage files have been completely re-designed to allow you to fully incorporate 3D/perspective elements in your stages as well as more dynamic effects and methods of spawning objects:
As you can see, you should be able to load 3D models and create light sources (will be explained in a later update when I get to actually implement those). But the most interesting tidbit in this design are the cameras you can set. You should not only be able to control how the scene camera follows a fight in 3D space but also have multiple cameras which view’s can be accessed and used in img= tags. This becomes useful when you’d like to have a TV sort of thing in your stage that re-renders what a camera is viewing to a smaller screen. This also can allow for having split screen multiplayer in the future, where different cameras follow the different players on the screen.
And that’s really it for today’s update. Next on my todo list is replacing all the Evaluate() calls with the new AExpression/AScope functionality. I should be able to get to implementing the stage files design as well (and hopefully finish it), and put a “maybe” for the possibility of a test build in the next update for you guys to see things for yourselves.
If you have any questions or comments, do not hesitate to comment, and I will answer your questions to the best of my ability.
Have a nice day, see you in the next update!
Contact at: firstname.lastname@example.org