Category: design

Fixing the Weapon Break Mechanic in BOTW/TOTK

The most often criticized feature in Legend of Zelda: Breath of the Wild and its sequel, Tears of the Kingdom, is the weapon breaking system.

I like to put on my game designer hat and come up with ways to improve games, and this is a subject that I’ve thought about a considerable amount off and on since I played through BOTW, and am thinking about more now that I’m playing through TOTK.

So here’s my suggested solution.

I actually like the possibility for weapons to break. I think it does make combat more interesting, and I support Nintendo’s reasoning that the feature gives the player reason to use other weapons than the current best damage weapon in their arsenal, which results in the player experiencing a wider variety of combat mechanics that result from the different properties and behaviors of the different classes of weapons found in the game.

So we’re not ditching the system, we’re going to tune it.

First, let’s recognize that weapon quality should come into play, as it does, but durability should increase much more quickly as weapon quality goes up.

So, at the start of the game, we have what I’ll call “found object” weapons, like the tree branch. These should rightly be very easy to break, in just a few solid hits, as they are.

The next class of weapon above that should be “improvised object”. These are tools, such as brooms, shovels, pitch forks, and so on, which are capable of being used as weapons, and are designed to be durable, but are not intended to be weapons. These should break more easily than a designed weapon, because using them for combat is putting stresses on them that they were not designed for.

The next class of weapon above “improvised” is “crude”. Crude weapons have a primitive look to them, and are built by crude or less skilled means, and won’t hold up as well as a better made weapon. Crude weapons are made of roughly hewn wood, bone, and stone, and not refined metals. Crude weapons can be repaired more frequently, and can be repaired in the field at places similar to the cooking pots found throughout the world. This amounts to “duct tape” level reinforcement of the weapon’s shaft, or the attachment of the weapon’s head to the shaft, for things like stone hammers and stone axes

The next class is “Standard”. Standard weapons are in good condition and should last a long time if properly treated and cared for, but are subject to breaking when abused, neglected, or subjected to abnormal rough treatment. In the game, a Standard quality weapon would be given no “modifier” adjective, eg there would be a “Sword” rather than a “Standard Sword” or “Traveler’s Sword” rather than “Standard Traveler’s Sword.”

Above that is “Quality”. Quality weapons are a bit more durable, and last a bit longer. They are made better, and from better materials. They are rare, and are found only in places like Shrines or stored in chests found in places where they would be well shielded against the elements, such as inside of a cave or building, not out in the open or under water. Quality weapons are often used by enemies of higher status, and can be won through combat against them.

Above that, is “Magical”. Magical weapons are the ones that have special powers, like elemental properties, or the Master Sword. These weapons do not ordinarily break through wearing out, but may break when subjected to extreme damage or misuse.

In BOTW, the Master sword cannot break, but gets “used up” after a certain number of uses and has to recharge. I don’t especially like that solution, as it feels artificial, but we’ll come back to that. I think the Master Sword should be a special case weapon, maybe a level above “magical”. We might call it “Legendary”.

Another factor in durability should be its condition.

The bottom condition is “decrepit”. These are the weapons Link may find laying out in the open environment, which have been neglected and subject to weathering, rust, or rot. These will do in a pinch, but may be at their end of life. Decrepit weapons can be upgraded through repair, one time, taking them to a blacksmith shop or weapon shop in one of the towns or stables (which don’t exist in the game as they are, but could be added with a reasonably small effort) and it should cost materials and rupees to get them fixed. They cannot be restored to anything above Standard quality, regardless of how they started out in life. Fixing is not a skill that Link should devote time into learning, so he relies on skilled tradesmen and women to do this work for him, and he definitely can’t do it in the field. Decrepit bladed weapons do less damage and are weaker against armor than

Above “Decrepit” there is “Worn”. A worn weapon has been used, but is otherwise in good condition and functions as it should. Above “Worn” is “New”. There’s nothing better than “new”. A weapon in New condition remains in New condition until it is used, and then slowly degrades to Worn, and if not cared for, will degrade further to Decrepit and then eventually break in action.

You can check your inventory to see the current condition of the items you have, and the item in hand will visually give an appearance of its condition as well, to make it obvious when it is no longer New, and when it transitions from Worn to Decrepit. The “gonna break any time now” pulsating glow from the game-as-it-is can remain in place, but only happens with weapons in the Decrepit state on their last legs.

Using a weapon will degrade its condition from its current state down to Worn, then Decrepit, and then eventually it will break. There’s a risk of breaking at each condition level, but the risk increases dramatically as the weapon becomes increasingly worn out. As the weapon goes through these stages, it gradually diminishes in the damage it deals, becoming increasingly ineffective toward the end.

Weapons of Standard and Quality quality can be repaired a finite number of times at the places where that service is available, and if maintained (brought in for service before they become Decrepit) they can be restored to their full original quality level.

Weapons of different types will progress through their wear states differently. Bladed weapons will become dull through use, and will do less damage as a result. High condition, high quality bladed weapons will do much more damage than a crude weapon or a weapon in poor condition. Likewise with stabbing weapons such as spears, as their tips become rounded with use, they will likewise do less damage. Blunt weapons, on the other hand, remain just as effective regardless of their condition, which is an advantage that they have over sharp weapons. Offsetting this advantage, blunt weapons are heavier, making them slower to swing, slower to recover, and slower to windup when using a long-press attack move.

Weapon damage doesn’t have to happen every time the weapon is used. When a weapon is used in the intended way, weapon damage should be minimal to nonexistent, with perhaps a small change of something more happening due to an unlucky strike. But when a weapon is misused, or strikes a durable surface like armor, a shield, stone, or wood, some damage may occur.

So if you swing your weapon and connect to do damage, if the enemy is a normal flesh and blood creature, the damage done to a weapon will range from 0-1 durability points, with 1 being a rare unlucky hit.

When you parry with your weapon, or when your attack is parried by the enemy, or when your weapon strikes the enemy’s shield or an armored enemy, or when the enemy is made of something more durable than flesh and blood, such as skeletal enemies, stone enemies, elementally infused enemies, hitting them does more damage to your weapon. Parrying with your weapon does less damage than when your attack is parried by the enemy.

Depending on the material the weapon strikes, and the type of weapon, it will take more or less damage. Hitting rocks with a hammer, pick, or drill will use up very little of that weapon’s durability, while hitting stone with a bladed weapon or spear will do significant damage very quickly.

Hitting wood with an axe blade will cause only slight to no wear, but hitting wood with a blunt weapon or a bladed sword will do more damage to those types of weapons. So misusing weapons, abusing them to hit the wrong type of material than they were designed to be effective against, will cause them to wear out and become damaged or ruined very quickly, but using the right type of weapon for the material being struck will result in slow, gradual wear.

This is already implemented to a degree in BOTW, where weapons like hammers and axes do get a durability attrition bonus when used to chop wood or mine ore, but my proposed solution goes further, and the wear to properly used tools and weapons is reduced, particularly against softer enemies, while abused weapons take greater damage, and most weapon wear happens when the weapon hits a shield, armor, is parried, or is used to parry, or when the player hits a rock or tree in the midst of combat.

This means that your weapon could last a long time, if you know how to use it properly, and are skillful with your aim and don’t make ineffective attacks that hit the shield, or if you only mine ores with hammers and only chop wood with axes.

To adjust the adjacent systems in the game to accommodate for increased weapon life and the ability to repair weapons, weapon drops would be less frequent, and enemy’s weapons would tend to be in worse condition, reflecting that it is in all likelihood a used weapon, as well as any additional wear done to it while wielded by the enemy. It also means that an enemy’s weapon might break in their grasp, which I think would potentially make combat a little more interesting. Special weapons of Quality, and Magical weapons, would be correspondingly higher in rarity, reflecting their increased durability and capability of being repaired. We might also do with fewer inventory slots for carrying weapons. This would have a further advantage of being a bit more reasonable and realistic. When you consider how many things Link is able to carry in his inventory slots, it’s a bit ridiculous. Being forced to choose between 2-3 weapons at most, one of them being a bow, and a shield, would be an interesting constraint and force the player to choose, sometimes opting for a weaker weapon that has a useful ability or property, and storing their other “keeper” weapons back at Link’s House in Hateno Village.

It would definitely be interesting to see how the game feels with these changes. If a weapon broke only once every few fights, it would go a long way toward making me more willing to engage in battle. And by “every few fights” I mean every few encounters, not every few enemies. So if I’m fighting 4-5 bokoblins and a moblin, that is what I would consider a single “fight”. Weapons breaking every 3-4 encounters of that size, I think would be much less annoying, and feel more reasonable, while still providing the types of incentives that Nintendo’s designers were going for, to encourage the use of different types of weapons, rather than reliance on the single best weapon that you’ve found so far. I think I would enjoy combat much more if weapon breaking wasn’t something that happened in nearly every fight, especially with the better weapons you can find later in the game. When the weapons break so frequently, it makes me want to avoid combat in order to preserve my better weapons for use in fights that I want to have.

Berzerk: Bad Box Cover Art

This is the cover artwork for the Atari 2600 video game, Berzerk.

When I was a kid, I never understood this image.

The illustration shows the human protagonist blasting a robot, caught in mid-explosion.

I could not recognize the robot’s anatomy, due to the way it’s clipped by the frame of the image, and the weird low angle and rear point of view.

To my eye, it looked like I was looking at the head of some insect-like robot, with its mandible coming apart, showering electronic sparks and fire, and the large round feature looking to me like huge compound bug eyes.

It’s actually the robot’s arm, and that thing that looks like a visor coming out over the nose between the two eyes is just some kind of weird mechanical shoulder joint.

I don’t know why they chose this particular image for the cover art, but I always regarded it as poorly chosen — visually confusing, and not very effective as a composition.

Maybe if they had framed the image a bit less close-up, so you could see the whole robot, and have more of an idea of what it was, it could have worked. Not having the robot’s head in frame, really messes with your perception of the image, and the ambiguous shoulder joint that looks enough like a head that it can confuse you into not seeing the image correctly, is a bad choice for the cover.

It’s still not as bad as the cover for Mega Man. Although, I actually like the cover art for Mega Man, and I think Mega Man had a better composition, albeit poorer rendering.

ZORK|DALL-E

I decided to play Zork through DALL-E on Twitter, and created a new account for it:

Follow along, if you like!

Artist’s Statement

I’m using a walkthrough, because I can’t remember how to solve all the puzzles 42 years on, not that I ever DID solve all the puzzles back in the day anyway!

I was all of 8 or 10 years old when I first played Zork, I think, in 1982 or ’84, on a PC at a friend’s house that I didn’t have infinite time on, so give me a break. I also had a Choose Your Own Adventure-like book adaptation of the game, which I “played” through many times when I was the same age. It wasn’t published by the CYOA people, but it was the same concept — Choose Your Own Adventure stories are basically a print form of the text adventure computer game in many ways, although a bit more limited in the choices the player can “input”. Zork was one of the most popular home computer games in the early 80s, at a time when tabletop role-playing games like Advanced Dungeons & Dragons were at one of their early peaks in popularity. Together these games created the cornerstones of the geek subculture, a movement which has blossomed and thrived since then, particularly as the internet took off in the 1990s.

DALL-E is a text-to-image AI developed by OpenAI, that uses natural language inputs to generate high quality images. It’s been growing in popularity in recent weeks as the internet has begun to discover and share the images created by it. A twitter account @weirddalle is worth a follow, if you like that sort of thing. (Which, who possibly couldn’t?)

I’ll be feeding the text of Zork through DALL-E as input, and the results, will be the images that I tweet along the text from the walkthrough on the twitter account for the project.

I get rate limited to 50 posts every 23.5 hours on DALL-E, so each time I hit my limit, I’ll have to take a break. Accordingly, it’s expected that this will take maybe a few days or weeks to complete. It’s also possible that I could run afoul of DALL-E’s anti-abuse filters with some parts of the game, and if that happens I will failover to CrAIyon, the DALL-E Mini AI. It doesn’t generate as good images, but it’ll do as a backup.

I’m really pleased with this project, it’s so simple and the execution is easy, but it’s fun, and I feel like a creative guy just for having the idea to do it. Simple ideas really make me happy.

To put Zork, one of the earliest PC text adventures, which was released some 42 years ago, into an AI-based text to image generating system, and see what it outputs for illustrations seems like the funnest, coolest thing you could do, and a great way to tie the cutting edge of technology to some of its early roots.

Not all of the images DALL-E will generate will be accurate to the game, and that’s OK. It’s fun just to see what it comes up with, using the sparse descriptions that the game gives. Most of Zork took place in your imagination, and so we get to see what an AI might imagine.

The downfall of this process is that DALL-E will not remember from one run to the next all the context from the previous events in the game, so it will in many cases forget things that it should be aware of, resulting in some odd continuity. But that’s not the point, of course. The point is to do something fun with technology, playing with it to see what happens.

If you want to play Zork for yourself, you can do that! It’s free to play in your browser through an embedded DOSBox emulator.

DALL-E, my new game jam partner

DALL-E has been getting a lot of my attention lately. I signed up for the wait list to become a user and got an invitation a few days ago. DALL-E is much more capable than DALL-E mini, later renamed Craiyon, that I had played with previously. It generates images higher quality images, faster.

I’ve been using DALL-E like a bad graphic artist’s client, pestering it every few minutes for free concept art with the promise of “exposure” as its own reward. DALL-E doesn’t seem to mind, though. And we love each other. I ask it for whatever comes to mind, and it seldom disappoints me.

I decided to ask DALL-E to create box cover artwork for Mega Man, since why not. It occurred to me that this would be a good John Henry competition, pitting the new machine up against the mightiest artist to ever lift a colored pencil, to see who was better.

The original Mega Man box cover.

It turns out that DALL-E was more than up for the challenge.

I mean, none of these is exactly good, but all of them are awesome.

Most of these don’t feel like Mega Man, but they all have a pretty good Japanese Giant Robot vibe, which is just fine. Mega Man is a small robot, not a giant robot, of course, but that hardly matters — instantly, my imagination is fired by the idea of a 1960’s or 1970’s Mega Man anime imported to the US in the 80s alongside shows like Star Blazers, Mobile Suit Gundam, Mazinger Z/Tranzor Z, and Macross/Robotech, and Diaclone/Transformers… What a “What If?” to think about! So the nostalgia factor for this alternative Mega Man that never existed is powerful.

It makes me think that if I got back into game development, I’d use DALL-E to give me the initial inspiration, concept art, cover art, what have to get me going.

I have so many questions about DALL-E.

Why does it get the title wrong? Megan? Meggian? Megman? It can’t be hard to get the exact text out of the description I entered and replicate it in the image. Is this a deliberate nerf on the part of the developers to prevent users from creating meme captions that could be offensive?

Due to the way DALL-E can’t seem to get the words right for the titles, a lot of what it generates reminds me of this hilarious meme from years ago, which parodied corporate fast food logos by turning them into dada-ish nonsense. Which makes it unintentionally (or not) hiliarious and entertaining, but it also limits its usefulness for creating images I want to actually use.

Eef Freef!

It’s exciting to be alive at this time, getting to see these developments in AI. I don’t get the sense that DALL-E is truly intelligent, but what it does is impressive nonetheless. The images it creates are often quite good, and about as often are complete nonsense. But frequently this “nonsense” is either hilarious or entertaining, or has a superficial feeling of artisticness to it. If I knew a human had created some of these “artistic” images, I would be more inclined to ascribe creativity or meaning to them. But what when DALL-E does it, it feels more like it is holding up a mirror to our culture’s human-created art, as though it put the conceptual ideas of art and design into a blender, and reassembled them for us, not quite at random, but according to rules that don’t quite work yet, but still give the impression of… I don’t know, “something going on in there.” Often times the results it spits out give me the impression that I’m looking through a window into an alternate reality; as though, the many worlds theories of physics are true, and DALL-E is somehow extracting images of alternate realities from one of an infinitude of alternate universes in our multiverse. And from an information theory standpoint, perhaps that might as well be what it is doing.

When the images are purely visual representations, the impression of intelligence at work is more effective, but when the images contain words, it’s clear that DALL-E is just throwing shit at the wall to see what sticks, following rules of some kind, but not intelligently, not with deliberation or intent. We get nonsense words that are a jumble of letters that the DALL-E parser decided it thinks we wanted it to put into the image. And sometimes we get strange alternative glyphs, as though from some alien alphabet.

Much of the time the images DALL-E creates could be used to stimulate human creativity, to give a human creator a spark that they could use to work from, an initial inspiration. That’s a valuable thing in itself. And I’m sure the potential is there for it to continue to develop its abilities, and I expect that in time AI development will give us more capable AI. That seems almost a given.

Seeing what DALL-E would create was so fun that I asked it to create alternative cover art for many of my favorite games. There were many that I thought would be fun to share.

Asteroids

Dig Dug

Double Dragon

Elevator Action

Commando

Bionic Commando

Metal Gear

Mega Man

Castlevania

Legend of Zelda

Tetris

Contra

Metroid

Super Mario Bros.

Super Mario World

Ninja Gaiden

Gradius

Pac Man

Ms. Pac Man

Space Invaders

Frogger

Punch-Out!!

Disney’s DuckTales

Teenage Mutant Ninja Turtles

Bad Dudes vs. Dragon Ninja

These are amazing, especially considering the amount of human effort it takes to create them — literally just typing in a few words and clicking a button. They are so fun to look at, to anticipate what DALL-E will come up with while the progress bar fills. Each one is as interesting for how it fails as it is interesting for how it succeeds. Each seems like an alternative universe’s version of the game title. The art style varies — some of it looks like the illustration on a children’s cereal box, a lot of it looks like the cover of a paperback book or movie, while others look like the box a board game is stored in. Tetris appears to have strong links with Rubik’s Cube, and here and there I can pick up hints of other influences. It’s especially fun to see when DALL-E “knows” the game title, and picks up on stuff that is recognizable from the game, and uses it in the images it composes.

Some thoughts on the design of Mini Metro

I picked up Mini Metro about a week ago. I know it’s been around a few years, but I never claimed to be trendy.

I like the aesthetic and the mechanics of the game. It’s relaxing to play, yet gets hectic and overwhelming. It’s a fairly unique concept for a game, so it gets innovation and originality points. It’s a math-y game, but it presents the math intuitively and concretely, using shape and color and quantities that you have to eyeball, rather than representing quantities with numbers. There are various rates at which things happen, things that place demand on your resources, and you have to come up with a system that effectively utilizes those resources and balances demand. It requires a bit of strategy and some cleverness, and you can pause it, take your time, and think, or count and measure, or whatever you need to do to figure out your strategy. You have to understand how the rules work, and there is complexity in the ways the rules combine, but the rules are relatively simple taken individually, and they are introduced one at a time in a way that makes them easy to learn.

I don’t think it’s perfect, but it’s a pretty good game concept. Obviously, it’s been successful and popular.

But I think about ways I might improve its design.

What I don’t like about it is that there’s a little too much randomness in the spawning of the station points. Depending on how those play out, you can get totally screwed and have no possible way of managing the problems the game presents you. I feel like a better game design would always ensure that there was a solution that a sufficiently talented player could come up with, but that seeing the solution and implementing it would be the things that are difficult. It’s fine for the game to present a difficult challenge, and more difficult as the game progresses, but they shouldn’t be impossible.

So, for example, spawning a cluster of 6-10 Circle stations with no other types of stations in the region is an unfair situation. The spawning code should either not do this, or there should be ways to consolidate/erase multiple stations into a super-station. The game does give you Interchange stations, which have more capacity and speed than a basic station, but it only upgrades one existing station, and can’t be used to consolidate several nearby stations of the same type into one. I think it would be way more interesting if you could upgrade one station, and then all basic stations of the same shape within a certain radius of the new interchange would de-spawn, consolidating their traffic into the Interchange.
But I think the way I’d prefer to solve the problem would be to put the Station spawning in the player’s hands, not have it be done automatically by the game.

So my proposal would be that **passengers** would appear throughout the city, with a destination in mind (indicated by their shape). They have a limited walking distance that they are capable of traveling before they get tired and irritated. Irritated pedestrians change color and vibrate to indicate they are tired and unhappy. They will walk toward the nearest station, and try to travel to the closest station that matches their shape.

To make them happy, you can build a station near enough to them that they will walk to it, and then you can connect stations with your rail systems to take them efficiently to their destinations. You can spawn an unlimited number of stations (hmmm, perhaps), but you have limited resources in terms of rail lines, cars, carriages, bridges, and tunnels to connect them.

The passenger spawning is out of the player’s control, that part is provided by the game as the challenge, and the player can strategically build stations of the type desired, at the point desired. Maybe the player should be constrained by having to choose how many of which shape station is available to them, or something like that.

The other thing that I see with the game is that, at some point the game just decides to flood you with passengers until you die. Usually somewhere around the 1200-2000 passenger mark, the game just cranks up the generation of more passengers, attempting to overwhelm the player and force the game to a conclusion. Again, I think it’s better to give the player challenges that are possible. Maybe it gets harder and harder to keep up with the challenge, but there should always be a way to do it.

(I accept that it could be there is, and that it only seems like the game becomes impossible because I’m locked in to the design choices I made, and if I tore everything down and re-designed, maybe there’d be a way to create a more efficient system with the same resources available to me that could handle the new volume of traffic. But it doesn’t seem that way to me — even on Endless and Creative modes, where I have no constraints on the resources available to me to build the system, no matter how many lines and cars I throw at the problem, the population will always scale to a point where there’s always overcrowded stations.)

One thing I like about the game is that they don’t have an in-game currency that you earn by transporting passengers and use to spend on improvements for your transit system. I think if the game had that, it would be too much like a Sim-style game, and I think removing a concept of money, and de-coupling a potential feedback loop of performance income improvement more performance helps to keep the game simple — and I like that.

I wonder about that, and why the designer of the game decided on that. Because it’s inconceivable that they wouldn’t have considered every completed trip being converted into in-game money that would be spendable on more rail lines, trams, carriages, etc.

And they must have considered that, and then discarded the idea. I wonder why they decided it and what pros/cons they weighed to make that decision.

Fibonacci 8 Tartan

In 2015, I created the Fibonacci7 Tartan.

I’ve revisited the concept, and today I give you Fibonacci8. Update 10/12/2021: it has now been officially registered.

The Fibonacci 8 colors as a Golden Spiral

By making the sett of the tartan design asymmetrical, I was able to extend to the 8th number in the sequence, and added a 5th color to the pattern, a natural ecru white.

The Fibonacci 8 tartan sett. You can see the proportions of the spiral in the square regions running diagonally from top left to bottom right.

I tried each of the original four colors for the 8th number, and I thought red and green had the some appeal, yellow was interesting, and blue wouldn’t work because it was the 7th number, and I didn’t want to re-order the first 7 colors. But in the end I decided that adding a new color would give the tartan better balance. Each number in the sequence is roughly as big as the previous numbers in the series combined in the early part of the sequence, so after the first 5 numbers, repeating colors really changes the balance, with the color of the last number dominating. So going with a new, and neutral, color for the 8th value in the series works well.

I like starting with yellow as the starting number, symbolizing the start of the golden spiral, and then not using it again, in order to keep it special and to give the eye a visual anchor to where the pattern begins.

I’m very happy with the resulting design.

I never liked Donkey Kong

There. I said it.

Donkey Kong is the foundation of a modern business empire, a cultural cornerstone, the genesis story of the Marioverse. Not liking Donkey Kong is something akin to blasphemy. I gave it a shot. I wanted to like it. But I just never liked it.

I feel like I am about to regret one quarter just looking at this screen capture.

I first played Donkey Kong when it was new, in the Arcade, on Atari, and ColecoVision, and I never considered it one of my favorites. It was a smash hit when it came out, sold tens of thousands of arcade cabinets, swallowed hundreds of millions of quarters, sold millions of cartridges on home consoles, and been ported to just about every console of its generation and the next few after. It was groundbreaking, both technically and in terms of game mechanics and narrative.

I recognize all of that, and I still don’t care for the game. I respect it for its accomplishments, but yet I don’t like it. I can’t enjoy playing it.

This isn’t merely a statement of opinion or taste; I don’t enjoy playing Donkey Kong, and I don’t find it to be a particularly well-designed game.

Let’s talk about that.

Barrels – the first screen

How high can you climb?

Donkey Kong is very difficult and unforgiving. Part of its difficulty stems from the tight window for clearing dangerous obstacles, and the narrow clearance for successful jumps. But much of it comes from design choices that tend to make the game feel unfair.

Jumping

Jumping is the key mechanic around which the whole game is based. Yet, the jumping mechanic is rough. When you jump, you can’t change direction or height, so you’re committed to the path of the jump until you land. This makes jumping risky and hard. When you make a mistake, there’s no second chances. You know you’re going to die, and there’s nothing you can do but watch and wait for it.

You can’t jump very high — just the exact height to clear a barrel or fireball, and the exact distance to clear two barrels if they’re right next to each other… barely. Miss a jump by a little bit and you’re dead.

On the first screen, some of the ramps look like they might be close enough together to allow Jumpman to jump up to the next platform from the one below, but that is not permitted. You can only ascend to the next platform by climbing a ladder.

Not that you’d normally ever want to, but you can’t jump down from the edge of a ramp to the one below, either — the height is not great, but it will still kill you.

If you jump off a platform, you die if you fall just a short distance. Jumpman can’t survive falling any farther than the peak height of his jump.

Ladders

You can’t get off a ladder until you get allll the way up to the top of it, or allll the way to the bottom. Very often, you’ll think you’re there, and try to move left or right, only to find that you’re still locked onto the ladder and unable to move. A better design would have been to treat horizontal joystick input as continuing Jumpman’s previous climbing direction, moving him the rest of the way up/down the ladder until he is clear.

There’s no jumping from a ladder, either. Allowing this would make the game play feel less stiff, and give the player greater control and flexibility. It seems like Jumpman should maybe be able to reach up from the lower ladder to grab the bottom rung of the upper half and climb up, or to jump off from the top of the broken ladder to get some extra distance and height out of the move. And, surely, if only he could only jump vertically from the top of the ladder, you’d be able to reach the top half and continue up. But no, he can’t do any of these things.

Some of the ladders are broken, turning the ladder into a deadly dead-end. You can climb up them, but only get part-way. Even if you’re at the very top rung of the bottom half of a broken ladder, barrels rolling by below you will still hit you and kill you, even though you’re well off the ground. It’d be nice if the game gave you a break and decided there was enough clearance that you could be safe here. And a barrel that decides to roll down from the platform above and take the ladder path will also kill you. If it does, there’s no way you have time to get out of the way in time; you’re a sitting duck You’re stuck on the broken ladder until you backtrack down and get off. If you could jump off the ladder, or jump to clear the gap where the ladder broke, you’d have one more option, open up possibilities, a chance to dodge out of the way, and it would make the game feel a little more fair. But Donkey Kong doesn’t give this to you.

Hammer

The Hammer power-up allows Jumpman to fight back against the barrels and fireballs that are his bane, and earn extra points. But this comes at a cost.

Jumpman can’t climb ladders with the hammer, and cannot jump. This means he is stuck on the platform where he grabbed the hammer, for as long as the hammer persists.

The hammer is a temporary item, which runs on a timer that ends after a few seconds, but without warning. You can be right about to smash a barrel when suddenly the hammer disappears, leaving you defenseless and no time to jump out of the way. And if that happens, again you have no choice but to die. This feels unfair. To fix this problem, the game should give the player a cue to let them know that their hammer time is about to expire — blinking or an audio signal would be helpful. And maybe if the game detects that Jumpman is facing a barrel, and it is within a “close enough” distance just as time is about to expire, give the hammer enough extra frames before despawning it to allow the barrel to be busted, avoiding what would otherwise feel like an unfair death.

Since the levels are timed, and running out of time will kill you, and you can’t clear the level when you have the hammer because you can’t climb with it, getting the hammer can screw you if you grab it while the timer is running low.

As well, your remaining time gives you bonus points, so being forced by the hammer to wait before you can finish the level can actually cost you points, unless you can smash enough barrels/fireballs to make up for the lost bonus time, and make it worthwhile. It would be better if you could cancel the hammer early, or if you could still climb and jump while holding it. Or, perhaps hitting the jump button while holding the hammer could make Jumpman throw the hammer, giving you a useful way to cancel it early, and a ranged attack that could come in handy and give you one more option.

The hammer may make you seem invincible, but you can still be killed if a barrel gets past the hammer to touch Jumpman. Most players don’t realize this until, soon enough, they learn it the hard way. A barrel coming down a ladder can be hit by the hammer, but if it swings out of the way and the timing is just wrong, the barrel may hit Jumpman in the head before the hammer swings back up. Likewise, the rolling barrels may approach Jumpman from behind, or roll under the hammer while it is swinging above Jumpman’s head. The swinging of the hammer is automatic, not controlled by the player, so whether the hammer hits the barrel or the barrel gets through is somewhat random. Usually Jumpman will hit, but once in a while the barrel will get through. I would fix this design issue by making Jumpman invincible from the front while holding the hammer, but still let him take hits from above and the rear.

Barrels/fireballs

Barrel pathing is pernicious; whether a barrel will go down a ladder or continue down the ramp can’t be known for absolutely certain, but it seems that barrels are more likely to go down the ladder if you’re on the ladder, making using ladders especially deadly. It makes you paranoid to avoid starting up a ladder until any approaching barrels have cleared the ladder you need to climb. To some extent, you can manipulate the barrel AI by your position and direction, as the enemies will tend to take the path that is least advantageous to you. So by standing to one side or the other of a ladder, and facing the right direction, you can often influence the barrel to take the short path or the long path.

Barrel spacing is too random and can often kill you unfairly. Donkey Kong will sometimes roll two barrels at you too far apart to jump both together, and too close together to jump the first one and then immediately jump the next one.

Sometimes DK will toss a barrel that will go straight diagonally down the screen, ignoring collisions with the ramps. These move extremely fast and are unpredictable, making them all but impossible to dodge. If you happen to be in their path, at the top of the screen, you have almost no warning and no time to get out of the way.

Collisions with barrels will kill you with any overlap — even if you’re standing on the platform below, with your head poking above the next level, a barrel rolling along that level will collide with you and kill you. An if it passes below and clips your feet even a little, while you’re on a ladder, it’ll kill you as well. Collision boxes could have been made smaller, to make slight collisions forgiving, and allow for exciting “close calls” rather than cruel kills.

Rivets screen

Rivets – the final level (but also the 2nd one you reach, for some reason)

You clear this screen by popping all the rivets out of the girders, causing the structure to collapse. You clear the rivets by walking over them. This creates a narrow gap between the two rivets, really it’s just a crack. It looks narrow enough that you should easily be able to walk over it without inconvenience, much less danger. Yet, if you try, you find that Jumpman will fall through this narrow gap, to his death. This could have been nerfed by making you stop at the edge of these gaps rather than fall, or by allowing you to step over them unimpeded.

In later Mario games, Mario has the ability to fall any distance without injury, so long as he doesn’t fall into a bottomless pit. In Donkey Kong, though, Jumpman can’t fall any distance greater than the height he can jump. This means you have a lot less options and possibilities for moving around a level. The result is the controls feel stiff and uncomfortable.

You can grab a hammer on this level, as well, and if you do, you’ll be stuck walking back and forth on the girder you’re on, unable to walk over any gaps created by a missing rivet. This often means waiting for several seconds on one of the smaller side platforms, unable to climb up or down the ladders, and unable to cross the rivet gap. When you have the hammer, the fireball enemies that move around this level will often keep out of your reach, unless they happen to already be on that platform with you, seemingly waiting for your hammer time to end, so they can swarm you the instant you’re again vulnerable. If this happens, you’re often blocked from multiple sides, or facing two consecutive fireballs spaced so that you can’t clear them with any possible jump. Again, it’s like the game is designed to punish you.

Elevator Screen

Elevators – oh shit.

I could never clear this screen as a kid, not that I got many chances to. To get to it, you have to clear Girders, Rivets, and then Girders again, making the first Elevator screen level the fourth level in the game, and by this time I’m usually out of lives.

The jumps on this screen are very unforgiving, due to the height that Jumpman will fall if he misses the moving elevator platforms that he must land on in order to make his way to the goal. If you mis-time your jump, you may miss the platform, or simply land on it after falling too far. And you don’t have to fall very far to fall too far and trigger a death when you land.

There are bonus objects to pick up on this level, and not very many other scoring opportunities. But the bonus objects are so difficult to reach it’s not really worth it. You’ll waste too much time, or miss a jump and die.

At the end of this level, there’s a bouncing spring that moves horizontally very quickly, bouncing at you before falling down the right side of the screen. This makes any approach up the level involving movement through the right side of the screen especially deadly. It takes pixel perfect timing to avoid this final obstacle, and it’s probably the hardest single challenge to negotiate in the entire game. Apparently (I say, because I’ve never done it) the way to clear this final obstacle is to wait patiently, and time your move so that you can pass through the danger zone between one spring launching and the next. Move at the wrong time, and you’re screwed. It’s possible stand in a specific spot where the spring will bounce over Mario harmlessly. I don’t think it’s possible to jump over the spring; if you can it’s almost certainly not worth the risk.

Pie Factory Screen

Everyone thinks the cement trays are pies, and who am I to argue?

This screen is also known as the cement factory, or the conveyor belt screen. I don’t remember ever playing it, so I don’t really have complaints here. To get here, you need to clear 7 screens, and since I could never get past the Elevator screen in level 4, making it to the Pie Factory was far beyond my ability. It’s also the level that is often omitted from home console ports. I don’t even know what you need to do to clear this screen.

I watched some videos of people playing this level, and it looks like it might one of the more enjoyable levels. A few of the platforms are conveyor belts, which affect Jumpman’s horizontal speed when running on them, depending on which direction you’re facing, they’ll make you slower or faster. This doesn’t seem to affect your jumping ability much, though, because any other objects on these platforms are also affected by the conveyor belt speed.

At the top of the screen are two extension ladders which slide up and down according to a timed pattern. To clear the level, you have to wait for the ladders to extend up, then climb to the top-most platform. This doesn’t seem terribly difficult, although you’ll be at the mercy of the timing if there happen to be any fireball enemies nearby, you may not be able to get past them due to the timing of the ladders.

It’s hard to say without having played it, but all-in-all I think the Pie Factory might actually be one of the easier levels in the game. Which makes it seem strange/questionable that it is the last to be introduced to the player.

Lose a life and start over

On any level, if you lose a life, you start over from the start of the level you’re on. No progress is saved, no checkpoints. In order to clear the level, you have to do it perfectly, not making any lethal mistakes. This makes clearing any level which you have difficulty with especially difficult.

In a modernization, I imagine that there would be a waypoint system to allow you to keep some of the progress you make in a level. On the Rivets screen, this would be a simple matter of remembering the rivets you’ve popped. On the Elevator screen, starting Jumpman on the last platform he safely touched before dying would be helpful. On the Barrels screen, resuming exactly where you died would be nice, but if not, then at least start over on the last platform touched.

Why did Donkey Kong succeed?

Donkey Kong was one of the most successful arcade games ever, and even today it is a favorite of many gamers who appreciate the games of this period.

In 1981, arcade videogames were still quite new and had grown almost unimaginably popular after about a decade of market growth and technical development, with great interest in any new title that came out. It was a time we now look at as a golden age for the video arcade, after several years of ascendancy through the 70’s black and white era that gave way to the mega-popular blockbusters that dominated the early 80’s, games like Asteroids, Berzerk, Defender, Pac Man, Dig Dug, Joust, Galaga, and Moon Patrol. Out of all of them, only Pac Man made more money than Donkey Kong. What made it such an attraction?

Donkey Kong had the benefit of being unlike anything that had come before it, in terms of play style and technology, yet it had instant familiarity all at once, in the way it echoed the familiar King Kong story from classic cinema. It had colorful cartoon-like graphics. Its sound effects and music were charming. The game play was novel, yet intuitive, despite the brutal difficulty level. And for an arcade game, being extremely difficult was actually a good thing, since it resulted in shorter games, more credits per hour, and thus higher revenue. The challenged appealed to many gamers of the time. And there were not yet other games similar enough to compare against it, so the rough edges in the mechanics weren’t very obvious.

As one of the earliest platformer games, it broke ground and innovated, and for the time that was enough. Despite the shortcomings, rough edges, and unforgiving difficulty, it captured the minds of the public and gave them entertainment.

For all that, though, it just wasn’t for me, and I’ve come to accept that. For my quarter, Ms. Pac Man or Zookeeper is a far better play.

Hacking Alternative Maps into Superman (1979, Atari 2600)

My research on Superman has lead me to a deep understanding of the map topography, and I have come to regard it as an inspired design. But whenever I hear people talk about Superman, I feel like I must be in the minority. People who like the game tend to agree with me, while people who don’t, don’t.

Often I’ll hear players who do not have the appreciation for the game that I have complain that the map is a weakness in the design. I always rebut this by saying that yes, it’s confusing at first but once you learn it, it’s actually a strength. I can point to all the shortcuts that are made possible by the map topology, its utility in weighting the randomness of the AI movement, and argue that it’s actually beneficial that the map is confusing, because it makes the overworld seem bigger than it really is, and adds to the challenge of the game.

But I think it would be even more convincing to demonstrate alternative maps, and let players experience them and decide for themselves.

It’s fairly likely that I’m the only one in the world who cares about this, and I’m almost certainly the only one who cares about it as much as I do. But what the hey.

I decided to see if I could could learn how to hack the ROM for Superman, and change the map navigation in order to rearrange the map screens. This would be preferable for authenticity, but it might also be limiting, in terms of what’s actually possible.

If that doesn’t work, or if I have ideas for expanding on Superman‘s design that aren’t feasible in a romhack, the other option would be to remake Superman in GameMaker, keeping it as faithful to the Atari version as possible, and experiment with the map that way.

Alternative Maps

The easiest Map design to implement would be to make the vertical and horizontal sequences identical, and to make up/right be “forward” and left/down be “backward”. The subway system could be left unchanged, up to go to the next station, and any other direction to exit back to the overworld, keeping the exit screens the same as in the original. At the end of the list of overworld, we can loop back to the beginning.

The biggest problem with this redesign idea is that there are no overworld shortcuts, other than to take the subway. To get to/from anywhere, it is always a straight line. This is slow, tedious, and to me, it seems like it would be boring. Subway travel helps somewhat to speed up travel, and becomes more important. But a bigger problem is that the gangsters can’t really spread out deep into the map by randomly moving in one of four possible directions. Their possibilities have been halved; they can only go forward or backward to the next screen, and so they will all be found in the first few screens, and rarely if ever would they make it to the end of the map.

But on the plus side, this map is extremely easy to navigate, much harder to get lost in. Gone are the one-way vertical transitions from the Phone Booth and Bridge screens, and the confusion they created. This might make it an ideal variation for a very young player, or for someone who is very inexperienced with Superman.

The other easy to understand map would be a cartesian grid. We have a problem in that 21 overworld screens do not map neatly to a regular grid of equal rows/columns. We can take a 5×4 grid to get 20 of the rooms in, with one room left over. We could truncate the overworld to simply remove this screen, which is the easiest solution. At the end of each row or column, we can either have a hard edge, where you cannot proceed beyond, or we can wrap around to the start of the row or column, or we can increment the row/column and move to the start of the next row or column. I’m not sure how to make a hard edge work, though. The easiest way would be to make these edges refer back to the same room, but doing it this way, Superman would still warp to the other side of the same room, which would be weird. Still, as a proof of concept, it’s quick and easy to do.

The advantage of this map is that it would be still be easier to understand and learn. The disadvantage is that, at least using the first two traversal approaches, you can no longer go through the entire overworld by going in one direction. When the world loops, it will only take you to the beginning of the the current row or column.

The ROM Hack

I looked into it and discovered that the ROM hack path would be much easier than I had anticipated. So much of the work had already been done for me by others.

  • I searched the web and found decompiled assembly source code for Superman, which had been nicely annotated.
  • I learned that sometime in the recent past, someone named chunkypixel had released a Visual Studio Code extension called Atari Dev Studio.

This saves me a ton of time. I don’t have to learn how to disassemble the rom myself, and I don’t have to learn 6502 Assembly well enough to be able to make sense of the disassembled code to figure out what’s going on.

So, literally, all I had to do to get started was:

  1. Install Visual Studio Code
  2. Install Atari Dev Studio plugin
  3. Open the decompiled superman.asm
  4. Edit it
  5. Compile it
  6. Test it in Stella

I’m astounded that it’s this easy. The annotated source code is documented well enough that I can tell where I need to make my edits, and what the changes I need to make are. Hats off to the homebrew community for developing these tools and making the information generally available!

First, I did a test compile to make sure that the decompiled assembly that I had was viable. It compiled right away without any problems. I fired up Stella and ran it, and it ran, and seemed to play exactly like Superman. Success!

To make the edits, I read through the source .asm file and tried to understand what I could. Fortunately, the file is reasonably well documented. Without actually knowing 6502 ASM, I can’t say I understand everything I’d like to, but I can see enough that I should be able to make edits by trial and error, and make progress.

The section I’m interested starts off like this:

Screen00: ;unused??
;Screen Info: 8 bytes per screen
;Offset 0 = GFX bitmap low byte
;Offset 1 = GFX bitmap high byte
;Offset 2 = Foreground color
;Offset 3 = Background color
;Offset 4 = screen above
;Offset 5 = screen right
;Offset 6 = screen below
;Offset 7 = screen left
    .word IF2AC ; $F000
IF PAL
    .byte $46 ;red $F002
    .byte $08 ;grey $F003
ELSE
    .byte $36 ;red $F002
    .byte $08 ;grey $F003
ENDIF
    .byte <Screen00 ;$F004
    .byte <Screen00 ;$F005
    .byte <Screen00 ;$F006
    .byte <Screen00 ;$F007

From reading through the code, I infer that the stuff after a semi-colon is a comment, so the different comments explaining the Offsets help me to understand that Offsets 4 through 7 have to do with the connections between the different screens in the map. All I should need to do is update them with different addresses, and the map will change! Easy!

In my next update, I’ll present my modded Superman maps and do a little analysis of them.

Pixel Art Chess Set: Communicating function through design

My five year old nephew started learning to play Chess recently, as I discovered on a visit a few weeks ago.  We played two games, and I didn’t have too much trouble beating him, but for a five year old he’s not bad. He knows all the pieces and their basic moves and their relative value.

I thought it would be fun to build a video Chess game that he could use to help learn strategy and how to see the board. So this is my latest project. I’ll be posting more about that as I work on it.

My first step was to design graphic resources. I didn’t want to spend too much time on it, just a basic “programmer art” chess set, that I could use to build the program with. Of course, it didn’t end up that way, and I’ve gone down the rabbit hole designing variations on sets of minimalist pixel art chess men. It’s too fun and fascinating not to.

My first attempt was actually rather good, I thought. I went for 16x16px representations of the classic chess pieces. I drew them very quickly, but was very pleased with my results, particularly the Knight.

I could have stopped right there, but it was so fun to make this set that I wanted to continue exploring and see if I could refine my pixeling technique further.

I decided to search the net for images of chess pieces to see what variety there was, and found a lot of examples of beautiful sets. I started to take notes and to infer design rules for chess men:

  1. Chess pieces are called “chess men” which seems antiquated and sexist, especially given that the most powerful piece in the game is the Queen.
  2. The modern standard chessmen are a design named for English chess master Howard Staunton, and have been in use only since the mid-19th century. A strength of its design is that each piece is easily distinguished from the others, making errors from mistakes in identifying a piece — a problem with other sets — unlikely. Previously, chess men of different types had a less distinct appearance from one another, and were not as standardized.
  3. In a Staunton set, the Knights are the most detailed, ornate, varied, and realistically represented pieces. 
  4. In Staunton sets, there is a standard height order: pawn, rook, knight, bishop, queen, king. (This surprised me, since Rooks are more valued in Chess I would have expected them to be taller than Bishops.)
  5. The pieces are differentiated by their tops. Each type of piece has a distinct, unambiguous shape.
  6. The body/base of the pieces have a common design, to create unity among the pieces in the set.

I tried to apply design choices to my chess set following these insights.

A follower on Twitter offered feedback that the pieces should be different heights, so I tried that. With a 16×16 pixel tile size, I could only shorten the back row pieces by 1-3 pixels.  I also tweaked the King piece by adding a few more pixels to its top, to make it a bit more distinct from the Queen, and moved the Pawn so that it would be more centered in its square.

I do like the result:

Staunton pixel chessmen

I think my initial 16×16 Staunton set look like they’re in ALL CAPS, while this set is more “readable” by using “mixed case” heights for the pieces.

I wanted my chess game to be focused on usability and instruction. I needed each piece to be immediately recognizable, and not to convey a bunch of extraneous information to the player that has nothing to do with play mechanics. 

My next attempt was a different take altogether. I wanted the look of each piece to suggest its rules for movement. I also thought that it would be clever if the pieces communicated the rules for using them through their visual design.

I ended up being very pleased with this set as well, although I went through many more variations, particularly with the Pawn. This one also came together easily and rapidly.  When your tile size is 16×16 and you’re working in just a few colors, it’s easy to work fast.

Things I like about this set:

  1. The shape of the piece is a built-in tutorial for how the piece moves.
  2. The Pawns still have a pawn-like shape (at least the black pawns; white pawns are “upside down”).
  3. The Knight’s shape may be read as an abstraction of the horse’s head shape of the Staunton piece.

I think out of these variations, my favorites are: P9, Kn2, B3, R1, K?  I’m least certain which King I like.  I think K4 and K5 are my top two, but I also liked the idea of incorporating a crown motif into the design, to signify the King’s special property of being the King.  K1, K2 and K6 were attempts at this, but I think K1 looks too much like a Staunton Rook, unfortunately.

I wasn’t sure which of my designs to use for my final set, so  I posted my sets on Twitter and a pixel art community on Facebook. @Managore responded to my request for feedback by coming up with a set of his own design, which I quite like.

His design was retweeted and liked over 500 times, and received many positive compliments from his followers, many of whom are game developers. One of my favorite indie developers, @TerryCavanaugh, who made VVVVVV and Don’t Look Back, pointed out an physical chess set that had been designed a few years ago which incorporated the same ideas.

It’s exciting to see my idea get picked up and reworked by fellow game developers who are inspired by the concepts I am exploring. So fun! Getting that validation that what I’m working on is interesting to others is very motivating. But it’s particularly good to get some attention from developers whose work I’ve admired for years, however modest.

I’m excited about this project and look forward to working on the program. I have more design ideas that I’m looking forward to getting into soon.

Ability use frequency vs. payoff in the original Legend of Zelda

My friend Douglas Underhill wrote an interesting article about game design, dealing with the frequency of an ability’s use with its reward payoff. Doug’s question comes down to, given that there are hundreds of abilities to potentially pick from in character design, and that certain abilities are either useful much more often and in a much wider range of situations, or else provide a much greater payoff than others, what can be done in designing the rules system and/or world to encourage diversification in putting a finite amount of skill points into skills that are useful less often, or which provide a lower expected payoff.

Underhill asserts that, ideally, less-used abilities should be higher in their payoff, in order to encourage players to put character building points into them at all, while frequently used abilities should be low in payoff, to offset their wider applicability and to prevent the game from falling out of balance. But it’s an inherent problem because the feedback of high reward will encourage the use of an ability.

Essentially, though, game design encourages the use of abilities that grant a high reward, and the higher the reward, the more likely the player is to use and rely on that ability (barring some other limiting mechanism that mitigates or suppresses over-use).

But beyond unbalancing the game, or making the player’s strategies predictable and boring due to min-maxing, the reward weight/use frequency of abilities in a game’s design will determine and shape what the game is about. Dungeons and Dragons is nominally about role-playing and fantasy adventure, but its rules systems make it a game largely about dice rolling and fantasy medieval combat.

Tabletop RPGs are inherently flexible, though, so a given group of players might opt to make their game (or at least a particular game session) about negotiation and barter in a fantasy medieval economy, and there’s nothing wrong with doing so. But it’s much more likely that the typical group of D&D gamers will spend most of its time fighting and questing for objects and abilities that make them ever better at fighting and surviving in exotic, hostile fantasy environments.

After reading Doug’s article, it got me thinking about how this principle applies in video game design. (more…)