I’ve had the Steamdeck for a couple of weeks now. I have a few different thoughts about it. Mostly, it’s cool as hell, but only if you like messing with hardware and software.
I happen to love messing with hardware and software. I dig into some flavor of Linux about once a year. Not enough to remember everything, but just enough that I know I can usually fix what I break. If any piece of hardware has some sort of secret menu or hidden configuration, I will probably try to get into it. If, for example, my TV had a hidden menu, I would fiddle with it. It did, and I have.
It’s not that the steamdeck has a lot of secret stuff built into it. There is all sorts of hidden stuff, but it’s not really secret. It has a standard Linux desktop tucked neatly under the veneer of a user-friendly, steam only, interface. Dropping into desktop mode is pretty trivial, but if you aren’t used to that sort of thing, it might be like getting access to a vast trove of power you weren’t ready for.
Just like any Linux PC, you can install a lot of extra, non-steam stuff. Mostly that means emulators. And boy, does this unit ever run emulators.
I have probably played more SNES, Genesis, Dreamcast, Gamecube, PS2, and arcade games on it than modern games at this point. It’s an amazing Rocket League and HardSpace Shipbreaker device, of course, but it plays a mean game of Street Figher 3 as well.
Setting up emulators and other games on it is as simple as using any Linux based PC. Mostly, you just download and launch them. Not much to it. At least not much to it if you like doing that sort of thing.
I have had an issue getting some of the controls to work properly with Dark Souls 3. You can configure almost everything on the steamdeck, but that doesn’t mean that it will work flawlessly. It works pretty well, but, like any PC, it has quirks. Sometimes things just won’t work the first time, so you will have to dig in and adjust some settings or tweak config files. The battery life isn’t great, but it’s probably adequate for most uses. With all these caveats, it might not be right for the person who wants a console like experience. For me, it’s fantastic.
I haven’t set everything up on it yet, but so far I really like it. If you enjoy fiddling around with technology, a Steamdeck is a pretty neat toy.
This is just a short update on how writing is going.
Right now I have two short stories out for consideration, three more that are nearly done or in editing, and another one that was finished quite a while ago, but needs a rewrite in a few areas. I’m thinking it might be a numbers game.
Of the rejection letters I have received recently, a couple have been the usual form letters, but a couple have been personal and outlined why they were being rejected (and no, I won’t be saying what outlets or magazines these are, mostly because it doesn’t matter, but also because I will likely be sending them more submissions in the future). In two of those cases, the editor sending me the rejection letter said it was because the story didn’t fit the format or theme of the issue, but they asked for future submissions. While this could have been a case of someone trying to be polite, or spare a writer's feelings, they probably would have just sent a form letter if they actually didn’t like it.
In the case of at least one of those rejection letters, I have to grudgingly agree. I mean, I like the story, but it would sort of be a stretch to imagine it fit with the theme of the collection they were putting together.
Here is the problem. When they ask for more submissions, that’s nice and all, but I don’t really have that many pieces of writing just sitting around waiting to send out. In the grand scheme of things, I haven’t really been writing fiction very long. Only a few years of serious effort, and maybe two years actually trying to sell the things I write. I just don’t have a big backlog of pages to dive into. And I very much don’t have submissions ready in a lot of genres or in different themes. For example, I don’t really have any horror stuff. I think that’s because I find a solid ninety percent of horror short stories either not scary or not interesting, and I can’t think of a good way to appeal to the people who do like those stories. What I find scary is more slow creeping dread, than shock and gore. That stuff usually gets flagged as literary fiction and not specifically horror. More Twilight Zone, less Tales from the Crypt.
Whatever the case, I will probably have a couple more stories submitted for consideration over the next couple of months. Maybe that will increase my chances of selling another one. Like I said, it might be a numbers game.
Best Games - Bagman
1982 was a pivot point year for video games. Games like Pac-Man and Donkey Kong were still riding high. To any arcade operator or game seller, it would have seemed like video games were on an unstoppable upward trajectory. Arcades were making money. Atari and Coleco were raking it in with their home consoles. Even home computers, like the Commodore 64, were driving huge game sales.
There was a slight snag for a year or two after that. Honestly, no one could have predicted it. Atari was the biggest player in the industry by far, and they over extended. The floor fell out, and for a hot minute it seemed like video games might be just another fad. If you were designing an arcade game set to be released in 1982, you could be excused for trying to make something a little more ambitious. Something that no one was doing. Something that players wouldn’t be ready for. If you were making an arcade game in that heady environment, you might make something a little weird. You might make Bagman.
Bagman, or Le Bagnard, is an action platform game made by French developer Valadon Automation. In it, you direct an escaped convict around an old mine in a mission to gather up your stashed loot, stuff it in a wheelbarrow, and cart it off screen. It’s a very simple idea, and it could easily have been a riff on Donkey Kong, or a clone of Space Panic, but it’s not. It’s an entirely different sort of beast. Bagman might be the world's first systems based game.
Maybe that’s a stretch, but maybe it’s not.
Here are some things about Bagman. It’s a game played with a joystick and one button. With that stick and one button you can, climb ladders, pick up money, drop money, put money in a wheelbarrow, drop a bag of money on a guard from the top of a ladder, push a wheelbarrow, grab a mining pick, put down a mining pick, scare a guard with a mining pick, hit a guard with a mining pick, hang from a beam to avoid a minecart, ride in a minecart, garab a bag of money while riding in a minecart, and ride an elevator.
More than that, the state of the multiscreen mine is saved between lives. If you get caught or fall, all of the bags you have moved stay moved. It’s a small thing, but it also means that the game is built on independent systems that interact with one another in predictable and player influenceable ways. This was an extremely uncommon way to develop games at the time.
It’s sort of unbelievable that you can do so many, context-sensitive things in one game using only a stick and one button. Not only that, but so many of those actions combine and overlap. Bagman is one of the first ‘If it looks like you can do it, you probably can’ games. There are unique bits of animation and sound that kick off when you trigger most of these actions, but it’s really sort of amazing that you can do them at all. This was in the era of very simple arcade games that could be understood and played in seconds.
You might think that all this interactive complexity would make Bagman difficult to learn or understand, but it is just as intuitive as a game like Donkey Kong. Your goals are clear, and when you mess up, you know it’s your own fault.
So why then is Bagman not up there with Donkey Kong in the list of fondly remembered classics?
There are two reasons.
First, there might be a lot of ways to interact, but there are almost as many ways to get caught or killed. The game is incredibly difficult.
That difficulty is probably to the game's detriment. Sure, it probably gathered a lot of quarters, at least for a while, but that sort of variety of player driven interaction wouldn’t be seen again in a game for a few years. Had it been even just a little easier, more arcade goers would have played it, and more developers would have tried to copy it. Maybe that doesn’t make the best short term business sense.
Second, It’s too easy. I know I just said that it was too difficult, but, like a lot of systems based games that would come later, there are ways to exploit that difficulty. Exploiting games usually means being very patient and taking your time to do everything. If you are willing to pick up a bag, move it a few steps, put it down again, use the pick for a few seconds, and then start moving the bag again, you can finish the game’s, single level. If you are very patient and willing to play for somewhere between twenty to forty minutes, you probably will finish it. Your time playing might not be the most exciting to watch, but it will be full of near misses and well planned escapes. Depending on how much you like exploiting systems, this could be a bad thing, or a very good thing.
I think that we have seen, time and time again, that letting the player win is a good business strategy when making games. Letting them win in a way that is satisfying and makes them feel like they earned it is even better. We did get a Super Bagman, but it was more of a minor iteration on the theme rather than a full evolution. I wonder what an entire series of Bagman games might have been. What could have been done with that innovative layering of actions and systems during those early stages of the industry. I suppose we will never know.
Regardless, Bagman is one of the best games.
This will be a short one. I’m really just here to praise the graphical Swiss army knife that is Blender.
So, a little bit ago, I was working on some textures. The task was to pack a non-alpha grayscale image into the alpha channel. Non-alpha, in that it wouldn’t be used as transparency data for the image. I figured that a channel was a channel so how hard could it be.
I’ll back up slightly.
Sometimes, when working with textures, especially for realtime 3d applications like games, you want to pack as much information as you can into each texture. Standard image files are made up of three or four channels. The Red, Green, Blue, and sometimes Alpha channels. Usually, each channel is a grayscale image that represents steps from black to white, the contribution of each channel's pixels to the final image. If one pixel of the green channel is one hundred percent white, then the green contribution to that pixel will be turned up as high as it can be.
Now there are a lot of perceptual issues that mean that some images have higher contributions from some channels, or they apply different falloff curves to different parts of the color spectrum, for simplicity’s sake, let's just say that each channel has a full range of 128 or 256 steps between black and white for each pixel.
There is nothing saying that you need to use those grayscale channels to build up parts of the same image. What if you have three, entirely different, grayscale images. Rather than using up all three channels of one texture, why not pack all of those into a single texture file using the R, G, and B channels. If you have a fourth one, you can pack that into the alpha channel. At least that’s what I thought.
Channel packing using the R, G, and B channels is pretty trivial, and pretty much any image editor will let you do that. Packing stuff into the Alpha channel proved to be a bit more difficult.
The Alpha channel is usually used for transparency. Same rules apply, though. It is a grayscale image that controls how transparent or opaque each pixel is. The problems happen when you make a pixel 100% transparent.
Most image editors are pretty smart. They will try to infer what you are trying to do. If you convert an image from say, RGB color format to CMYK for printers, there is a set of steps and conversions that the image editor will go through to try to keep the colors as accurate to what you intended as possible. The same thing happens when you set a pixel in the alpha channel all the way to transparent. Most image editors will set that same pixel in the R, G, and B channels to zero as well. It makes sense when you think about it. If you are saving that image out with a bunch of zeros, data compression schemes can shrink the file quite a bit. Only problem is, when you are trying to do channel packing, you don’t want to lose that information.
Now, not all image editors did this. Some kept all the info, but had other issues. They couldn’t read the input images properly, or they couldn’t create an output image properly. They didn’t work with the formats I needed, or they lacked support for linear color space (sort of a must for some texture work).
After trying all the standard image editing tools I have, and it’s not an exaggeration to say that I have an awful lot, I found that only Blender did everything that I needed. Not only that, but it did it better and easier than any of the others.
I will qualify that ‘easier’. Blender can look like the control panel of a 747 and it has functions buried under its function, but if you happen to know how it works, you can mix and match and mess with images in a truly unrestrained way.
I used the compositing part of Blender. It’s intended to be used to layer rendered or filmed images, blending them and adjusting them until they look seamless. It’s the sort of software used to piece together visual effects sequences in movies. Because of that raw image manipulating power, it’s also uniquely suited to ripping apart and reassembling textures in the most amazing ways.
I created a pipeline that split all of the channels and then recombined them in any way that I liked, and any set of images that I used as the input could be run through the system and recombined. Not only that, but Blender works with damn near any image format that you could imagine, and it’s all hardware accelerated. I could rip apart massive 5K textures and put them back together into uncompromising .EXR files (without a doubt, the best image format that people have come up with), in literal seconds.
I don’t know that a tutorial on how to do it is exactly warranted here, but this is a picture of the node tree that the textures run through.
Blender is really one of the best things to happen to graphics in a very long time.
I want to talk about sci fi doors. Okay, this is important.
Actually, you’re right. It is super not important. It’s silly. But I just want you all to know that I have a real problem with sci-fi doors.
Before I get too far ahead of myself and start ripping on some artist's work, I know, I get it. I’m an artist too, and I have made a lot of sci-fi nonsense. Greebles and patterns that really don’t mean anything on machines of indeterminate function. I do it a lot. And I will do it again.
I get it. I understand. Designing something that looks futuristic and interesting is tough. There are only so many techy looking crates and boxes a person can think up before things start getting weird.
I do have a real problem with doors. Sci-fi doors. Some of ya’ll got to get it under control when you are thinking up doors.
Every single one of you has used a door. There is just no way that you are this far into an art career that you have been given the opportunity to draw, paint, model, or construct sci-fi decor and you don’t know that form and function of a door. It’s just not possible. You have used a door.
I went and typed ‘sci-fi door’ into google image search. Go ahead, try it now. Type that in. An awful lot of them look similar, don’t they. You know what they don’t look like. Doors.
Doors might be one of the most practical and least artistically adorned bits of architectural technology that we have come up with. They are never overly fancy, pokey, or embellished, because people will be interacting with a door on a near daily basis. They are usually pretty smooth. They have one extremely obvious interaction point. If they have hinges and rotate on those hinges, they have to be fairly light or at least well balanced. You know what I didn’t see in several pages of the google image search? A door on hinges. You know what most doors in the world have? Hinges. Even most doors in space and at sea have hinges. Because hinges are practical and reliable and if the door breaks, those hinges are easily accessible and repairable. You can make a solid airlock or water seal with a hinged door. Doors on hinges are good and useful, so I doubt that we will abandon them in the future.
Look at this regular ass door.
Not only is this door easy to understand, but depending on the frame it could also be watertight or even airtight. It could be fire poof, bulletproof, even blast resistant. This door probably has most of your door needs covered for centuries.
Okay, so let's just say that we have figured out a really amazing and robust sliding door mechanism in the future. They are more reliable than elevator doors and we can install them everywhere. Fine. Maybe prefabricated doors that slide into a bulkhead or some other sci-fi structure can be made cheap and common. Totally fair.
Have a look at this thing.
Again, I don’t want to drag this artist. The modelling work on display here is pretty good. The material work is nice, and the color scheme is pleasant enough. But what the absolute fuck is going on here. How do I open this? Why are there so many angles and shapes? Why do the white paint lines cross multiple panels? Is it supposed to blend into the rest of the wall? Why are there so many bits you could catch your sleeve or finger on? This door looks like it’s always a little bit greasy. Or it might give you tetanus. Whatever it is, this doesn’t look like a practical door.
That door isn’t an outlier either. I didn’t pick it just to make a point. It was literally in the top row of images when I typed sci-fi door.
So was this.
Why is the edge lit up? Wouldn’t it make more sense to light up the latch or handle? Which brings us to, where is the latch or handle? Who knows. Maybe it’s an automatic door. If that’s the case, what are all those indents and shapes for? Does it have really high cat flaps? Are there multiple peep holes? Do you have to be close enough to read the text before the automatic door sensor goes off? I don’t know about you, but 99% of the automatic doors I come across are pretty smooth. Because there is no need for all that other crap. Smooth is all it needs to be to do its job as a door.
If you thought those were odd, have a look at this.
This door looks like it intends to open me up. I can’t even guess how this thing slides or pivots. Maybe it’s like a transformer and it unfolds into an entranceway. I feel like someone said sci-fi door and this just manifested. Like calling for the Candyman.
Again, and I can’t say this enough, I am not ripping on the art. Making any of these doors is tough. It takes work. What I am questioning is when did we decide this was what a sci-fi door looks like. What in the past several centuries makes us think that we will deviate so wildly from current trend of door technology. Doors are one of the few things we as a species have really nailed. Our doors work very well.
It’s not all terrible.Have a look at this
Other than have a jog in the split of the door for some reason, it’s not bad. There is a clear touch pad or entry system off to the right. There is a door mat for you to wipe your feet on. The light is aimed at the entrance so you can both see the door and, presumably, the occupants can see on video who is at the door. Surface adornment is kept to a minimum. Access panels might hide the workings of the door for maintenance or upgrade. All in all, a well considered door. Even if it is of the slidey variety.
Have a look at this one.
That looks like a regular old, hinge door. Pretty basic. Functional. Recognizable. There is no doubt, it’s a door.
So, here is my plea. If you find yourself designing some sci-fi thing in the future, don’t overdo it. If the thing is a kettle, it’s okay if it just looks like a kettle. Doors can look like doors. Shoes can look like shoes. These are things that won’t change a lot as we venture out into the stars or to the depths of the ocean or across dimensions or whatever. A door can look like a door, and that is good enough.
Best Games - Karate Champ
Now hear me out. What if a game could be one of the best games ever made while being completely broken in very fundamental ways? What if a game could have innovative, even revolutionary, controls while being terrible to play? What if a game could represent a tectonic shift in what multiplayer games could be, while mostly coming down to random chance?
Without Karate Champ, we don’t get a Street Fighter or a Street Fighter 2. Without Karate Champ, there is no Mortal Kombat. Karate Champ represents a fundamental shift in how arcade games could, and would, be made.
If Karate Champ didn’t exist, we would have to invent it.
Karate Champ (or Karate Do in Japan) is a one on one fighting game released in 1984, well before fighting games were a genre.
It is a game that aims to be as much a simulation of a sport as it does a martial arts fantasy. In the single player mode, the player alternates between rounds of one on one fighting with computer opponents, and challenge stages where you have to break pots or bricks or fight a charging bull. It’s weird, but it all works as a piece. All at once, regional Karate tournament and martial arts action movie.
In the versus mode, you use all of those same Karate skills against a real live human on the same cabinet. It can make for very fast, fun, and dynamic matches.
The innovation in Karate Champ is, without a doubt, the control system. Most arcade games in 1984 used one joystick and one or two buttons. Any layout that varied from that template usually meant you were in for a wildly different game.
A couple years earlier, Robotron: 2084 operated with two joysticks. That game was a fairly standard move and shoot type game, but the two joystick control scheme allowed players to move in one direction while shooting in another. It was the game that created the twin stick shooter genre.
Karate Champ used that same control system, but combined the stick movements together in a sort of macro. The left stick was primarily used for moving your Karate combatant around, but when you chained movements on the left stick with directions on the right, you could pull off all sorts of authentic looking Karate moves. It introduces pull back to block. It includes high, middle, and low attacks. If you pull down on the right stick and up on the left, you can do a forward flip that can put you on the other side of your opponent. There are moves that attack behind you. There are jumping kicks. Link all of this with the ability to fight a real human opponent and, make no mistake, Karate Champ is a fighting game.
Karate Champ, out of the gate, incorporates so much of what would become the core of modern fighting games. It was an arcade hit, but it could have been massive. A cultural totem. It comes up short in one area, otherwise we would probably be playing Karate Champ 8 at EVO now. It’s the one thing that fighting games wouldn’t get right until Street Fighter 2. It’s really hard to hit anything.
The collision system for Karate Champ is odd. Often, your fist or foot will pass harmlessly through your opponent. Then, every once in a while, a strike that seemed to end a few pixels before them will land. In a game where it only takes two solid hits to win, it feels far too random. The hits, when they land, are solid and satisfying, but it could be anyone’s guess whether they will land at all.
Street Fighter 2 is far from any sort of simulation of fighting. There are a lot of strange impact shenanigans that happen every match. It is also extremely rare that a punch that looks like it hit, will whiff. You can always be reasonably sure that your range is right for a particular attack. It feels like what you try to do, you can do. Karate Champ is just too much of a constant dice roll. The same kick at the same range may or may not hit depending on the frame of animation your opponent is currently in.
If you played some chess, but on every turn three of your pieces went into a quantum superposition between two other pieces, it would become impossible to play. You wouldn’t know, until you made your move, if a piece was a pawn or a rook. If you lost, it wouldn’t feel fair. If you won, you would have no idea how to repeat it. That’s what playing a lot of Karate Champ feels like. A constant game of guessing if the thing you are doing with your hands will have the desired effect on screen.
I’m certain that there are people out there who have become deft at playing Karate Champ. Not nearly so many as there are for Street Fighter 2. It’s a matter of expectation and consistency. If you swirl the controls in a certain way in Street Fighter 2, you can be pretty sure what will happen. Not so for Karate Champ.
This is another one of those almost games. Arcade experiences that point the way to huge things in the future. I think it’s fair to say though, without Karate Champ, we may never have developers explore the one on one fighting space. It does so much right, and it is still fun to play. It came up inches short of being revolutionary.
Maybe it’s only for historical reasons, but Karate Champ is one of the best games.
We just got back from a trip to Disneyland. We’ve been a couple times, and I always wonder at their ability to design spaces. If you have done any game development, or even if you’ve just played a lot of games, you will know that most of game design is moving people from one place to another, one task to another. Doing that smoothly, interactively, and enjoyably, is arguably the core of game design. If a menu is difficult to use, if an interface is tricky to manage, people won’t play your game. If there are too many unintuitive moments or situations, people will quit playing. Difficult puzzles and complex interaction take a distant backseat to the more common knob twiddling and button pressing that players are required to do. It’s these spaces between the ‘gameplay’ where most players fall off. The people who design Disney’s parks are absolute masters at this. If the rides and shows are the ‘gameplay’ getting people from one to the other is the game design of a theme park.
I have written a little about how they use eyelines and the transitions between spaces to guide your experience. That’s probably what most people will notice and comment on. The physical movement from place to place. You usually won’t be able to see one area or land from another. Structures will block your view until you get pretty close to another area, and even then the transitions can take you by surprise. This makes you feel more immersed in the land you are in, but it also makes you feel like you are discovering things just by walking. You turn a corner, or pass under an archway, and suddenly you are in a whole new place.
This manipulation and crafting of physical space is amazing, and it’s worth studying if you are at all interested in how game levels work. Especially if that game level has to accommodate hundreds or thousands of players. I want to focus on something else. A little bit of UX that disney has really refined.
Information. It would be easy to just provide all information at all times. A lot of seasoned game designers often say that you should provide as much information to the player as you possibly can, and then let them decide what to do with it. Like most things, it’s never that simple, and the user experience can sometimes be improved by withholding some information. I will provide a couple of examples I noticed during this last disney trip.
First is the most obvious bit of information. The length of ride lines at Disneyland is posted at the entrance gate to each ride. This is something they have been doing for some time. They break the times up into five minute increments, but if the board says five minutes, that really means you can just walk right on. Anything from fifteen minutes to thirty minutes will probably be shockingly accurate.
Now this bit of information can do a few things. First, guests of the park can decide if they want to wait in line or not. Lines to ride popular attractions are a given, so some amount of waiting is expected. As the time to ride increases, the amount of people who are willing to wait decreases. Only the most popular rides will ever have line times longer than an hour. There are so many other attractions at the park, you might as well head off to one of the other ones. Just this little bit of information will naturally spread guests around the park, and get people to try out less popular attractions.
That bit of information does something else too. You can see most of the lines snaking out from the rides, but people are extremely bad at estimating. If you looked at the line to, say, The Haunted Mansion, it would be difficult to judge the difference between a half hour long line or a one hour long line. Often, parts of the line are out of view of the path, so you wouldn’t even be able to count the people if you wanted to. Ride operators will adjust the length of the line by opening and closing different loop-backs and u-turns. Visually, the lines can be very deceiving. The shape and space of the lines changes from ride to ride as well. Something that looks like a very long line on one ride might only be a few minutes on another. Those boards will help you decide how to spend your time at the park. Pair that with the phone app that provides you with the same information about ride wait times, and you have the makings of a really powerful queue and crowd management system. All you had to do is provide the information.
The next thing is maps. Disneyland has a distinct lack of maps. You know those ubiquitous mall guide boards? Yeah, Disneyland doesn’t have any of those. You can certainly grab a map from the information booth, or you can look at the one in the phone app, but everything in the park is set up so that you don’t need one. If you follow any path, it will loop back around to the main hub. Every path, eventually, feeds back into the central ring of the park. This means, if you know where it is you want to go, you are probably never very far from it. But also, if you don’t know where you want to go, and this is the important bit, you can just keep walking forward to inevitably see all of the park. You could just walk around and experience a constant sense of discovery. There are no maps, and almost no road signs to direct you. They want you to feel like you are exploring and discovering. Because that makes simply walking around fun. There are lots of little alcoves and cul-de-sacs to find. All of them designed specifically for discovery.
If there were waypoints and road signs that pointed you directly to Space Mountain, there would be a lot of park goers who would miss other attractions.
So, here we have two very different examples of how to use information. Deliberately providing or withholding information can change user experience for the better. Disneyland has had decades to get it right, and for the most part they do.
I didn’t even get close to talking about how they pack ride lines into ridiculously small amounts of space, or provide a show experience while you are in line so that wait times don’t feel as long. I think I will go over those at some point, but these two bits of informational experience design should be enough to chew on for now.
Blender has a new-ish feature called geometry nodes. I won’t be doing any sort of tutorial or how-to about it here. I have done a few things with it, but I don’t have any level of expertise that I would feel comfortable sharing. At best, I might be able to explain it.
When you are modelling something… let’s use an example. Say you were modelling a drink vending machine. This is a vending machine that needs to be able to work, or at least look like it works. There is one of those little drink elevators and a bunch of slots that hold all of the beverages. This is the sort of thing that you could model traditionally. You could make all the parts. Find out what the average vending machine sizes are and scale a box to that size. Design each of the drink bottles or cans. Create a marquee and set up an array of lights behind it.
If you only need one of these drink machines, that’s it, you’re done. What if you need a handful of them? A few different sizes, different marquees, all with different drinks and different lights burnt out behind the marquee.
You could set up a few of them. But how many? Six? Twelve? How many different vending machines would it take to ensure that when you spread them out over an entire city, no one would be able to see the repeats? Each machine would seem unique.
Geometry nodes is a way of programming your models. You create a set of rules that spit out models, and then you can have it randomize the results. You can either feed the system a selection of prebuilt parts, or you can have it build the entire thing from a single vertex on up to a full object. The system incorporates the material nodes system as well, so you can have the surface color and texture change along with the model. You can have it swap out the type of drinks, what slots are full or empty, how many drinks are in each slot. There really is no end to it.
Every time the generator runs it will create a new vending machine based on those rules.
Geometry nodes can be more complicated to set up than regular, straight ahead modelling, but the end result can create a dizzying array of assets.
It’s not a tool that needs to be deployed in all cases. There are probably a lot of assets that are better built as one off models, but some things, things that are repeatable objects with slight, but important variations, could make excellent use of this tool.
Like I said, I’m not going to do any sort of breakdown of it, but I did use geometry nodes to create a system that can make any sort of rail line, or road, or path, or really anything that is roughly a repeated object along a curve. And it works.
I love to pick apart stories. Not to criticize or poke holes in them, but like tearing down a machine, I want to see how they work. Or don’t. How setups are paid off. How motivation is sold. Or isn’t.
We watched The Batman. I liked some of it. I didn’t like other parts. That’s not really important. I’m not going to review the movie or give it some sort of a score. If you want to want to watch something and be entertained for a couple hours, you could do worse than watching The Batman. When you open it up and start looking at the parts, there are some places I think they could have done better.
When I hear or read a critique of a story where it becomes clear that the person forwarding the criticism simply wanted a different story than was being told, I always bristle a bit. I’m not going to do that. I think the story, as they were telling it, is fine. But it could have been much better. The problem they have is with familiarity.
At this point, there should be very few people who would go to see a Batman movie who don’t know who Batman is. In fact, this movie is counting on it. They make reference to the Wayne family in ominous tones, but they never explicitly say what happened to Bruce Wayne’s parents. Because they don’t have to. They know that you know. They know that you know this character. They know that you know minute details about the crime families of Gotham. They need you to know, or this story doesn’t work. The success of this story, of this movie, depends on it.
And then they somehow forget.
I’m going to point out three scenes, three key moments, and this will get very spoilery. I’ll toss in a fourth for good measure.
The opening monologue is overwrought and emo, but it’s done in a fun and knowing way. I can let all that pass. It establishes that we are in a heightened reality. What you are about to see can be corny in an earnest way and as long as you are on board with that you might be in for a fun ride. That’s great. It establishes that tone and sets up the audience for the story to come.
During the opening monologue, Bruce Wayne as Batman tells us how he uses the shadows and fear as a weapon. We see miscreants scatter at the sight of his bat signal. Good stuff. Batman stuff. They know that we already know this and are attempting to meet our expectations. So far, so good.
We see a group of thugs accosting an innocent man. The writers also know that we know, Batman will always defend the innocent. That’s what he does. Our expectation is that he will show up to protect this man. They meet our expectations, but there is something wrong with this scene.
Batman does show up, but he pretty much just walks forward and punches them all. Fair. It’s a well done action scene. The punching looks sufficiently punchy. But we just heard how he uses the shadows and fear as weapons. This guy just marched forward and punched. More important, we as the audience know who Batman is. We know that isn’t what Batman does. He darts around, he uses the environment to his advantage. He fights smart. We have to know that he could just march forward and punch, and that would be enough, but that isn’t Batman. Batman isn’t strong, he’s smart. That’s the character.
Now, we can wave this scene off. Maybe this was put in to establish that he isn’t quite what he needs to be yet. He doesn’t fight smart yet. Plausible. Except the police already have a bat signal set up, specifically to instill fear in exactly this sort of miscreant. So the scene is very at odds with everything the storytellers want us to think.
Anyway, let's move on to the next scene. A crime scene. The Mayor has been murdered and Batman shows up to the crime scene to, we can only assume, help with the investigation. When he arrives, Detective Jim Gordon vouches for him and the phalanx of officers lining the hall let him pass. This is a good detail. It establishes a history and a sense of trust. The officers don’t trust this masked vigilante, but a very senior detective does. That could only have happened if they had some history, if Batman had proven useful in previous investigations. This is the sort of welcome that you would expect from a Sherlock Holmes type character. A person who, while onerous, is extremely useful in exactly these circumstances. That’s good. That’s the Batman that we as an audience already know. The Batman that they need us to know for any of this to make sense.
Then they have him sort of stand there, in the way, and Jim Gordon tells him everything. Absolutely wild. It’s like whiffing a T-Ball. Had he walked in and immediately pointed out all the crime scene details the investigators were missing, put together the missing puzzle pieces, and basically did the job, it would have made sense to have him there. It would have made sense that Gordon vouched for him. He would have been acting like Batman. They had all the runway laid for this masked weirdo to be a superhero, and they just didn’t. Very strange.
Again, nothing else about the story would have to have changed for this to be added to the scene. The investigation would still go on because the riddler would still be ahead of them and the next plans were already in motion. But the character would be acting like the character. The one that they, as writers, need us to know before we started watching for any of this to work.
Next we have another scene with Batman and Jim Gordon. They are searching an old orphanage for clues. It has been abandoned for some time, and junkies hooked on the trendy new drug are squatting there. The two investigators are walking through darkened hallways, Gordon with his gun at the ready, and Batman skulking behind in the shadows. Good. That’s how these two men move through the world. That is their characters.
Suddenly, out of the dark, a junky runs into the beam of Gordon’s flashlight. That just sort of happens. He’s startled, but nothing else comes of it. Again, we have the opportunity for Batman to show who he is. Gordon is the grizzled detective who might raise his gun, and he might even fire. Batman would be the man who would stop him. These are junkies, but they are innocent. They are the type of people that Batman would protect. Him simply grabbing the gun and pushing it down would be enough. This is the guy that reacts faster than everyone else, who thinks faster than everyone else. He is the scary thing in the hallway, not the junky. We know that because we know this character. When given the opportunity to prove it, the filmmakers simply let it pass.
Again, we could be charitable. We could imagine that they intended this Batman to be young, unseasoned, early in his development. But that read falls flat. The film depends so much on the audience being familiar with this character and this world, that having him act counter to what we know is jarring. If this was a new superhero, if this was a new world, if this was a new story, by all means, write them any way you want. But it’s not, and we know that, and they know that we know that.
Those three scenes alone are enough to make me scratch my head, but, like I said before, I’ll toss in one more.
Near the end of the movie, the Riddler has amassed a reactionary army of disenfranchised and angry young men. Topical and mildly haunting to be sure. When Batman figures out the plot, he rushes off to intercept them before they can shoot a bunch of innocent people trapped in a building. There is an assumption made that there is no way one man, no matter how well-trained, well armored, or fanatical, in the pursuit of protecting people, could possibly stop all of these terrorists. It is assumed, but never voiced. Did it need to be voiced? Maybe not. Just running into danger with the intent to help is enough to prove that Batman is the hero in this situation. But there is also the assumption that he thinks he will win. There is an exchange omitted. Let me attempt to fill it in.
Batman moves to leave, the room. He and a police officer have just figured out Riddlers plan to have terrorists attack hundreds of trapped and defenseless people.
Cop - Where are you going? There are dozens of them. Even you can’t fight that many. What do you think you are going to do.
Batman - I’m going to give them something else to shoot at.
As the scene plays out, that is pretty much what happens. Batman acts as a distraction more than an actual assailing force. The terrorists are occupied long enough for people to start escaping, and for backup to arrive. The scene could be read that way, but it’s important for it to be voiced, or at least presented unambiguously. Why? Because we already know this character, and acting selflessly is what he does. It is always what he does. And you absolutely need to drive that point home at every opportunity for this story to work. Maybe that line is a bit cheesy. That would not have been out of place in this movie.
At no point did I expect a different story or tone than they delivered. The pacing could have been sped up significantly, but overall The Batman is competently made and assembled. It works. But for a movie that depends so heavily on the audience filling in blanks, they deviate from the main character that we already know quite well in strange and almost careless ways.
Superheroes are, at their core, deeply goofy. Not much of it makes any real world sense. But they are archetypes. Characters that act and react in a steadfast way. They are always that character. They have to be. It comes with the genre. It’s what people expect. Sometimes, meeting people’s expectations is just as important to telling a story as subverting them. It’s not always twists and character growth arcs. Sometimes these people just have to be who we already know they are. That’s the bar. That’s the assignment. Comic books understand that. We are getting to the point that most comic book based movies know that too. Apparently not all of them.
So, I have false teeth. I spent most of my life playing a lot of hockey, and I have found that pretty much everyone assumes it’s due to that. Fair enough. If the sport is associated with anything, it might be missing teeth. Nothing so gruesome happened. Honestly, in all the games I have played, I think I have only been hit in the mouth with sticks a couple of times, and pucks never. Well, maybe only once. Or twice. Who keeps track of these things. Nope, it’s the mundane genetic reason. I have hypodontia.
Hypodontia, if you are not familiar, is naturally missing teeth. I am specifically missing the lateral incisors. It’s so common that I have noticed it in a lot of other people. I have also noticed that most of them don’t like other people pointing it out. Oh well.
The long and short of it is that I have had false teeth since I was about fifteen. I try to take very good care of them, so I am only on my third set. This last set, they didn’t last as well as others. Yep. I broke my teeth.
Here’s the other thing about me. I’m that weirdo who will fix his own teeth. I’m also that weirdo that has acquired all the skills necessary to fix his own teeth. Life casting with alginate and plaster. Done that. 3D modelling and printing to make my own dental impression tray. Can do. Working with acrylics and acrylic solvents. Literal years of experience. Handy with a dremel. Sure.
I printed my own dental tray, got some alginate and plaster from one of those hobby hand impression kits from the dollar store (trust me, it’s exactly the same stuff), and got some acrylic powder and solvent from denture repair kits (also, trust me, exactly the same stuff). I made a positive cast of my upper teeth and mouth and used that to align my denture and teeth.
The first time I broke these teeth, I was able to put them back together, but I hadn’t mastered getting the bite right.
The second time they broke, I got them fitted really well, but the connections between the teeth and the plate were too thin. There was no way they were strong enough to last.
This time, I put them all back together, but the original plate has been taken apart and put back together too many times. I know what happens to acrylic when you repeatedly apply solvents to it. I don’t have a lot of confidence in it anymore. Also, I ran out of acrylic powder.
Even though I am exactly that weirdo who will fix his own teeth, it’s now time to call in the experts.
I’ll go in and get a new set of teeth made. Hopefully they last for another ten years or so. If they don’t, I suppose I could always fix them again.