Often ZZT games have to try and punch above their weight. At its heart, all but the simplest of ZZT games are really just playing pretend. No game is ever as perfect as its creator imagines it to be, with compromises being made left and right when the author's dream has to run into reality. ZZT expects players to embrace this. To those familiar with ZZT, it's understood that when you're told Dogfight is a world about flying various aircraft to complete various missions that that's not really what you're getting. What you're getting is an opportunity to stimulate your imagination in that direction. What would be misleading marketing for a modern video game is merely an explanation of vibes in ZZT.
Dogfight starts with an opening cinematic that feels like a child's drawing brought to life. The most minimalist depiction of fighter jet's cockpit just poking out onto a blue (cyan) sky with fluffy clouds and a hint of sun. If you could pan the camera down, surely you'd see a drawing of a house with symmetrically placed windows and a smiling stick figure family on the ground.
You watch as the clouds slowly, blockily, move south. There is no sense of speed. There is barely any sense of movement. Your jet has a propeller. It is not moving.
You have to be brought into the fantasy somehow, and yenrab's secret sauce is in the writing. They are going to get you to accept this, but there is no struggle to do so. You have downloaded a ZZT game. You know why the propeller isn't spinning. You know why the clouds shamble downward rather than smoothly gliding down the screen. There is an unspoken agreement between the player and the author here similar to a haunted house attraction on Halloween. Everyone knows that it's all pretend, but you want it to feel real. The pilot of this S-15 fighter is smiling, and forever will be. The player character smiles because they know that you are here to play along and enjoy yourself. You're able to understand when that smile is genuine and when it is merely a rule that nobody knows yet how to break.
The pilot could just be out on a mission to take down some enemy air forces. Instead the world is rapidly defining itself. You might not be the one taking out the missile base, but you are essential regardless. Creating ZZT games tends to feel that way. It it not the origin of the shiniest, most glamorous, or complex games out there, but whether you know it yet or not, your creativity will send ripples that leave impressions on everyone who comes in contact.
Or at least, that was the case with me and Dogfight. It was one of my favorites for years, and the whole reason I picked it as a subject for a Closer Look was that this article would go public right around my birthday. So it's a birthday treat for me. Dogfight, perhaps more than any other ZZT world of my youth (save maybe War-Torn) completely changed the way I saw ZZT games. This was possibly the first ZZT game I ever played that was focused on using an engine for its core gameplay, and to me, the idea that a ZZT game didn't just have to be an adventure with the player running from point A to point B and shooting the same kind of enemies one would see in Town, was a revelation.
And this was all that it took to do it. Looking at Dogfight now, it's incredible to me just how hollow the game truly is. A glorified ZZT conversion of Space Invaders with a few pointy planes panning from side to side (though not descending) blindly firing downward with no real expectation of hitting a target. Combat was really just sliding your plane into a column an enemy would venture into at one point and mashing the shoot button. The S-15 having significantly more firepower than its foes means that just by endlessly firing, your bullets would inevitably overtake theirs and eventually you'd hit your mark.
The real challenge was just to not fire so excessively that the enemy wouldn't be able to move into the column with your bullets. The gameplay, hardly the fast-paced action you would expect when you hear the word "dogfight", instead became slow and calculated.
When chiseling out this game from a yellow bordered stone, yenrab left the pilot's personality sparse. Whether this is intentional or not is unclear. What is clear is that by doing so, the player is given a chance to contribute to the game in their own way. Maybe this pilot is cautious and steadily moves tile-by-tile cleanly taking out enemies methodically. They get to be an unstoppable force, finishing their mission with hardly a scratch on their jet. Perhaps they want to play more recklessly, picking their targets arbitrarily, swerving into enemy fire and furiously mashing into the shoot button hoping they can be quick enough to not take heavy damage. Dogfight can be as exciting or as boring as you want it to be.
As each enemy is shot down, they leave a trail of smoke as they crash. It's cute! It's also another excellent example of how ZZT games require the player to know when to look closely and when to avert their gaze elsewhere. In action, the smoke is a nice touch. Afterwards, due to ZZT-OOP's inability to specify special colors, the smoke becomes a permanent part of the level, leaving a permanent scar on the board's appearance.
You can have your crashing plane animation or you can have a sensible looking sky. ZZT rarely lets you have anything both ways.
Victory in Dogfight is always short lived. Yenrab never puts labels on the characters in this game. It's unclear whether you're a pilot for a military or some kind of air fighter mercenary. It's equally unexplained who you just bombed.
I guess there's some likely unintended realism with the victims of the bombing being quietly brushed aside. Of course, this being a ZZT game, the morality is generally pretty straightforward. It's safe to say that you bombed the bad guys because you are one of the good guys. Your actions are just. Their actions are not. So when "air pirates" are introduced before you can even land your plane from the first mission, it's pretty clear that the only way out is total annihilation of their forces.
The pivot into the second mission is kind of surprising since a more traditional war-focused justification for these missions could easily work just as well here. Instead of the bombed bad guys launching a counter-attack of some sort, these pirates just happened to be in the right place at the right time. Alternatively, if you want to think the mid-90s ZZT community was that cool, it could just be an opportunity to name drop the Air Pirates. Equally likely, the coin could land on tails and we could be talking Disney's TaleSpin again. It's probably not the comics. Probably.
Another short scene plays out with the front cannons being shot and plummeting to the ground with a trail of smoke lingering behind. The aesthetics are not the greatest here as your already crude looking jet goes from being a plausible aircraft design to being two horizontal lines that no longer connect with each other in any way.
What follows is more of the same. Just with the pirates in a more simplistic arrangement. As a child, this would be met with celebration of getting to play with the cool... jet engine (:rimshot:) this game utilizes. These days it feels repetitive. Engines like these need something strong to keep the player invested time and time again. The only variety here is that one of your guns is now missing. The game wants you to get in the head of the pilot and brace yourself for challenging fight from a disadvantageous position. If your imagination can keep up with the demands, something a lot easier for a younger player, then yeah that's what this is.
As an adult, it's just too easy to see the strings on the puppets and just press onward exactly as you did before, lining up a shot and firing a barrage of bullets, slowly panning across the board to success yet again.
Luckily, like Nivek and DarkMage's Space Fighter: Mercenary series, yenrab can also see that a game that only alternates between air-to-air combat and cutscene isn't going to be enough to keep players invested for long.
This particular cutscene though, exemplifies the goofiness of Dogfight. Flaming debris on the ground, set once again on a backdrop akin to a young child's drawing, and it's topped up with your jet stopping in mid air over the runway before landing like a helicopter. Best of all, the pilot leaves and starts walking away moments before the craft is entirely on the ground.
But, silly as it is, there's an appreciable effort put into these boards. This is a 1995 game, and graphically it feels like it. Colors are a bit softer thanks to background colors other than black. Buildings can be gray. Grass isn't neon green. A year or two earlier and a scene like this would just divide the cinematic space from the player space with a swiftly produced row of green line walls. Instead, yenrab gets to play around with newly unlocked color combinations, creating a division with a more intricate pattern that you'd sooner attribute to Interactive Fantasies games than a little shooter game from the era.
A common trend in older ZZT worlds is that they often feel like the author is playing around in the editor and shipping whatever they produced. The kind of game where each board looks like a new ZZTer just learned about a new element and makes a board based all around it. (This sort of thing often results in a boards with giant centipede or gauntlets of spinning guns and blink walls.) Dogfight goes beyond this by having a lot more cohesion to it, but still gives me that vibe. Only this time, the playing around isn't with core ZZT mechanics, but in how to use STK to produce more visually appealing boards.
I wouldn't have included this text were it not for the final line here. The next part of the game takes a break from dogfights and enters the next chapter which is focused on cockfights instead! I am going to say that no, this is not how any nation's air force (or Air Guard here) operates. Definitely leaning towards "private gun for hire" here.
The racket is simple enough. Your badly damaged jet can't be repaired and so the only way to get back to your own base is to engage in gladiatorial combat in order to raise enough credits to buy a replacement craft.
The gladiator arena wasn't what grabbed my attention as a kid. It was this simple looking base. There's really nothing much here. One occupant to buy a jet from, one to explain the need to earn credits, two folks here keeping you from exploring the -
Hey wait they're explicitly called "soldiers" here. Whatever this country is, it's having a rough time.
As I was saying, the two soldiers keep you form exploring the bunks. Lastly are three shops to spend your credits on in order to recover health and ammo, as well as buy torches which currently have seemingly no purpose.
Really though what won me over is the giant 251 logo plastered onto the floor. Without it, this would be such a generic board. With it, it's now a place with an identity, and one that implies the existence of hundreds more like it. It leads you to conclude that one of them is your base. Setting you up for an idea of what to expect when you finally make it back there without actually giving away what looks like.
If you've seen one ZZT arena, you've seen them all really.
On the previous board, Yenrab quietly gave the player twenty ammo before they could be shuffled off to the arena to raise 2000 credits. Once inside, four unique enemies duplicate to keep an endless supply of foes.
Each of the enemies do behave differently. The ruffian-looking fellas have a charge attack and provide 10 points on a successful shot. The bombs alternate between moving randomly and seeking the player at high speed and are worth 15. The gray dots, (the only ones with names: "Bug",) move very erratically, but slowly and can only be killed by touching them before they touch the player. They're worth 20 points if you can figure out how to defeat them.
The fourth enemy, the dreaded green key, runs at top speed towards the player endlessly, making them the main target here. They helpfully run in your direction and provide 50 points!
In practice, the arena is a bit slow as the duplicators move at a relaxed pace and run even more slowly for key targets (the keys). What is nice though is that yenrab has loaded up the room with exits so you can't really ever find yourself cornered. Additionally, in the event that the player runs out of ammo and somehow can't afford more, they can squash the bugs to be able to afford ammo again. It's a safety net that likely has never been needed, but it prevents a worst case scenario and that earns it points in my book.
Yenrab also goes into a surprising level of complexity with the base's vendors. From the commander's spiel, you'd likely assume each one sells one of the three items: bullets, flares, or rations. Instead they each sell all three, but at wildly different prices. This makes your shopping a little more involved as you'll want to conserve credits and only buy things at the cheapest price.
With under 10% of the points needed to buy a jet on my first dip into the arena, this is easily a point where things can get glacial. The dogfights seen previously certainly haven't been varied, but they aren't identical. The arena is, which would easily make this portion of the game the weakest by a significant amount. Luckily, yenrab has the player covered.
If you don't want to spend your afternoon grinding credits like a barbarian and fancy yourself more of a thinker, then you can instead play the market. For you see, not only does each vendor sell items at different prices, but each vendor offers the option to buy supplies from the player. Once again the credits involved differs from vendor to vendor making it both possible and definitely intended to ditch the arena and just buy a bunch of items cheaply and then sell them right back to a different vendor at a high price. I opted for a hybrid approach here because navigating all the menus is also not particularly fun. So, even with this alternative way to getting the money, it still is the weakest section. Having the option is really nice though. This might've been a little more interesting if the enemies spawned faster, and the new jet was cheaper.
The purchase is quick and you're directed to check out the light blue jet before the salesperson twinkles away into the ether. I love this little bit of ZZT weirdness. The object legit walks away a few steps and it would have been perfectly acceptable to just have them lock and stand still, but no, yenrab's got to keep it silly. This game is post Fred! after all. These moments a sparse enough that you can never be sure if the whole game is meant to be tongue-in-cheek or if it's just a momentary reprieve.
Speaking of ZZT weirdness, the next mission isn't fought against an air force or pirates, but angry birds that attack with the only weapon they have.
For an actual ding against Dogfight, you are suddenly reset to 100 health, 0 ammo, and 0 points/credits. Whether the player opts for arena fighting or playing the market, this comes as a slap in the face. It's trivial to stock up on supplies, and I even made sure to get some extra credits so I could do a little final shopping before purchasing the new jet and taking off. Instead, it's a clean reset of everything except the flares. I'll just spoil it now: there are no dark rooms in this game. Flares are a complete waste of money. Maybe the arena was going to be dark originally or something?
This wouldn't be so bad if the game had just been upfront about the other supplies and told the player not to bother buying in excess. Base 251 is when the game first reveals that it won't be entirely engine based, so I suspect any reasonable player would consider this a good opportunity to shop now to be prepared for later. Doing so turns out to just be a waste of time.
But enough about that smelly old base. What's important now is trying out this new super cool jet to kill a bunch of animals.
On the piloting side of things, the new jet is really no different from the previous in terms of maneuverability. Where it does differ though, is that two additional guns have been added to the sides allowing you to fire more effectively than before. The strategy of inching your way across the screen actually shifts very slightly due to these new guns. Thanks to the gap in your ship, the strategy is now to aim with you center three guns as there's enough of a spread between objects that with a bit of luck a nearby target may coincidentally fly into the ones on the sides.
The birds, meanwhile, are very much the fiercest targets yet. They are constantly "shooting" at you which makes it very easy if you get hit once, to get hit several more times as you may be penned in by other nearby bullets and unable to actually steer out of the line of fire. While I didn't actually crash on this mission, I came a lot closer than I had before. If you weren't holding down the fire key before, you'll be doing so before you can get through this one.
It's also a lot harder to hit your targets. The planes from before flew in orderly fashion with some back and forth patterns. The birds aren't afraid to move in any direction. Thankfully this isn't ?rnd which would make actually landing a shot more luck than anything else from this distance. Yenrab instead opts to make the birds more east/west twice, then north/south twice. The movement is still all over the place, but it's a lot more orderly than the alternative. Strangely, the code for the birds also has a single hard-coded attempt to move west at the start which means that given enough time the birds will all smack into the left wall.
It's a slow process that absolutely isn't worth the time. If you're going to let the randomness work in your favor, you're better off hoping the herd thins itself out as the ability to move vertically means that it's possible for the birds to shoot each other, something the human foes avoided. You're looking at a rather nasty wait if you want to be reduced to a single bird without firing a shot of your own. Embracing the intended gameplay is going to be far more satisfying than waiting several minutes for an oversight to pay off.
Oh, and your jet can still very easily fall apart, rendering the minor advantage offered by the gaps moot. The game's included walkthrough (see section 4.10) has yenrab praising the code used to keep this exact thing from happening. It may be an overstatement, yet yenrab is actually putting in some extra code to mitigate this extremely common problem of groups of objects breaking apart.
While yenrab can't stop the jet from breaking, they can try to reassemble it. Ironically, some of the code is missing in this alternate jet so it really doesn't work here. If you try to break the original jet though, it's definitely more resilient than in most games. When you try to move against the left wall, the left gun detects that it's blocked and tells the other components to stop rather than moving west and compressing the jet. The same code is implemented for the right side, however the stat order means that it will already be too late and so the top and left guns will have already moved east. Some other code still helps out though, as the triangular shape of the gun means that there should always be a gap between the side guns. If an object sees that it's blocked when it shouldn't be, it can push itself away and back into the correct position.
This works reasonably well. Alas, where it falls apart (literally) is when enemy bullets come into play. When a bullet is to the side of the top gun, if the player tries to move in that direction, the side guns will move successfully while the nose is unable to. Given the sheer number of bullets seen in this mission and beyond, actually keeping the ship together ends up being a gargantuan challenge, made all that much harder by the fact that breaking your ship and having it spread out across the stage or squished into a little ball is funny and the player will delight in doing so.
After a few post-mission cutscenes, yenrab opts instead for this excellent art board depicting your blue jet idling and ready to be taken into a hangar. Definitely the best looking board of the game.
The followup is still cute, as now we get a tiny depiction of the same jet, looking a lot less impressive and a lot more Atari. Still, it gets the attention of a base mechanic who the player asks if they wouldn't mind washing it for obvious reasons. The mechanic is in awe and honored just to be able to touch it, so good job everyone?
It's easy to forget that the player's entire adventure beyond the first decoy mission was entirely unexpected. You were supposed to distract the enemy, get out of there, and return to base for celebration. Instead you got attacked by pirates, fought in an arena, and dealt with a freak pigeon attack. It's no surprise that you're late for the ceremony, though it is a surprise that the base is devoid of life! Even the mechanic seen moments ago has suddenly vanished.
The player is treated to a liminal space with an empty room and weird cube.