Did ol' day RPG use some kinda scripting system?

Started by
9 comments, last by Bow_vernon 13 years ago
The title says it all. I just had a nostalgia playing secret of mana with snes emulator. I wonder if the game used some kinda scripting system, since the machine was slower than nowadays machine(even P1 is faster) and scripting does take some CPU time. Any insight?
Advertisement
I can't say for Secret of Mana, but Ultima series does have it's own scripting system. However, by hacking certain game save files, I can say that some game use item controlled, and area controlled.

eg:

- if you have this item, it mean you already did this.
- if you are here at this location, it mean you already do this.

this allow you to limit things that need to be remembered / processed at a time.

The title says it all. I just had a nostalgia playing secret of mana with snes emulator. I wonder if the game used some kinda scripting system, since the machine was slower than nowadays machine(even P1 is faster) and scripting does take some CPU time. Any insight?


Apollo Guidance Computer used virtual machine and scripting language. It was a 2 MHz CPU with 2kB of RAM and 36kB of ROM.


Sierra games developed everything completely in scripted VM called AGI from 1984 onward. The PCs of that era had comparable specs to SNES. Same for LucasArts' SCUMM.


A scripting system does not mean slow or "too slow". Typically it only refers to not using native instruction set directly but instead interpreting something else on the fly. The process can be very efficient.

There are also Lisp machines.
RPGs don't need to run those scripts all the time either, but only upon specific actions (e.g. talk to character), so the speed impact is, like, zero =P

I'm going to bet many early RPGs (like fourth console generation and earlier) probably stored a list of conditions as binary data, instead of using proper scripting (or bytecode, for that matter), just to cut down on space usage (and because it was probably easier, considering many of those games were written in assembly!).
Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.
But still for certain action you need to keep checking right? talking(npc needs to check whether char is close and is pressing action button), picking item(the items need to check if player just picked it up)?? Or Im wrong? wow this could give more insight to more efficient scripting system... :)
Short answer: yes, they used scripting systems.

Typically, on consoles at least, they used proprietary scripting "languages" "compiled" to a proprietary bytecode. But the scripting system was usually rather constrained compared to what we nowadays think of as a scripting system. They generally would not be teeming with scripts all over the placed attacked to every conceivable object in the game world - rather, they would have scripts that determined NPC movement paths, dialog/event scripts called when an NPC is interacted with or an area is entered, things of that nature.

For example, an NPC wouldn't have a script running to determine if a player "is close and is pressing action button", because that wasn't considered the NPC's "responsibility". Instead, the game's input handler would deal with it; if the action button had been pressed, it would check to see if there were any objects in a position to be interacted with, and if there were, it would run the script associated with that object. If the player is moving, every time the player moved into a new space the input handler would check tif there was a script associated with the new coordinates, and if there was, it would run it.

Essentially, in console RPGs, the scripting system was simply an extension of the dialogue system, rather than an all-encompassing meta-language in which the entire game could be run completely within the confines of the scripting system.
Golden Rules of Gameprogrammings in my Shelf says:
1 line of Script is worth a thousand lines of Code.
I think that is as true today as it was back there.
Because an Artist/Designer can learn to do simple scripts, but he will never learn how to program because then he would be a programmer :P.
If you say "pls", because it is shorter than "please", I will say "no", because it is shorter than "yes"
http://nightlight2d.de/
Nice response, it gives me idea on how to design my scripting system, thanks a lot! :)
Don't design you own scripting language, use AngelScript, m8. Forums are here on Gamedev and it is extremly easy to get it going if you know basics about C++.
http://www.angelcode.com/angelscript/
If you say "pls", because it is shorter than "please", I will say "no", because it is shorter than "yes"
http://nightlight2d.de/
Some old games did their 'scripting' in native assembly code.

This topic is closed to new replies.

Advertisement