The Big Decisions
Mar 14, 2015
When I asked what we could do to make this dev blog better, one of the suggestions was to talk more about the decisions Gary and I are making. The hard, tough decisions that can make or break a project. The decisions that can mean the difference between a flop and an enduring cult classic. The decisions we look back on and realize how close we came to disaster, if not for our years of experience and highly tuned design sense.
Well, today I wrestled with just such a problem, so I thought I'd share.
Tool names. Yeah, I know. Not sexy. Sorry for the dramatic build up.
I always struggle with what to name tools. I know they are just tools, tools that me and one or two other people are ever likely to see, but it's still important to me. Tools names should reflect the character of the project or engine. Nothing is worse than an object editor called "Object Edit".
The name and theme of the SCUMM system was a wealth of fun tool names. It was rare we couldn't think of a good one (and one or two that were too gross to use). If the SCUMM system hadn't been called SCUMM, I don't know what it would be talked about today. Maybe I'm wrong about that.
SCUMM was the name of the engine, but it was also the name of the compiler, not the run-time engine like many suspect. The name of the run-time engine was SPUTM.EXE (renamed to MANIAC.EXE or MONKEY1.EXE when we shipped).
MMUCUS was the tool that crunched all the raw art and script assets into .ROO files that were packed into .LFL files when the final game was built (all the bytes were XOR'd with 0x69 to make the files virtually uncrackable - eat on that SSL).
CYST was the character and animation editor and BYLE was used to create fonts (or maybe it was the other way around, I forget).
FLEM was a GUI tool that allowed the game programmers to define objects, object states and the walk boxes. This was all before Windows, so the GUI was all hand written and very "8-bit". Of course, back then we didn't call it 8-bit, we called it modern, cutting-edge, and the future.
The Thimbleweed Park tool I'm working on now is our equivalent to FLEM.
Problem is: I didn't have a name for the tool and it was driving me crazy. Yeah, I know. First world problem.
The vast library of code that I'm building our engine on is call GrumpyLib and has existed for years. It was the used in Word Spiral, The Big Big Castle, and Scurvy Scallywags. It's not really an engine as much as it is just a bunch of cool code I use to solve problems.
My job over these first few months of Thimbleweed Park is to take all this code and build some kind of a 2D point & click engine (the easy part), but I wasn't sure what to call the engine (the hard part).
Naming an engine is important because it sets the tone and theme for all the tools.
Based on my library of code being called GrumpyLib, I've decided to call the engine Grumpy and the FLEM-like tool I'm building now is called Wimpy.
I feel like I have a naming system for tools now. The project can finally begin for real.
For my Monday post, I will do a video demonstration of Wimpy and if you're nice, I might even post some code.
- Ron
Wimpy's good. I will gladly pay you Tuesday for a demonstration on Monday.
Sounds like Adventure Game Characters to me :-)
Love to read these blogs. Makes me want to create an adventure game again.
I think you're totally right about naming engines; it's always a magical moment for me in Monkey Island 2 when the part "Scumm(TM) Story System by Ron Gilbert, Aric Wilmunder, Brad. P. Taylor and Vince Lee" shows up on the screen. Ok, part of it is seeing how the engine that was written for a game four years earlier made it that far and also seeing your name in games (even after you left LucasArts), but I always thought the name was really cool. I also liked the fact that LA stayed in that tradition when they named their 3D engine GrimE. Anyways, I think for the random player, the name of the tools doesn't matter, but certainly for the people who use them and also for us adventure players who get a kick out of little details.
Thank you again!
In an Gamasutra article [1] Aric Wilmunder says that
- SCUMM = compiler
- SPUTM = interpreter
- FLEM = room editor
- MMUCUS = room file bundler
- SPIT = font editor
- BYLE = animation tool
- CYST = successor to BYLE
[1] http://www.gamasutra.com/view/feature/196009/the_scumm_diary_stories_behind_.php?page=2
Best post so far!
I wonder what it will be good for...
It will be like opening Ron's mind and looking directly at his ideas.
It's been my dream for years.
Don't destroy my dream.
Why are you mad at me?
What did I ever do to you?
I don't want to look at your code anymore!
...
I'm sorry.
Please show us some code on moday!
(cough)
VAST Versatile Adventure System Tool
INGOT INteractive Game Operator Tool
INLET INteractive Logic Entertainment Tool
INPUT INteractive PUzzle Tool
INTEREST INTERactive Entertainment System Tool
This thing spits 'em out by the dozen if you enter a few words. :) But Grumpy is grumpy, and doesn't sound boring at all :).
Examples:
TWEED (-Engine Editor)
TWIRL (-Intuitive Random Library)
...
and so on your fantasies!
TWINS ( Thimbleweed Interactive Narration System )
TWIST ( Thimbelweed Interactive Scripting Tool )
But Ha in a good way, like "yes, make that happen".
(The second "P" is silent.)