Scripting as strategy game interface

Started by
5 comments, last by Telluric 15 years, 6 months ago
A couple of times every year I replay the original XCOM game. But there is one thing I miss in this game and also in many other similar ones. Namely some kind of "keep-it-this-way" control. Like "I always want at least 20 spare rifle clips in this base". When I use up some ammunition during a mission, then new ammo should be bought automatically (or let me view the replacement order). Maybe this is the programmer in me, but I would love some kind of lightweight scripting for this kind of situations in strategy games. Would a "normal" person like this you think? Do you know any other rare or nonexistant interface feature that you feel would improve games, strategy or otherwise?
Advertisement
Most games could use a better interface, though scripting isn't a big one. Even as a programmer, I don't want to learn some (likely half-assed) domain specific language to play a game.
The user interface could be made such that the player never really needs to remember any syntax. For instance, you could use pull down boxes to choose control structures and dynamically add other gui controls where it makes sense. Something like:
(WHEN)(Skyranger is Resupplied):  (IF) (Base Supplies)->(Ammunition)->(Rifle Clips) is (Less than) [20]:    (ORDER) (Ammunition)->(Rifle Clips): [10]


Where the parenthesis indicate pulldown boxes and the brackets indicate number fields. Imagine that the form starts with a single pulldown box and that new fields are added dynamically. Obviously the language would need to be simple enough to not overwhelm the user with options and so that it can be parsed on the fly to generate the dynamic forms. Huge pain in the ass? Yeah probably, but doable.

I think a better strategy would just be to play test a bunch and add the simpler features that are overwhelmingly requested by users. Like in this case you'd just add a checkbox for "keep supply at this level".
I agree with Telastyn-- I've got enough quirky languages to learn, and even the old mission scripting of Starcraft was enough to annoy me.

If this is for general housekeeping, I think you're far better off with settings and sliders. You'd probably have to build a game around the scripting and make it icon driven to attract anything more than the ultra-hardcore geek.
--------------------Just waiting for the mothership...
You could have some sort of simple graphical command builder but unless its going to be a core gameplay element I would recommend just doing a lot of play testing to root out common annoyances.
Have you played Final Fantasy XII? They used something of a scripting system to handle AI functions of characters in your group when you weren't in control. It was totally GUI controlled and was pretty much as set of predefined criteria that could be associated to an action.

They had criteria like health < 20%, health < 50%, player is blind
And actions like cast cure 1, cast heal, etc.

The key to doing any system like this is to keep it simple. The moment you introduce conditional logic, you've gone too far and have likely lost a lot of players.
There is an interesting crossover between a simulation and RTS/4x the more rich you make a set of scripting behavior in the game.

At it's core, SimCity was the output of a scripted system. You were informed of important events that needed your attention, but by and large you planned a general set of behavior for your city (tax rate, fire and police presence, investment in industrial/commercial/residential) and the game played itself.

Contrast with Starcraft, where nothing other than gathering resources happens without your direct intervention - and resource gathering must be guided to some extent as well.

Is it possible that you aren't interested in so much a scripting system as an automated one? As SimCity shows, you could develop a fairly complex system that operates itself, but what are you freeing up the player to do? The game of Starcraft is in the managing of the system - without a system to manage, there is no game in Starcraft.

Scripting could be a key to scale or changes in scale (drill down or abstraction) - perhaps that would be it's primary value. A 4x with growth over time like say Spore; you go from perhaps a small group to nation to world to system to galactic and as scale changes, you can still go back to previous levels and automate them with a scripting tool.

This topic is closed to new replies.

Advertisement