Well, I think I can safely say that the midterm business is over. The week was full of late-nights, which mostly revolved around the 330 unsorted midterm papers that I had to sort, write down totals on, and enter into the school database. Groan! A multi-pass manual radix sort did the trick though -- it was amusing to apply CS concepts to menial labour. [grin]
Aside from a few stragglers who didn't pick up their midterm in lecture this week (who will prod me at my office throughout the following week), it should quiet down now at work until the final exam starts to loom closer.
Rip-off made a wise comment on my last post about scripting which I took to heart. 'Why bother reinventing the wheel?' was really the gist of what it boils down to. Writing my own scripting language from the ground up will take at least a couple of months, and Scheme-like syntax is bound to scare away potential script'ers.
After some research, I opted for Jython, an implementation of Python for the Java platform. It can interface directly with Java classes in both directions, which means seamless interaction between my Java source and the scripts can occur. Better yet, integrating the interpreter into Skirmish proved to be trivial!
What about security? If Jython gives full interaction with Java classes, what's stopping people from doing nasty things with file i/o, or creating instances of my own internal classes and gunking thigs up? Well, the short version is that one can limit the accessible classes via stripping out users' "import" statements. The other problem of having users mess with objects they 'should' have (player instances, item/prop instances, etc) can be evaded by provided 'wrapper' or 'proxy' objects that allow limited and streamlined access to the real underlying internal classes. This should keep the security of nice and tight, but still give the right degree of freedom to game scripts.
As time goes by, I feel myself continually reminded that the last finished, polished, released game I've made was Membrane Massacre, which was all the way back in March '07. A whole year and a half has passed by and I still don't have a new completed game to show after all of this time.
It makes one want to finish a game. Skirmish will be finished -- surely! -- but the timeframe for it is a lot larger than any other project that I have undertaken. It makes one want to go on a little tangent for a month or two and finish a small/medium-sized game just to relive the fun of making those awesome non-behemoth games.
We'll see what happens. [smile]