I haven’t done a writing update in a while. So, what’s the state of my writing at the moment? Not good. Or fine. Maybe it’s actually good. I don’t know.
A while ago I set a goal of creating one new first draft of a short story every month. Keeping that schedule has been pretty easy. What hasn’t been as easy, is finishing a final draft that I can send out, that hasn’t gone as well. I have two stories out for consideration as I write this (might be three when you read it) but they have been out for quite a while. One of them has really done the rounds. It’s been held for repeat reads and comments multiple times but ultimately, in every case so far, it hasn’t been accepted. They places they are waiting at right now have had them for quite a while. Like several months. That’s sort of the way it goes sometimes, but still, it’s been long enough that I occasionally forget what story has gone where. Still no word on when my second published story will see print, but that too will just have to wait. In the meantime, I keep working on these stories that I wrote first drafts of. I have four of them up on blocks, and I dig around under their hoods every few days. One is pretty close to ready. Another needs a bit more work, but it’s not terribly far off. The other two are in states of disarray. I have half a dozen more that I haven’t even taken a second look at, but they will all need work. At some point I will probably have several stories submitted to outlets at once, but not yet. It would be easy to see not having a bunch of stories ready as some sort of failure, but I keep working on them so that’s better than abandoning them. I know that I’m not a particularly fast or prolific writer, I just hope that when I get a story out there for people to read that they enjoy it. I’ll take making enjoyable stories over making a lot of stories anytime.
0 Comments
This week, I did my first bit of 2D, by hand, frame to frame, animation in more than twenty years. To be clear, this wasn’t on paper, it’s likely been even longer since I’ve done that, but it was the same sort of -flip back and forth making small changes by hand- style of animation that I haven’t done since school.
If you aren’t familiar with different styles of animation, traditional animation is a very different process than 3D animation, or even present day, computer assisted 2D animation. What I was doing was the computer assisted 2D style, but even that is very different from what I usually do. Just to get ahead of it here, if you are reading this and you aren’t familiar with different styles of animation, no, 3D animation is not easier. Computer assisted 2D animation is not easier. They are different in the details and tools, but extremely similar in the fundamentals. There are certain ways that 3D animation is more conveniently fit into a tight schedule and pipeline that make it attractive for movie and TV production, but that has more to do with division of labour than actually doing any animation. For games, the reason to do 3D over 2D is more technical, and related to how the hardware works. There is no secret tool or style that makes animation ‘easy’. It’s slow and methodical work, no matter how you do it. The style of animation that I am trained to do, and have done off an on for most of my life at this point, is 3D. That involves building digital puppets, ‘rigging’ them with digital bones and controls, and then recording the movement of those bones through space and time. It’s a style of animation where most of the work is loaded on the front end of the process. When all the set-up and animation is done, the end of the job might be as simple as pressing the ‘render’ button. It’s a style of working that is very technical and heavy on planning and you have to work very hard to make it feel intuitive or improvisational. 2D animation, on the other hand, is very quick to get started. Simply draw a line, flip to a new sheet of paper or create a new frame in your computer assisted animation program, and draw another line in a slightly different position. Flip back and forth between the two frames and you have created motion. Keep adding lines and frames and you can make a character move, dance, fight, laugh, breath, live. Starting is easy, but there is no ‘Render’ button. You never need to read documentation to figure out how to ‘rig’ a bit of traditional animation, but you will need to learn and internalize anatomy and kinematics. I disagree with a lot of teaching that would have you learn traditional animation before 3D, as if one is an extension of the other. They are very different, but at their core they share the disciplines of observation, movement, timing, and acting. Learning one will inform the other. Soccer is not built on the foundations of track and field. They are different sports with different skills required, but they do share enough basics that a person skilled at one may be able to learn the other. So, in an afternoon this week, I managed to create a simple hand drawn, 2D animation. Admittedly, it isn’t very good animation, but it worked for my tests. There will be a combination of 3D and 2D animation in my Godot project, but all of that is filtered through a very 2D presentation. I needed to know that I could combine the two while still having it look cohesive. So far, it’s working quite well. I sort of hope that I can fool at least a couple of people into believing that this project could have been made on an arcade machine in the early 90s. Technically, it works. I’ll have to work on making my animation slightly better than test quality to really sell it. I don’t mind being the weakest link in that chain. Best Games - Duke Nukem 3D
I’ll start this off by addressing the realities of time. Just trust that I will get around to why Duke Nukem 3D deserves to be on the list of best games, but we have a necessary detour to travel first. The Character and tone of Duke Nukem has not aged well. Or maybe it would be more accurate to say that the framing of the character hasn’t aged well. If you go back and play Duke Nukem 3D, it seems fairly obvious that the creators of the game made Duke the butt of a lot of his own jokes. Most of his one-liners are simply lifted from films and TV shows, and often in a way that seems to suggest that Duke himself is unaware of context or nuance. This isn’t an example of a character saying or doing things that were once okay and now aren’t. Duke isn’t cool, he’s a misogynistic, meathead, dumbass, and he sucked back then too. The problem is, this doesn’t always come across, and there are far too many people that assumed if Duke was the main character of the game, then he must also be the ‘Hero’ of the game. Duke is the protagonist, but he is not heroic. This is an absolutely valid way to write a protagonist. There is no rule that says protagonists need to be likeable, or right, or decent people. They only have to be the point of view character for your story. Or, in this instance, game. There is a possible timeline where Duke Nukem Forever doesn’t come out. Where Duke Nukem 3D is the one game that exists where Duke has been gifted any sort of personality at all. He is seen for what he is, terrible, but comedic and farcical. And the game shines because of that knowing farce, and not in spite of it. Unfortunately, we live in this reality, this timeline. People have wilfully misinterpreted a buffoon as heroic, and we have to address that. There, now that that’s out of the way, we can get to it. Duke Nukem 3D is a masterpiece of design. In a time when first person shooter game design meant navigating what are essentially mazes and occasionally shooting at monsters, Duke Nukem 3D aimed to create spaces. When you play Duke 3D, you will run around a lot and you will shoot a lot of alien monsters, but the spaces that you are playing in feel a lot more real and a lot less mazelike. They are recreations of spaces you might recognize. Streets, a theatre, stores, offices, apartments, and even when the game swerves into more alien architecture, the sense that these are usable spaces is still there. Despite the slightly janky pseudo 3D graphics of the build engine, navigation in Duke 3D feels, for lack of a more accurate term, real. Duke 3D is also one of the first games to create a sense of place by having a lot of intractable elements. Light switches turn on and off lights. Security cameras show different parts of the level. Urinals, toilets, and mirrors work. They do the things you expect they will do. The game is a long way from a systems based simulation, but just having a few things function as you would expect means that the spaces those interactables inhabit feel more real as well. It’s a necessary step forward. Other complex simulation games existed, System Shock, for example, but they tended to be fiddly and complicated in a way that didn’t really provide that sense of place. Place has to feel easy. It has to feel natural. It has to feel intuitive. Duke Nukem 3D does that. That ease makes the gameplay feel real. It’s truly a wonderful thing, and makes for one of the best games. I’ve been working on a bunch of shaders recently. Some of them do things to the pixels as they are drawn to the screen and some of them do stuff to the geometry before the pixels get drawn to the screen. It doesn’t really matter, the result is the same. There is some input information, a program beats that up a little, and then it draws the result.
I’ve said before, here and elsewhere, that I’m a pretty mediocre programmer. I’m very good at organizing procedures. Planning out all the steps it will take to go from, say, input pixels to output results. The job of creating digital art, be it 3D, 2D, animated, or some mix of all of them, is 99% that. Creating a pipeline from input to result. It’s a lot less “feel” or “intuition” based than most people would think. There are practiced steps that get the work from start to whatever anyone wants to call finished. So maybe what I mean when I say ‘mediocre programmer’ is that I program like an artist. I don’t know what I’m saying. I’m going to go back to these shaders. I almost have one of them modifying some pixels in just the way I want. My 2D game project is coming along. Most of my time with it has just been learning the ins and outs of Godot 4.
Like I said before, I have only really done a very small amount of dabbling with Godot, and that was quite a while ago. It seems like a very competent engine, and everything that I have wanted to do with it, I have been able to get working. After a while. The biggest issue I’m having is that most of the tutorials and learning material are made in their built-in language, GDScript. GDScript is a python-like programming language that is, by all reports, made to be very easy to use. I hate it. I’m sure I could learn to use it. I’m sure I would even like using it after a while, but when I want to just make a thing that is in my head, I can’t stand programming in it. Luckily, the developers of Godot have added C# support. Coming from years of messing with Unity, I am so much more comfortable with C#. That means that the code I write is at least readable by me, and the things I try I can usually get to work. The downside of using C#, is again, all the learning material is written in GDScript. I’m finding that I spend a lot of my ‘development’ time translating from GDScript examples to C#. I could just follow the examples, but then when I go to change something or extend the example script, something I will always have to do, I have trouble figuring it out. It’s a language barrier issue. So, I’m finding it’s actually easier to translate to C# and go from there. On one hand, that does make my work a lot slower. On the other hand, future me will understand what I did and will be able to make changes. I’m doing future me a favour here. I hope he’s thankful for it. |
Archives
February 2024
Categories |