Sign in to follow this  
Bow_vernon

Did ol' day RPG use some kinda scripting system?

Recommended Posts

Bow_vernon    323
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?

Share this post


Link to post
Share on other sites
FableFox    699
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.

Share this post


Link to post
Share on other sites
Antheus    2409
[quote name='Bow_vernon' timestamp='1302446376' post='4796690']
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?
[/quote]

[url="http://en.wikipedia.org/wiki/Apollo_Guidance_Computer#Software"]Apollo Guidance Computer[/url] 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 [url="http://en.wikipedia.org/wiki/Adventure_Game_Interpreter"]AGI[/url] 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 [url="http://en.wikipedia.org/wiki/Lisp_machine"]Lisp machines[/url].

Share this post


Link to post
Share on other sites
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!).

Share this post


Link to post
Share on other sites
Bow_vernon    323
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... :)

Share this post


Link to post
Share on other sites
Anthony Serrano    3285
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.

Share this post


Link to post
Share on other sites
NicoG    172
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.

Share this post


Link to post
Share on other sites
NicoG    172
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/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this