Thanks to a tweet (in Spanish!) from Zona Fi, I have learned of not one but two series of adventure games being written in my toolkits for building Scott Adams-format adventure games!
The first is written in ScottKit, the newer and better of the two:
It is Jason Compton’s Ghost King, an interpretation of Shakespeare’s Hamlet, which you can play online at Netlify (though I can’t find a way to download it). Continue reading
A few years ago, I got into playing Skyrim on our XBox 360. There are many wonderful things about Skyrim, including its immersive sense of place, its vast and varying geography, its brooding landscapes and complementary atmospheric music, its epic scope, its interesting NPCs, its endless range of ways to power up, and so on.
Early in the game, when cash was scarce, I got into a routine that each dungeon I entered, I would carefully loot every vase and chest, and strip every monster I killed of its weapons, armour and valuables; then when I was done I’d return to civilisation and sell off the spare armour, weapons, etc. Continue reading
Starring Gandalf the Grey.
It’s probably best thought of as a sound collage, and one that I find strangely relaxing.
After the recent sequence of ScottKit tutorials (building games, rooms and items, actions, occurrences, darkness and light), there remain only two major concepts left to introduce: counters and saved rooms. But before we launch into those, we’ll take a break and look at some standard bits and pieces we’re likely to include in most or all games. We’ll use the same map as last time, since we’re making no major changes:
Last time out, we learned how to have things happen to the player in ScottKit; that was the natural complement of the player doing things, which we covered the time before. Today, we’ll use that knowledge to deal with darkness, light, light sources, and their expiry and refilling. Here’s the expanded map:
Last time we looked at how ScottKit games handle the player’s actions. But sometimes you need actions to happen independently of what the user does. If you’re in a frozen wilderness, maybe there’s ten percent chance each turn of freezing to death; or if there’s a thief here and you’re carrying a crown, he might steal it.
That’s what we’re going to look at this time. Here’s the map for today’s version of the game we’re working on:
Last time, we saw how to make rooms and items in ScottKit. We used these to build a small but not completely trivial game with three rooms, in which you can move through from the start room to where a coin is found, and bring it back to where you started.
Now we’re going to see how to use actions to code up puzzles. Here’s how the map of the game is going to look when we’ve finished with it today:
As you can see, the rooms and exits are basically the same as the map for the previous iteration, But we’ve added a couple of items and — crucially — the first puzzle.
Last time, we learned how to write, build and play games with ScottKit. But the game we made was absolutely trivial: two rooms, connected. The only thing you could do in the game was to move back and forth between the two rooms — and even that only worked because GO (and the six directions acting as verbs) are built-in commands. This time, we’ll expand the game: here’s a map of the expanded version.
Compared with last time, we’ve added one more room (the cell) and our first two items. One of the items is a treasure, as indicated by its name starting with an asterisk.
So, I finally published ScottKit. Now what? What can you do with it?
You can build your own games, that’s what! Adventure games of the GO NORTH, GET LAMP, KILL TROLL variety. If that seems limited to you, consider that the same mechanisms can easily underlie games in any setting, and with any theme. It’s a style of gaming that gets you a lot of game for relatively little work: for example, the source code for Scott Adams’s own classic Adventureland, as decompiled with scottkit -d, comes to only 22 Kb.
The original late-1970s artwork for Adventureland. In those days, any kind of cover art was unusual: quality was not always assured.
I’ll write more about the charms of this kind of game creation in a subsequent post, but today I want to get you started in creating games.
Those of you who have been reading this blog since 2nd March 2010 — just three days after the blog was born — might remember the fourth post I ever made here: Learning a language vs. learning a culture, on my switching from Perl to Ruby. Way back then, I wrote about “ScottKit — my first non-trivial Ruby program”. Here it is!