Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.


I want to design it for a guy who’s totally frazzled by his job and needs a way to temporarily escape. There’s a certain class of games… where you just get into a trance when you’re playing them. As long as you’re in this trance you’ll do fine.” — Dave Theurer, designer and programmer of the original Atari Tempest.

Tempest was a popular arcade game in its own right, but it wasn’t until Tempest 2000 that I became enraptured with the series. The seizure-inducing flashes of light, bright colors, electronic soundtrack, and twitchy gameplay all just hit home for me. There’s no need to rehash what’s been said elsewhere: Tempest 2000 is one of the best arcade shooters out there and Jeff Minter established himself as a sort of godfather of this kind of twitchy, flashy, over-the-top game.

I enjoyed one of his games earlier in my life without realizing it, too: Attack of the Mutant Camels.

Later, TempestX3 was released for the PlayStation. It was a little controversial among Tempest players (and Minter himself) since it was basically Tempest 2000 but with some fundamental rule changes. Minter wasn’t involved in that release, but for a long time, it was my favourite entry in the series. After all, it was still a Minter-style Tempest.

I was pretty excited when Tempest 4000 was released this year. Unfortunately, it was pretty underwhelming in a way that’s hard to describe. It felt more like the original Atari arcade version of Tempest than it did the twitchy-flashy Tempest 2000. Who knows why this is, maybe Minter was asked to tone it down for fear of causing a mass Pokemon-style seizure event. It really didn’t seem like his style.

Instead, let’s warp back to the year 2006 and appreciate Typhoon 2001. This Tempest clone by Thorsten Kupholdt was released in binary-only form as freeware, but not open source. Quite frankly, I think it might be even better than TempestX3. The graphics are more vibrant, more colorful, the sounds deeper and more satisfying. The scoring system is dynamic, rewarding earlier kills with higher scores than later kills. It even ships with the original Tempest 2000 music, which is great (legality issues aside.) Apparently Minter himself played this version and was impressed.

Based on some browsing around the Internet Archive’s Wayback Machine, it was abandoned sometime in 2013.

It’s easy to find Typhoon 2001 binaries out there on the Internet, and thanks to it being statically-compiled, it does run on modern (circa 2018) Linux distributions. However, there are a lot of complaints out there about the sound not working. The reason why is because Typhoon 2001 was compiled with the Allegro sound library. A little use of “strace” reveals what it’s trying to do:

openat(AT_FDCWD, "/usr/local/lib/allegro/4.2.2/modules.lst", O_RDONLY) = 3

It’s unfortunate that this path appears to be hard coded into the binary, but here we are. Since Allegro itself is statically-compiled into the binary, it’s not looking for the library itself, but for the modules that came with it. These modules work as a sort of translation layer between Allegro and whatever sound device or API you have (which, for most people in 2006, would be ALSA.)

So, it’s just a matter of finding a 32-bit Allegro 4.2.2 binary package. Debian seems to be the easiest source of these: the one I got had a filename of liballegro4.2_4.2.2-3_i386.deb. All you need to do is copy just the module files over to /usr/local/lib/allegro/4.2.2/

You can also put those modules into any directory (for example, an “allegro-modules” directory off of the Typhoon directory so that it’s easy to keep all these required binaries in one place). If you do so, it’s necessary to call the Typhoon binary with the ALLEGRO_MODULES environment variable like so:

$ ALLEGRO_MODULES="allegro-modules/" ./typhoon

After that, you should see the appropriate module load in strace, and the sound should work perfectly.

Happy gaming!

OpenTTD Enhanced Gameplay

OpenTTD is an open-source clone of the Transport Tycoon series of transport business simulation games. While it’s a lot of fun to play, especially multiplayer, the default gameplay quickly becomes old or stale to experienced players:

  • There’s a runaway effect where if you accumulate enough wealth, it’s almost impossible to lose. The game quickly degrades into a painting game where you can run transportation networks virtually anywhere without penalty.
  • The variety of industries is low making it easy to connect all available industries in a short amount of time. There are only so many times you can transport the same type of cargo over and over before boredom sets in.
  • Industries disappear if you don’t transport cargo to them within a few years, leaving the map an empty wasteland instead of a puzzle of industries waiting to be serviced.
  • Rail upgrades are tedious when monorail and maglev become available. To upgrade from one type to another, you need to move all existing trains to a depot, sell them all, upgrade the tracks, then create all new trains of the new type. That’s not realistic, and it’s not fun.
  • Passengers are just cargo and don’t feel like a unique part of the rail network.

The runaway effect can be solved by changing the ‘Infrastructure Maintenance‘ option (set to false by default) to true. This means any infrastructure (such as rails and rail signals) have a recurring maintenance fee. This heavily penalizes random, long-distance builds, but rewards re-use and efficiency of infrastructure. It’s very easy now to bankrupt yourself even in the late game with this turned on, so builds need to be thought out strategically instead of just built out like a model railway set.

FIRS is a complete industry replacement set that’s been in development for years. The developers have carefully planned out complex economies that make for interesting, dynamic gameplay. For example, you might want to start with a company that specializes in transporting oil products, or metal cargoes. Each of these sub-economies are each individually more complex than the default OpenTTD economy.

(You should be able to see an enlarged, up to date version of the economy map here, but that link might go stale as this article ages.)

A lot of the economy in FIRS is circular. For example, you can run iron ore from a mine to a steel mill. The mill produces metal, which you can take to a smithy. Then the smithy makes engineering supplies from that metal, which you can run back to the iron ore mine. This increases production at the mine due to the increased efficiency of having engineering supplies on hand. This makes for very interesting and rewarding gameplay and solves the low industry variety problem of stock OpenTTD.

FIRS also allows you to manipulate how industries open or close. Changing “Allow secondary industries to close” to “off” fixes the ‘industries disappear’ problem. Now all industries on the map at generation time will remain there until the end of the game, presenting an interesting puzzle to be solved over time instead of a race against the clock to supply industries before they disappear.

FIRS combined with the Iron Horse train set completely eliminates monorail and maglev vehicles available in stock OpenTTD. This is because FIRS mainly concerns itself with transporting cargoes by regular rail only. Transporting passengers is possible (between towns and hotels), but such routes are not as profitable as a full industry loop is. FIRS is an industry-focused set. This leaves the door open to add in a few more sets to OpenTTD that concentrate on transporting passengers:

  • FooBar’s Tram Tracks for trams and trollies moving small numbers of passengers within a city or between two cities close to each other,
  • Metro Track Set to transport massive numbers of passengers over short distances,
  • Maglev Track Set which offers many high speed rail tracks capable of transporting passengers long distances at very high speeds.

Typically in the real world passenger rail networks (commuter rail, subways, or LRT’s) are segregated from heavy freight railway networks. These track sets allow the construction of unique passenger rail networks with distinctly different properties. Since FIRS doesn’t concern itself much with moving passengers around, these sets fit the missing piece of the puzzle very well.

Since FIRS combined with Iron Horse don’t provide monorail or maglev, there’s no need to upgrade your freight network from regular rail (be it steam, electric, or diesel.) Regular, “heavy” rail will remain in use throughout the game from beginning to end as a core part of gameplay, which wasn’t true in stock OpenTTD.

In the early game, simple tram stations stimulate city growth. In the late game, only high speed rail operates at very high speeds (up to 600kph), but since high speed rail can only transport passengers or mail, it can’t be abused like in stock OpenTTD to transport heavy industrial cargoes. This makes for much more interesting gameplay with a great amount of variety. It also eliminates the need to tediously upgrade your freight network from standard rail to maglev or monorail, and creates realistic passenger networks.

These late-game passenger networks take on a look similar to Taiwan’s High Speed Rail, or Japan’s Shinkansen network.

With all of these modifications, OpenTTD is transformed into a long-running, complex simulation with high difficulty and strong variation between games. It remains interesting throughout as key milestones are reached. We like to start at the year 1860 to allow for a long time to develop the freight networks:

  • 1860: Game begins, only steam locomotives available.
  • 1872: Trams become available, offering early city development opportunities.
  • 1900: Metro becomes available, high-density passenger transport over short distances.
  • 1919: Electric trains available, seamless upgrade of existing freight rail network to electric.
  • 1954: Diesel trains available.
  • 1984: High Speed Rail begins to unlock.
  • 2051: Game over.

The end result is a complex freight network that covers the entire map, densely built cities with tight metro systems, and long lines of high speed passenger railways.

As of this writing, here are the exact versions of each NewGRF set used. The station sets are cosmetic only, but are great for building unique stations:

Kobolds – Tales of a Casual Legacy Player

I’ve been playing Magic: The Gathering since I was introduced to it by a high school librarian in 1994.  Most of my experience with Magic has been at the casual level.  The goal for the most part was to find as many friends as possible, play huge multiplayer games around a dining room table, and worry more about having fun than being competitive.  I have great memories of Sol Ring, Demonic Tutor, Royal Assassin, and Rocket Launcher just being huge bombs in these games.

sol-ring  demonic-tutor  royal-assassin  rocket-launcher
In about 2014, I slowly made the switch to becoming a more competitive player thanks to the rise in popularity of real-time streaming (Twitch) and produced content (Youtube.)  These have been invaluable tools for helping a casual player understand competitive play and the strategies involved.  However, I still love revisiting my casual roots from time to time, and there’s been one challenge in particular that I’ve been obsessed with since those early days of Magic, and that is the kobold deck.

Kobolds are unique in the fact that the smallest members of the tribe cost nothing to cast.  When they were first introduced in Legends, the only synergy they had in the set was with their fellow creatures, and this made for a very weak tribe.

kobolds-of-kher-keep kobold-taskmaster kobold-overlord kobold-drill-sergeant crookshank-kobolds crimson-kobolds
The rare legendary kobold “bomb” lord of the set was terrible, even by the standards of the day.  Could you imagine opening your pack of Legends and getting this guy as your rare?


So the best that a kobold deck could hope for at this point was to get a few of the 0/1 kobolds on board, maybe attach a Giant Strength or play Blood Lust, and combined with a Kobold Taskmaster or two, swing in for a bunch of damage.  The problem is that this plan was easily ruined by the usual suspects: a strategic Lightning Bolt on Kobold Taskmaster wipes out damage from a bunch of kobolds.  From Legends specifically, Pyrotechnics could be a four-for-one in some circumstances, and Chain Lightning did a lot of work against the kobold deck as well.

lightning-bolt pyrotechnics chain-lightning giant-strength blood-lust
Kobolds in this form were not really playable (even casually – the deck was easily wiped out by every other deck out there), until the advent of Urza’s Legacy with Falter and Bravado.  Attaching Bravado with five or more kobolds on board was great value at two mana, and with the addition of Falter, at least the Kobolds had a way to punch through a defensive line to deal damage.  Combined with Final Fortune, it could do it again to get lethal damage through.  Card draw at the time was fixed by having Wheel of Fortune in the deck, but this usually worked against the kobolds deck as the opponent’s “fuel in hand” was a lot more potent than anything the kobold deck could draw.

bravado falter final-fortune wheel-of-fortune
When Kamigawa block was released, the deck took an interesting turn: by adding green.  Since the 0/1 kobolds cost nothing to cast, it made Glimpse of Nature very powerful.  Now the strategy shifted to finding a source of green, playing as many kobolds as possible, drawing as many kobolds as possible, and then closing it out with a few big attacks.  Green also allowed the addition of Yavimaya Hollow, which allowed you to protect some of your more valuable kobolds by regenerating them, and Alpha Status, which made it easy to create massively-sized kobolds.  At this point, the deck also included Lotus Petal so as to help ramp into these cards.

alpha-status glimpse-of-nature lotus-petal yavimaya-hollow
But the most impactful addition to the kobold deck, the card that has caused the deck to win more than any other card, is by far Shared Animosity.  Combined with Glimpse of Nature, it was possible to get an entire army of kobolds on the board quickly, and then attack as a team the next turn for massive damage.  If you were lucky enough to get a Kobold Overlord or Kobold Drill Sergeant on the board, then that meant this team had first strike and/or trample as well, and would come in for over twenty damage with just five kobolds on the table.  Shared Animosity replaced Bravado entirely and launched the kobold deck from unplayable to explosive – it actually started to function like a red aggro deck should.


It was around this time that I had learned of Duels of the Planeswalkers 2014, which I spent a considerable amount of time playing.  A lot of people might slam it for not being “real Magic”, but Duels made Magic sound and feel more like an arcade game, and it let me experiment and have fun with a lot of casual decks.  Really, Duels of the Planeswalkers is everything a casual or beginning player could ever dream of.  The scripting language used to code cards within the game was easily modified, so I even cooked myself up the kobold deck in Duels of the Planeswalkers – here you can see me taking it for a spin against “Chant of the Mul-Daya”, a green ramp Eldrazi deck.

2015-05-31 16.42.17

My prized kobolds even looked great in the new card frame:


Shortly thereafter, I decided to become more serious about the way I played Magic, and joined Magic Online.  Surprisingly, aside from the massive amount of experience I gained playing competitively on Magic Online, there was also a thriving group of casual players.  Having put together a kobold deck on MTGO and put in a lot of repetitions with it in the casual play area, I tweaked the deck some more and the end result looks something like this (click to see a clearer, larger version):


You’ll notice that Wheel of Fortune is gone, and in its place is Browbeat, which works great for the red aggro player either way (as opposed to Wheel of Fortune, which fueled your opponents hand as well as yours, Browbeat only draws you cards, if that’s what your opponent chooses.)  Lotus Petal was shed, Mikokoro was added for some extra card draw, as well as Gamble to help you find that missing piece (best used when you have a grip full of disposable kobolds so as to minimize odds of the fetched card being thrown away.)  The deck also adds Steely Resolve from the sideboard now for some protection against decks with heavy removal – you side out Alpha Status for those.  I’m still torn on the role of Adaptive Automaton and Door of Destinies though, and I’m still experimenting with the best balance for these cards from the sideboard:


Playing the deck itself aside, it’s been a lot of fun to talk to people about the deck, too.  It’s not meant to be a competitive deck, and I’ve had some great discussions with people in the MTGO “just for fun” room about it, even if they’re quick one-liners like “cool deck.”  Then, there are the not-so-great experiences with people who take “casual Magic” a little too seriously.  Take this conversation I had with a friend of mine about one particularly salty opponent:


I guess if opponents are scooping to the deck round one, turn one, I’m okay with that.  As of this writing, the deck is about $60 to buy through the various bots on Magic Online, which I think is very affordable so far as casual legacy decks go.

This deck has been a lot of fun to play throughout the twenty or so years and hundreds of repetitions.  Kobold creatures present a very unique Magic challenge in the sense that they’re very bad from a card advantage point of view: you’re wasting a card to be a very weak 0/1 body that does nothing on the board for the most part.  The deck is ridiculously weak to removal, it’s very linear, and doesn’t really interact with the opponent.  Trying to figure out a way to turn these dysfunctional creatures into something fun and powerful at the same time has been a great challenge, and one that I hope to keep up with for many years to come.

VGDB – The VideoGame DataBase

The VideoGame DataBase (VGDB, or was first inspired by the Digital Press Collector’s Guide as a way not only for collectors to keep track of which games they owned, but to track the values of video games as well. Video game pricing is an ever-changing marketplace, so the intention of VGDB was to be an amalgamate of data from across the Internet in regards to game values. Collectors would be able to track which games they owned, and their respective ‘buy’ and ‘sell’ values.

This was accomplished by scraping various websites that provided pricing data. Digital Press was the source of the base video game lists.


VGDB was also used by a major retailer for tracking store inventory and buy/sell prices for games. This data was also blended with the data scraped from the web. This has since been discontinued, but in the three year span that this was in place, VGDB recorded 15,115 transactions for this retailer from 2011 through 2014.

During this period, the top ten games that saw the most trading activity include:

1. Super Mario World (SNES)
2. The Legend of Zelda: Ocarina of Time (N64)
3. GoldenEye: 007 (N64)
4. Mario Kart 64 (N64)
5. The New Super Mario Bros. (DS)
6. Diddy Kong Racing (N64)
7. Super Mario All-Stars (SNES)
8. Super Mario 64 (N64)
9. Perfect Dark (N64)
10. (tied) Donkey Kong Country (SNES)
10. (tied) Super Mario Kart (SNES)

This data supports the idea of a ‘curve’ in video game collecting. The idea is that around the time people become older (their late 20’s or early 30’s), they want to re-purchase the games they remember from childhood. At the time period that this data was captured, that’s clearly the Super Nintendo on the downslope of the curve, and the Nintendo 64 rising above it.

Unfortunately, without someone to focus time and energy into improving the site, VGDB rapidly became outpaced by its competitors. In particular, Video Game Price Charts was registered a year before VGDB and became the de-facto source for video game pricing data on the Internet.

Given that there’s no point to maintain a site that is no longer in active use, and with out-of-date pricing data, the site has been retired. This blog entry remains as a memorial for the short experiment that it was – if you want current, relevant pricing data for your games, please visit Video Game Price Charts.