Drop Shadows and the Importance of Legacy Knowledge

Do what thou whilt shall be the whole of the law.

Keeping tenured developers on teams and ensuring they are in a position to pass down their knowledge and ensure that certain solutions to problems aren’t lost is crucial and yet often forgotten. Problems that were solved on what today we would consider anemic hardware are often being forgotten not just how to solve them but that they’re even problems to begin with.

When gaming first started going 3D, there was a lot of consideration put into making that a transition that would be simple and intuitive. There’s been several different issues and they’ve been solved several different ways. When as things moved forward it’s like they forgot everything they’d already figured out.

Different developers had different solutions for the Z buffer problem and yet now it’s like they forgot it’s even a constitution now that they usually use these big engines to build their games on where the low leveling rendering routines are taken out of the hands of the developer. I bet if you asked a bunch of modern game designers what the Z buffer is, many of them would have no idea. It’s a problem.

The Z buffer is a layer of data that the program keeps track of in addition to the X, Y, and 3 color values for the screen render matrix. It’s used to calculate scene composition. To put it simply, in addition to a given pixel’s location and color on the screen, the computer also keeps track of how far that is away from the camera. (Camera being an invisible object in the game world that the scene is rendered in relationship to as if it was a TV camera.) When it starts drawing a scene, it starts drawing the objects one by one. When things start to overlap, it looks at the Z buffer to see which one is closer to the camera and then that one is the one that gets drawn. It’s not that complicated a concept but it’s extremely important to understand when it comes to rendering 3D graphics.

Ok so now that you know what it is, what does it have to do with game design beyond just the rendering engine? A lot actually. When you’re playing a 3D game on flat screen, your eyes can’t see depth. It guesses depth based on clues like things look smaller when they’re further away. For most things that is good enough to understand what’s going on in a scene for passive media like TV and movies. However when it comes to games, some genres need to keep that lack of depth protection in mind or it can become extremely frustrating for the player.

The genre the tends to effect the most is platformers. We’re talking about games like Mario, Sonic, Rayman, Pac-Man World that sort of thing. Games where a lot of the time you spend your time using joysticks and a jump button to move your character around in an environment and jump on top of platforms and other such things. So what’s special about them that the z buffer being something the player can’t see is more of a problem than other genres?

Platformers, due to the nature of the beast, involve a lot of precision to make sure you land on what you intended rather than some other thing nearby or worse, falling to your death.

For 2D platformers, this isn’t an issue. Everything you need to know is right there on the screen. Up down, left right, that’s it. Walk along the X axis, jump along the Y. Simple. However when 3D comes in now you have a problem. Sure, seeing where something is on the X and Y axis on the screen is relatively simple but the TV can’t show you depth so how do you know how far into the screen something is in the game world? All you can see are flat shapes on a screen.

Well as far as drawing convincing 3D graphics that’s simply a matter of projection, which is a method in mathematics which draws an interpretation of an object in a higher dimension into a lower one. You probably learned about it in school but even if you didn’t that’s not super important right now. What is important is the different ways people have gone about solving the problem. So how did they solve it? Well, I personally have seen 3 different solutions. There may be more I’m unaware of but these are the ones I know about.

The first solution I call the fixed camera method. This is the one that the developers of the first Crash Bandicoot games used. Simply put, they always took a direction of movement away from the player so they’re never in control of too much at once. In the main stages, the camera perspective is fixed behind Crash and while it moves forward and back when he moves, it will not move side to side. This means that the distances between objects on screen will always look the same not just in that level but all levels that are in that style.

Then the second solution is what I call the Kirby Solution because it was the method used for Kirby 64. It was also used in many of the Crash Bandicoot bonus level areas where the game essentially plays like a 2D platformer that’s simply being rendered with 3D assets. I’ve seen some call this 2.5D but I don’t because it can get confused with the style of software rendering used in early first person shooters like Wolfenstein 3D, Catacombs 3D, and Doom, which is often also called 2.5D. To get a bit more technical, this solution simply takes away the Z axis and only lets the player, platforms, enemies and such move along the X and Y axis. So we have solutions that simply take some type of control away from the player to sort of just work around the issue rather than actually solve it directly. It’s a perfectly valid approach but it can be limiting at times both in terms of level design and player freedom.

So what solution is there that tackles the problem directly and leaves the player with the most freedom? The answer, one that’s been used in 3D platformers pretty much from day 1 is called the drop shadow. With the drop shadow, all objects that it’s important to be able to judge the distance of the Z axis there is between two points is to have a shadow that’s dropped straight down onto the surface directly below the object regardless of where the light is common from. It’s a really elegant solution because it’s unobtrusive, easily understood and used without explanation, and easy to use in a game. By having the shadow this way, you can see on a relatively flat surface the distance between things shown in 2D while being in a 3D world.

Now, it is slightly less realistic in terms of photo realism to have a shadow directly under the object even if there’s no lights directly above them to cast it, but it makes everything way less frustrating and in a subtle way that isn’t going to distract from any of the other visuals in a major way like something like a HUD might do. Plus, it’s great for both the developers and players alike. Developers don’t have to restrict themselves as much in terms of world design and believable locations, and gamers get more freedom to move around and explore without losing track of the size and distance of objects on the screen.

So why am I talking about this? Well, as you can probably guess, modern developers seem to have completely forgotten not only this solution but that the problem even exists in the first place. So many modern platformers are being made without and it’s really a shame because they can become really frustrating really fast.

A great example is the infamous Rail Canyon in Sonic Heroes. You spend most of the time grinding on rails and hoping between them as you travel along the side of a cliff face. Most of the game is pretty good about drop shadows but suddenly they’re gone and the difficulty and frustration ramps up dramatically. It’s hard to land jumps, see when things are coming, and just navigate the world in general. The game has drop shadows but because of the level design of having no ground beneath your feet, only rails, means you have no idea where you’re jumping and if you go too far.

Unfortunately it looks like Sega never learned their lesson either because it’s even worse in Sonic Frontiers. There’s no drop shadow at all. Now this isn’t a problem due for a surprisingly lot of the game but there’s two mini bosses in particular that become a massive pain because of this. There’s this mini boss you have to fight by grinding along circular rails in the form of rings. It shoots a spinning laser at you and you have to jump between them to collect blue orbs while avoiding the red ones. Simple enough concept and decently clever without being overdesigned but the execution is godawful because there’s no drop shadows. The rails are only distinguished from each other along the Z axis and spins just so that it never shows you any other angles. Then the orbs have no shadows at all which makes it hard to tell where they even are compared to the rails. Then the laser is translucent which means it’s hard to judge its location. And nothing has a drop shadow, and the faux sun shadow is at such an extreme angle you usually can’t even see it. It’s a tremendous exercise in frustration and one that’s totally unnecessary if they’d just add something that’s been a known solution to this problem as long as the genre existed.

At the time they were originally intended, drop shadows were the only kind of shadows they knew how to render quickly, but even as things went forward they seemed to understand the importance of it and have it in addition to a “natural” shadow until more recently where they seem to have just completely forgot the problem entirely.

So to reiterate the point I’m making in this case, it’s extremely important on any team to take advantage of the knowledge held by more senior members because they may well know the solution to a problem you didn’t even realize you had.

Now, there is a fourth solution I’ve seen that we haven’t talked about and that’s because it only deserves a slight mentioning because it’s the hardware solution; 3D screens. The most famous version of this is the 3DS and Super Mario 3D Land, which plays a lot with perspective and the extra information given to you when you can see depth. There’s also Lucky’s Tale, which requires you to wear a VR headset and is one of the few games I’ve found that uses the headset as a camera rather than the player’s head. Most VR games are first person but Lucky’s Tale is a 3D platformer. It feels a bit like playing the game with action figures.

Ok, now that I’ve gotten that out of my system it’s time to give that mini boss a second go.

Love is the law, love under will.

Determined,
Vanessa

Some Thoughts About Splatoon 3

Do what thou whilt shall be the whole of the law.

Lately I’ve become obsessed with Splatoon 3. I’ve recently upgraded to the Splatoon 3 edition OLED Switch and got the matching Pro Controller to boot. Plus I couldn’t help myself and got several of the Amiibos including Deep Cut and Off The Hook among several others. It’s hilarious the way Big Man doesn’t fit in the box and has to scrunch up so much in it when you scan him in. It’s little touches like that which set Nintendo apart from other game companies in terms of fun and whimsy.

Recently, I picked up a ton of new Switch games, but Splatoon 3 is all I ever want to play anymore. My favorite game mode is salmon run, which I really enjoy. When you have a team that actually knows what they’re doing, it can be great fun. Though, if you don’t, it can easily become and exercise in frustration. Still, I find myself playing it for hours upon hours non-stop.

The game could really use voice chat support so you can instruct team mates that haven’t quite mastered the nuances of the game yet and so you can collaborate better by being able to communicate with your team in real time. I understand that there’s the concern of what people might say but the obvious solution is just to ban children under 13 from participating altogether, like most online things do. It is the law after all, and for good reason. Nobody that young is really developed enough to actually understand what’s going on in a meaningful way and they’re way too vulnerable cognitively at that age to be safely exposed to internet things. That’s just my opinion anyway. Yes, I know the target audience of Splatoon is generally younger than most other similar online shooters but why should children get to ruin everyone else’s fun? Though, I’m admittedly biased. I don’t like being around other people’s children and have no desire to have any of my own, or at least not at this stage in my life, but I digress. At the very least it would be nice for them to add at least 2 more canned phrases beyond just This Way/Help & Booyah. Maybe “Thanks” and “Teamwork”? Just a suggestion and I’m sure there’s plenty of other equally good options you could include. It would be nice to be able to better communicate with your team. If it were up to me, they would add an emote wheel like the have in Portal 2 and Animal Crossing. Stuff like “ink over here” where it puts the pop-up over the area it’s referring to, or “watch out”. Again, just a thought.

Anyways, being a heavily team based game mode, salmon run can seriously be screwed up quite quickly if people aren’t being team players. If it were up to me, it really shouldn’t count against you when you fail because someone ditches the team in the middle of a run. Maybe they should put tazers in the Switch controllers so if someone tries to abandon their team prematurely in a salmon run they get tazed. Haha! I’m joking of course, but it is very annoying when someone abandons you to the hoards of the salmonoids in the middle of a particularly hectic run. Even just being one player down can seriously impact the difficulty of the later phases.

On the topic of salmon run…Hey, um, Mr. Grizz? Yeah, don’t get mad when your team fails because your idea of good weapons includes a pencil and a toothbrush. The pencil is especially ineffective.

I wish the game was a little better at deciding on the current loadout because when you’re randomly assigned a weapon that is poorly matched for the game mode it can be frustrating both for you and your team who must rely on you. In my experience, the absolute worst is the pencil. It’s supposed to be a sniper rifle kind of thing, but it’s particularly useless in salmon run. The game mode is way too hectic and generally only the basic salmonoids are even particularly vulnerable to it. Worse, when you’re forced to use it, you generally get splatted a lot because you get overwhelmed way too easily. Plus the one type of boss salmonoid that you’d think it would be perfect for, the steelhead, it’s useless on because it doesn’t do enough damage in a short enough time to actually destroy the bag before he launches it. I hope whoever it was who added the pencil to salmon run got fired.

Also why in the world do you use ink to throw an egg? That makes no sense at all and it’s really frustrating considering the number of boss salmonoids that require bombs to kill. Maws for example can only be killed by a well timed well placed bomb right in his mouth right before he jumps out, but then you grab an egg and can’t even throw it because you don’t have enough ink. Plus why do bombs use up so much ink in the first place? You can’t even throw two of them without ducking down in squid form under friendly ink (or on dry land if you don’t mind it taking forever to replenish) first.

Sometimes the game throws way more bosses at you at the same time than you can possibly take down. There should never be more bosses in the level than players. Having more is just plain unfair. At high tide that number should be halved. And there should never be two of the same one in the level at a time. Also the supply of ink you have runs out way too fast and takes way too long to reload. When any of the boss salmonoids that spread a lot of bad ink around are spawned, running out of ink can be a death sentence because there’s nowhere to reload.

We’re squid and octopus people, so why in the world can’t we swim? Water shouldn’t be an instant death, especially in squid mode. That makes no sense at all. At least have a countdown timer or something. Even just 3 seconds would make a huge difference in removing a huge cause of needless frustration. Dying because you were in squid form on a grate walkway and fell through into the water is never fun.

On a multiplayer-related note, you can tell a lot about a player by what they choose as their name and the way that they write it. If they write it normally with proper capitalization they’re almost certainly going to be a lot better than the ones who write unpronounceable nonsense, can’t spell correctly, can’t correctly capitalize their name, or use weird characters.

Additionally, the tutorial doesn’t cover the king salmonoids so most players don’t seem to understand how to fight them. This is not fun. I’ve yet to beat one for that exact reason. It took me several attempts to figure out you’re supposed to use the gold eggs against them. The game giving you small eggs for shooting them despite it not doing meaningful damage doesn’t help. Then also throwing so many boss salmonoids at once is also bad because you get overwhelmed easily. Then also the round timer is way too short to really accomplish the goal. Then the game teases you about it by having an entire store that’s completely useless without beating one. And you don’t even get to fight them all time time so you don’t get a chance to really get the hang of it.

Why are the grillers the smartest enemy? They’re overpowered honestly. You practically have to sacrifice someone as bait to get a good shot on the tail. Also the steelheads are overpowered as well. It barely gives you enough time to get a good shot off before it throws the bag and with several of the weapons it randomly assigns to you, it’s impossible. It should really have a longer delay before it throws them. Even just a small amount would make a huge difference.

In any case, Splatoon 3 is a lot of fun but it can be rather frustrating depending on the kind of people you get matched with on your team. This is especially true in salmon run. The quality of player can easily make the difference between success or failure. No matter how good you are at the game, there are always scenarios where you have to rely on your team and if they don’t know what they are doing they can get you pay cut after pay cut after pay cut and there’s nothing you can do about it.

Still, I love the game and have been spending most of my free time playing it and enjoying the heck out of it, and I’ve got a lot of free time thanks to my current temporary semi-retirement, but that’s another topic entirely. It’s a great game and I hope Nintendo only continues to expand and update it far into the future so I can continue to enjoy it as long as reasonably possible.

Love is the law, love under will.

You lip-sinc, we drip ink.

Splatfully,
Vanessa

P.S. Shout out to Chong for being the best person I ever played with.

The More Things Change

Do what thou whilt shall be the whole of the law.

I went to the movies today to see The Strangers Chapter 1. While leaving the theater, I happened to notice a poster for the upcoming Borderlands movie. When I got home I looked up the trailer and I’ve got mixed feelings about it.

I recently got a Steam Deck and I’m still several days later blown away with what that little guy can do. I’ve had a Switch for a good while now but compared to the Deck, it’s starting to look a little dated.

In any case, prompted by the movie poster I decided to go back and play Borderlands 2 again. It’s sparked some thoughts.

The Vita version of Borderlands 2 had to be compressed down to work on the hardware and still occasionally dropped frames. Now I can run the full PC version on my Steam Deck on max settings. It’s amazing what they can do with electronics these days. I originally played it using a combination of the PS3 and Vita versions. At the time it had a feature where you could transfer your save back and forth so you could play it on the Vita when away from home and then on the big screen when you were in front of your TV. It was a nifty little feature and it frustrates me that they got rid of it. Now though, the Deck can do both jobs. Play it portable, then dock it and play it on your TV. I’ve got a Steam Controller that I use for it.

For those wondering, the VR version of Borderlands 2 isn’t great. The controls are nonsense (at least with the index controllers) and it drops multiplayer support in favor of having a time slowdown mechanic. Not a choice I would have made. Playing co-op was hair the fun of that series.

I really wish companies would go back and fix up the VR games they released by using what Half-Life Alyx had to teach on the subject. That’s how you do a story driven VR game the right way. Borderlands 2, Skyrim, and Serious Sam VR all really deserve an update to fix their wonky mechanics. Borderlands needs the controls fixed up. Skyrim needs the combat fixed up to be more like Blade and Sorcery, and Serious Sam needs cleaned up in a lot of ways.

Unfortunately we all know that it’s not gonna happen because there’s no profit motive to drive them to care. The pursuit of profit is why we can’t have nice things.

As for the deck, the one feature I wish it had would be to support creating an ad hoc network that you can then play local multiplayer games with. Other handhelds can do this so why not the Steam Deck? Just a thought.

Love is the law, love under will.

Having fun,
Vanessa