Work continues!
When I last made a MarMOTS post, I was working on starting to make my scripting language do useful stuff. Well, it quickly became apparent that in order to make my scripting language do anything interesting, I had to have entities on the screen to refer to. So I've got project support working now, and am currently building an ANSI sprite animation editor! This is going to be the biggest and coolest addition to MarMOTS in almost two years. I'm hoping to get something out next week, but we'll see.
On the scripting front, I have written a simple VM for the scripts to run on, and verified that, yes, my scripts actually run and do what they're supposed to. One of the interesting features of my scripting language is that it is intended to be LIVE, all of the time. The idea is that you can edit a script that is in the middle of running and the program will actually continue to function correctly, incorporating your changes immediately. One way that I'm able to do this is by stealing the notion of failed calculations from an obscure language called Icon. (Actually, reading that now, I may want to steal more ideas from it :) Basically, if you're editing a script and have a logic bug or even a syntax error, no big deal -- it's just a failed calculation, it gets logged, and your program continues to run. No game-killing exceptions, ever. I believe that it's much better for a designer to be able to see a failure happen, and have as much information as possible about the actual problem as it occurs during play, than to be told "the computer can see this will never work! You aren't allowed to run this program."
I have ambitions.
Comments
I'd love to try something
I'd love to try something like this but I'd rather not have to deal with ASCII/Telnet (I understand the nostalgia aspect, but seriously, who uses Telnet these days?). If you're going to add convenience features like real-time script updates and lack of exceptions, you might as well just allow the user to do equally convenient things like constructing the visuals by throwing PNGs into a folder.