Gearheads: Terrain Features

I did another stream. I’m still having the same framerate problems, which I mysteriously didn’t have in my first session. But instead of describing that, I want to go into a little detail about some mechanics in Gearheads that I haven’t described previously.

In addition to varying the toy types available to both sides, most levels distinguish themselves by varying the terrain. Outside of the special levels, which all have unique graphical themes, there are four main variations, apparently called “kitchen”, “garden”, “frozen pond”, and “factory”. The kitchen levels are just plain tile floors without any special features. Garden levels sometimes have strips of mud, or heavy rocks, or insects crawling around and getting in your way — all things that impede your progress and force you to wind your toys more.

Rocks are also sometimes found on the Frozen Pond levels, but Frozen Pond’s more distinctive feature is the cracked spots that turn into holes when trodden on repeatedly. One the game’s merrier points is watching the computer AI obliviously send toys into these holes. Diagonal-moving toys (the kangaroo and the zap-bot) seem particularly prone to this. I have to admit that I myself can’t always predict the trajectory of a diagonal mover with any accuracy, but at least I notice when it leads into a hole and stop launching more along the same path. Even without these features, though, ice levels are slippery. This greatly affects how toys interact. Less friction makes it harder to immobilize a heavy pusher like Big Al by throwing mass in front of it, but also means that collisions tend to send the lighter toys careening backward. And that means that they tend to escape collision effects that require proximity, like the Deadhead’s scream or Disasteroid’s blaster. So you have to get used to things operating by different rules, although the result does kind of come down to “Try to win quickly with fast things”.

Factory levels tend to be the most complicated. They have three distinctive elements: impassible obstacles that raise and lower in a set rhythm, pusher tiles that act like conveyor belts but don’t look like them, and portals. The pushers can be oriented in any cardinal direction. If they’re oriented horizontally, they’ll make things easier for one player and harder for the other, and presumably for that reason, they always seem to be placed in symmetrical pairs. Portals always come in pairs, one that’s an entrance for left-going toys and an exit for right-going, and another that’s the reverse. I tend to think of portals in games as shortcuts, but in this game, they tend to function as the opposite: two rows will have paired portals poised to catch toys just before they reach the finish line and send them back to traverse the same distance again. Not good for scoring points, but great for keeping defensive units like Krush Kringle on the screen longer.

Still Streaming Gearheads

I’ve done a second streaming session. I intend to keep doing these until I get it right, which I clearly haven’t yet. I managed to keep up the patter better than in my first session, and I managed to get all the way from level 1 of Gearheads level 24 in one go, but my changes to the OBS streaming settings seem to have made the lag/framerate problems worse, not better. I’ve looked at the resulting video, and it’s at the point where it’s best described using seconds per frame instead of frames per second.

Well, I have some more ideas to try, starting with reducing the resolution (default resolution is a waste for this game) and shutting down all other devices that use the Internet. One obvious thing that I actually mentioned on the stream is to switch from the Mac laptop I’ve been using to my more-powerful Windows desktop, but for whatever reason, DOSBox runs a lot better on the laptop. If I play from the desktop, improving the streaming won’t matter, because a stream that perfectly replicates what I’m seeing on my screen would still contain noticeable hitches.

In short, via streaming, I have managed to turn Gearheads into the sort of technical challenge that I’ve always found easier to blog about than game content. If you want to watch tonight, the URL is https://www.twitch.tv/muckenhoupt.

Gearheads: First Stream Report

So, I spent more or less a full day of tinkering with streaming software, gradually finding answers to questions like “How do I make the game fill the screen?” and “Why isn’t there any sound?” The software I used, OBS, is capable of recording video instead of (or in addition to) streaming it, so you can fiddle with settings until it’s right. Nonetheless, there seem to be some streaming-specific problems that you don’t get from a local recording. I set twitch to keep a recording of the stream, and the recording has problems with laggy pauses. It seems to me that they correspond to points where there’s a lot of sound. I’m trying fix that by following advice online, but the only way to know if it works is to do another stream. So there’s my motivation to do more streams right there.

I didn’t make any progress in the game. I got as far as that Disasteroid vs Cockroach level a few times while trying to set up the streaming software, but no further. During the stream itself, I decided to start Tournament Mode from level 1, so I didn’t get anywhere near there. Doing this reminded me of something I had forgotten: Every level you win gets you an extra life. So there’s a potential strategy of starting from level 1, where it’s easier, just to accumulate enough lives to get through the later levels. But you’d have to be a lot better at the game than me to apply this strategy. I’ve only made it as far as level 25 once, so any strategy that starts with “play all the way through level 25” is a no-go for the time being.

I didn’t really give advance notice of the first stream, because I didn’t want much of an audience for my first try, but I’ll probably be doing them daily at 6:00 PM Pacific time (9:00 Eastern, 2:00 AM UTC) for a little while, whether anyone watches or not.

Getting Back Into Gearheads

Let’s rewind a bit. Apart from Galaga: Destination Earth, which is shelved due to technical problems, the last game I started but didn’t complete on this blog was Gearheads. Can I polish it off before year’s end? Maybe. I was pretty far along, having gotten through the first 24 of its presumed 36 levels.

Trying it again just now, it took me a full game to get used to the controls again, but in my second go, I started from level 25 and and reached level 30, a special level where you have Disasteroids (the unstoppable killer robots) and the computer opponent has cockroaches. This doesn’t mean as much as it sounds like, though. As I’ve noted before, this is a game that, despite never having been a coin-op arcade game, is built on the coin-op arcade game model. It doesn’t save your progress, and it gives you a limited number of lives before you have to start over. You can start over from level 13 or 25 if you want, but if you can only get through six levels before game over, you’re not going to reach the end.

I recently noted how steady incremental progress kept me coming back to Creeper World 3: Arc Eternal. Lack of progress has, I think, had the opposite effect with Gearheads, making me slightly dread the prospect of devoting effort to it, even though it’s a perfectly good little game, and not even all that hard, due to the luck factor. But my impatience to win hurts the experience. I’m considering spicing up the experience by trying my hand at streaming, thereby transforming my motivation from trying to get a game off the Stack to trying out a new way of playing games in general. It would, at least, add some new challenge to the experience: the challenge of figuring out how to stream a Windows 3.1 game running under DOSBox on a Macbook.

Gearheads: Finally 25

Sometimes this blog fulfills the opposite of its purpose. I made a three posts a couple of weeks ago about Gearheads, a game that I own on physical media and that therefore qualifies as a true element of the Stack, but I stopped playing it after those two posts, and it’s partly because I doubted I’d have anything more of interest to say about it. It’s cute, and it launched a couple of successful game design careers, but it’s not very deep strategically, and it has no plot. Its whole attitude is that of old coin-op arcade games: you can pick up what it’s about in a second, and that’s not conducive to lengthy analysis.

The controls, too, are arcade-oriented, or perhaps Atari-2600-oriented: it’s clearly designed for each player to have their own four-direction joystick with one button, and the fact that it plays from a keyboard instead can only be attributed to it having been released at an awkward time for PC joystick support. The vertical axis switches which lane you place your toys on — the movement of toys isn’t constrained to lanes, but their initial placement is, which can be awkward when you’re trying to place blockers. The horizontal axis is used to cycle through your toys. Searching through your toy collection this way takes valuable time, which motivates the player to stick with one sort of toy for a while before switching. Which is exactly how the AI plays in One Player Tournament mode, thank goodness. I imagine it would be very difficult to play against an opponent who switches tactics more frequently.

Now, in a normal One Player Tournament level, you get a random assortment of four toys to use. This means the time spent cycling through your collection is never too bad, even if every second counts. But levels 10, 11, 22, 23, and presumably 34 and 35 (which I haven’t reached yet) give you access to all the toys. And despite how good that sounds, it’s basically a bad thing, because it means you can spend a lot more time searching for the toy you want. Maybe the solution is to voluntarily limit yourself to a span of four consecutive ones. Would that work? I don’t know. I only just got through level 23 today, and not by doing that.

Mainly I feel like I pass levels by luck, and finally getting through the second twelvesome of levels was just a matter of playing until all the dice fell in my favor. That is, there definitely is some skill involved, consisting of the rapid application of learned responses to changing circumstances, but there’s a lot that goes on that’s chaotic and unpredictable and beyond your control. Except, that is, in those puzzle-like special levels where both sides are limited to one toy. Not coincidentally, these are definitely my favorite levels.

Level 24 was a particularly good one: it gives the player Krush Kringle and the opponent Orbit. Winning this match-up isn’t so much a matter of getting your guys across the screen as of deflecting the opponent’s toys back, but you have to get the timing and spacing of the Kringles just right to accomplish this. Once I finally reached this level, it took me two tries — and, since I can now start from level 25, I never have to do it again. In other games, I’d take the ability to skip solved levels for granted, but here, I’ve had to restart from level 13 so many times.

And to be clear, that’s a self-imposed restriction. The game lets you start from level 25 whenever you like. But what kind of completist would I be if I didn’t play through all the levels?

Gearheads: Meet the Toys

OK, let’s enumerate the toys. The manual contains a list giving their basic stats and special behaviors, so I’ll try to make observations not found there.

In approximate order of increasing interestingness:

Ziggy, the cockroach: the fastest and lightest of the toys, capable of crossing the screen with the least winding, provided it doesn’t run into anything. Which it likely will, because it tends to veer wildly left and right. If it gets bumped, it flips over on its back until it gets bumped again. Still, when it’s available, it can be the easiest way to sneak in a few extra points. The real fun comes in when the opponent is using Ziggy as well, because you tend to get large clusters of supine bugs that way, and it turns into a sort of tug-of-war (push-of-war?) with both players trying to push it past the goal line — toys don’t have to cross the line under their own power to score. Even toys that have completely wound down stay on the screen for several seconds, and score you points if they’re pushed through the goal.

Big Al, the bulldozer: The polar opposite of Ziggy. Powerful, heavy, slow, takes a whole lot of winding, moves completely straight. Once set on its path, it cannot be diverted. It can only be slowed down, preferably by another Big Al. This can produce more push-of-war situations, with both sides sinking their winding time into putting more pushing power into a single row of Big Als. Such things seldom go anywhere; eventually they just wind down and vanish. So the best way to deal with it is to cut out early and set off some fast stuff elsewhere.

Disasteroid, the gold mecha-anime-looking robot: Slow, heavy, moves straight, and has the ability to blast other toys directly in front of it, destroying them instantly. The only toy that’s immune is Big Al, which is the game’s most blatant and artificial rock-paper-scissors-ism. The blaster takes a good long while to recharge, though, so once you’ve sacrificed one toy to it, you’re safe. When two Disasteroids face each other, one of them will be destroyed — I think the one with more energy remaining wins, but I’m not sure of this.

Walking Timebomb, the walking timebomb: Moves straight ahead fairly quickly, and as such can be used as a point-scorer. More importantly, if it runs out of energy, it explodes, destroying everything within a radius except Disasteroids, which are therefore the best defense against them. This is the one toy you have a strong incentive to underwind, although figuring out exactly how much to wind it is tricky, so I haven’t used it much. Fortunately, the computer isn’t very good at using them either, and tends to throw them out in clusters that blow each other up before they reach your guys.

Zap-Bot, the wacky-looking robot with electrical plugs for hands: Another offensive unit, but in a different way. When it runs into a toy, it zaps it, draining its energy and slowing it while it zaps. What’s more, it moves diagonally, allowing it to sneak up on things like Disasteroid that focus on what’s directly in front of them. Its big weaknesses are that it’s hard to aim and that it’s undiscriminating about what it zaps — if you release two Zap-Bots from the same spot, and the one in front pauses to zap something, the one in back can run into the one in front and start zapping it. So the main use I’ve gotten out of them is just taking advantage of the diagonal movement to wiggle them past blockers for points.

Deadhead, the skull: Very slow-moving, and requires maximal winding to get it across the screen under its own power, but that doesn’t matter, because its purpose is primarily defensive. When any toy bumps into it, it pauses to scream, scaring the toy into reversing direction. Note that “any toy” includes toys moving in the same direction that bump it from behind, so Deadhead imposes some pretty severe limits on the person who launches it. They’ll even scare other Deadheads, and can get tangled together in a perpetual scream. They wander a little, so it’s important to keep them separated. Probably the best way to use them is to wind them just enough to scare one thing before they wind down, although this can be difficult to control. Still, turning the opponent’s toys around is a very powerful move, especially for fast-moving types that can recross the screen and score you a point before the opponent reacts.

Krush Kringle, the Christmas-themed professional wrestler and single weirdest toy idea in the game: Moves slowly, periodically thumping the ground to make toys within a certain radius reverse direction. Two Krushes side by side will repeatedly reverse each other, forming a sort of vortex that other slow-moving toys can’t escape. There’s a timing element here that’s difficult to use effectively, but also difficult to combat — with the right timing, you can get a Disasteroid in to kill it between thumps, but you risk giving your opponent a free Disasteroid that way.

Orbit, the flying saucer: Just as lightweight as Ziggy, but a little slower and needs a little more winding. Orbit moves straight forward until it hits an obstacle, at which point it tries to navigate around it. It’s the only toy that knows how to do that. Effectively unblockable, the only good defenses against it are Disasteroid and Deadhead.

Presto, the magician: Moves forward at a moderate speed, but periodically teleports to a different lane, apparently at random. Can get stuck for a while between teleports, but is ultimately not very blockable. Not the fastest way to score points, but sometimes the only real option you have.

Kangaruffian, the boxing kangaroo: Moves diagonally, like Zap-Bot. When it hits something, it punches it. If it’s something light, like a Ziggy, it can send it flying backward with enough speed to get it past the finish line and score you points. But it’ll add some momentum even to the heavy things, and can be used to break a Big Al stalemate. I haven’t been using them much, and have only recently started to appreciate how useful they are.

Clucketta, the hen: Basically a toy factory. Flies forward in bursts, passing over other toys, then settles down for a while to lay an egg, then repeats. The egg hatches into a Small Fry, a little chick that rushes forward. The really impressive thing about Clucketta is the way it can come to dominate the board. Because they don’t move forward very often, you can wind up with a whole bunch of them together for a long time, clogging up the board and getting in the way of everything else. I suppose this is what the Walking Timebombs are for.

Handy, the glove: Rushes forward straight, faster than anything else except Ziggy. When it runs into any toy other than another Handy, it attempts to lock onto it and start winding it. This can bring depleted toys back to life, or give extra power to insufficiently-wound ones — if you summon a blocker in a hurry, you can put a Handy behind it to extend its life. The big weakness is that it will wind your opponent’s toys too. If it weren’t for that, it would make an ideal point-scorer, moving both fast and straight, but you don’t dare put it own in an empty lane where the opponent can co-opt it. Its best use, then, is to follow behind the similarly straight-moving Disasteroids and Big Als, like a Heavy/Medic pair. And once you have that, why not launch some more Handys in their wake, letting the guy in front keep the lane safe for point-scoring?

Gearheads: Quick Update

I’ve played Gearheads a little more, but I can’t honestly say I’ve made any progress in the “One-Player Tournament” mode. This isn’t the sort of game that saves your progress. It’s the sort of game that keeps a high score list. It gives you a limited set of lives for each session, and expects you to start over whenever you run out — a play pattern already antiquated in 1996, when even the fading coin-op games let you buy your way past death. You don’t have to start from the very beginning of the sequence, mind you. You can start at level 1, 13, or 25. (This is part of why I think there are 36 levels, something not actually stated in the docs.) I’ve been starting at level 13, and haven’t yet made it to 25 from there. I suppose it might be worth it to start at level 1 for the sake of accumulating extra lives if you’re not just doing a practice run, but at the moment, practice runs is all I do.

Every third level is a special one, where you can use only one type of toy. (This is the other part of why I think there are 36 levels: that’s exactly enough to have one special level for each of the game’s 12 toys.) The opponent also has only one toy type, which might be the same as yours or might be a different one, depending on the level. These special levels are a little puzzle-like — there’s always some specific tactic that will let you pull ahead, but depending on the toys, it might require confrontation or avoiding confrontation, winding up your toys fully or only enough to get them across the screen. Still, there are only so many possibilities to try out, and once you’ve found something that works, you can just remember it for the next time you play that level. Generally speaking, the special levels are a relief.

The regular levels are harder. They give you a level-specific set of four toys, but the opponent’s toys seem to be randomized. You can’t memorize a per-level successful strategy when you’re facing a different enemy every time you play the level; you have to learn to be reactive, to use the tools available to combat whatever happens to come up. Usually the opponent releases a bunch of toys of the same type in sequence — I could probably find patterns by counting them, if I need to go that deep. So there are opportunities to see what the opponent is doing and counter it — sometimes launching one toy on your side can counter a whole bunch of the opponent’s. But on the other hand, sometimes the opponent has a toy that I just plain don’t know how to counter with the ones I have, and I just have to hope that the random number generator will be kinder next time. I’ll go into more detail in my next post.

Gearheads

At a recent board game night, I had a chance to try a game called Quantum that used dice to represent spaceships with different capabilities. The box credited its creation to Eric Zimmerman. “That’s a familiar name”, said I, and looking it up online afterwards, I found that, sure enough, it was the same Eric Zimmerman that co-founded Gamelab, the company that developed Diner Dash, among other things. This is a person who is partially responsible for creating a genre. But also listed in his ludography was something I didn’t expect to see: Gearheads, a 1996 game about wind-up toy battles, co-created with Frank Lantz of Universal Paperclips fame. Apparently it was Zimmerman’s first published game. And it just happens to be on the Stack.

So, obviously I had to dig out the CD and give it a play. Windows gave me some guff about that, complaining simply “This app can’t run on your pc” when I tried to run either the executable or its installer, even in Windows 95 Compatibility Mode. This was a new one on me, but apparently it’s how 64-bit Windows 10 reacts to 16-bit Windows programs. Apparently there are ways to enable 16-bit support in Windows 10, but I opted to play it safe and instead run it under the copy of Windows 3.1 that I had installed in DOSBox back in 2010, which I still have around thanks to file-sync apps. This worked with no problems.

The game is essentially two-player, with both players using different parts of the same keyboard simultaneously, but the computer can fill in for one player, and it has a “One Player Tournament” mode, a sequence of 36 increasingly-difficult levels that I’m taking as the basis for completion. Gameplay consists of letting loose wind-up toys on one end of the playfield in an attempt to get them across to your opponent’s end, while your opponent does the same to you. You get to choose where to set each toy down and how much to wind it up, but you don’t control them after they’re placed. Each level gives you access to a different subset of 12 toy types, each with its own virtues and special powers. For example, there’s a wind-up cockroach, which moves very quickly but erratically, and tends to get flipped over on its back; a bulldozer, slow-moving but capable of easily pushing other toys backward; a chattering skull that scares other toys and makes them reverse direction. There’s an element of extended rock-paper-scissors to it, but also some opportunity for combos, like using boxing kangaroos to punch depleted cockroaches over the finish line.

I hadn’t thought about this before, but it’s a lot like Magic: the Gathering – Battlegrounds. Both games are all about summoning creatures that automatically march across the screen to score points and/or block your opponent’s creatures from doing likewise. And a lot of the same tactical considerations apply to both, like choosing whether to try for a mainly defensive summon to keep the opponent away or just try to outscore them with a horde of small quick things. I think the gameplay is more chaotic here, though. Nothing is entirely predictable, and there’s a lot of it going on at once.