Over the weekend I finished the core architecture of the PAC engine. Groovy. The only big thing left is bosses/wave scripting!
Of course, the codebase is far from "finished" - the engine will be polished continually right up until the end. But the architecture is there, and the polishing will be quite gentle.
Taking "screenshots" of the PAC engine is, of course, pointless. It's a scripting language. However, to sooth the eyeball, here is an image of my early (but not as early as it was last week) map prototype.
I was very concerned about the map. How would I represent a vast array of underground caverns? Especially since the player shouldn't know about unexplored locations?
The answer was simple once I found it: the map gets "drawn" as time goes on. The map is powered by a simple PAC script: memes which exist denote zones you have visited. For example, my first mission is "scaffold01". When beaten, it adds the "scaffold01" meme to your list, and in the map script is a line which is only triggered if you have the "scaffold01" meme. This particular map doesn't have any missions on it, because I wanted to show the unadulterated map.
Obviously, the graphics are still preliminary: I'll be giving the parchment "depth", for example, before it's ready to go. But the concept is there.
The script files are simple. Remember, this is not a programming language. It is only intended to do memetic calculations and control game flow. This is NOT TorqueScript. It's PACScript.
For example, the present script for which pilot portrait to return is:
(Where the Portraits/* is the path/file of the picture to use.)
Obviously, "?" is an if statement. You can just as easily do:
? SCRUMDIDDLYUMPTUOUS > 10
PAUSE 1 second
(I don't support line-start white space yet, because I'm actually really unfamiliar with Torque 2D's string editing utilities. However, I am quite experienced with writing scripting languages, so the functionality works just fiiiiiiiine.)
If the pilot is flying, the portrait is the windblown pilot. The "m-" deletes the meme. "m+" adds a number to the meme (or subtracts a number, if the number is negative). There's also "s+/-" for stage adding and subtracting, and "o+/-" for option adding and subtracting.
So on and so forth.
Now I can start on content!
I'm in a great mood.