I’ve been doing some 3D modelling recently. It’s something I have been doing with varying degrees of success for almost 20 years. You would think that I would have it down by now. You would think that I would just do the job with no issues or stress. You would think that I would have worked out strategies for dozens of potential problems. You would think that I would fly through a project and rarely have to backtrack or repair blunders. You would think that I would have confidence in my own experience and abilities.
What I have is fear.
Not a crippling fear. Not a fear that stops me from attempting new things. It’s a low level, pervasive fear. It’s the fear that I can’t do what I said I could. It’s the fear that everyone is better than me at almost everything, and I have been fooling anyone who thinks otherwise. It’s the fear that I will be found out as a fraud, and that everything I create will be sub-standard. This fear usually doesn’t stop me, but it does slow me down. I can usually even recognize when it is slowing me down, but it is sometimes difficult to overcome it.
I have amassed a portfolio full of evidence that I am capable of modelling objects, animating, sculpting, constructing, working out solutions to problems. Occasionally I will look at some of it and feel like a real cool guy who knows how to do things and is really awesome at stuff. That lasts until I start on something new, and then it’s all fear all the time. I usually spend way too long looking up the solutions devised by other people. Seeking help or advice when I honestly don’t know how to do a thing is probably a smart move, but when it is just fear directing me with feelings of inadequacy, it’s just a huge waste of time.
There is almost always a point in all of these projects that were slowed by fear, where I realize that the obstacles I was afraid of tackling have very simple solutions. Usually solutions that I am already very familiar with. Solutions that I have implemented time and again on other projects. I tend to get a lot done in a very short amount of time when this happens. I usually marvel at how trivial the problems holding me back turned out to be.
I’m going to have to work harder on squelching minor fears. I’m going to have to be better at harnessing that feeling when I overcome the fear and move forward. I think this is probably the most challenging problem I consistently come across in all the work I do. Overcoming fear is my full time job. Anything else I accomplish is consequential.
Best Games - The Last Starfighter
I used to play a ton of games on an Atari 800 computer. I’m fairly certain that only a few of the games were legally purchased. I’m certain of that, because the most of the games had labels hand written on generic floppy disks in marker. Legit manufacturers tend to use printed labels and usually limit the games to one per disk.
In order to play a lot of the games you needed to defeat the cartridge door sensor by jamming a piece of wadded up paper in a hole in the top of the computer and flip a switch embedded in a special cartridge called the pill. The custom menu created for each disk would list the games written on it and instruct you when to flip switch. While you might have moral reservations about the state of software piracy in the late 80s and early 90s, you have to respect the ingenuity of it all. Some clever folks cracked copy protection with the help of a device that would not look out of place in a cold war era cockpit.
This is important, because, as I have learned, going through this arcane process of switch flipping and disk pirating might have been the only way to play this particular game.
Obviously I have some nostalgia for this machine and its games. I thought that perhaps my love of the game The Last Starfighter was just a part of that. Some relic of a game that wasn’t really all that great tied to the joy only a child can derive from a decent, but thin space cowboy action flick, add some rose tinted glasses and let simmer for decades.
A few years ago I became aware of a project to recreate the game from The Last Starfighter. Not a game based on the movie. The game. The arcade game that Alex Rogan plays. That CG miracle that could not possibly have existed in 1984. It looked like a game that could possibly exist in the distant future. Well turns out the means now.
I’ve tried this game out during many stages of it’s development. The accomplishment by RogueSynapse is not to be taken lightly. They created a real game that looks and feels just like the one you see in the movie. More than that, the game actually works as a game. There is a goal, stages, a sense of progression. To take a few seconds of film footage and reimagine that as a functional game, is amazing.
Is it better than the version I played on the atari 800? No, no it’s not. I went back and played them both. The Last Starfighter is for the atari computers was and still is a fun action / light strategy game. The almost movie perfect recreation, is a tad dull. The newer version has almost everything over on it’s older cousin. Graphics, sound, nostalgia factor. Everything except being a fun game. For that you have to go back to the old Atari computers.
I learned during my research for this post that the game I played on the Atari 800 computer all those years ago was actually well into development under the name Orbiter before the movie license was attached to it. It was later released as The Last Starfighter, and then again as Star Raiders 2. The final name probably suits the game best, since it shares a lot with the Atari classic Star Raiders. The same action/strategy mix played from a first person, space shooting, perspective. I played it again as Star Raiders 2, and do you know what? Still fun. Still fun.
I knew it as The Last Starfighter and it’s one of the best games.
As an addendum, I found this while perusing the web this morning. This is a retail product that needs to happen.
At this years Global Game Jam I had the opportunity to try out the Oculus Rift DK2 (development kit version 2). I had tested out the original Oculus dev kit last year, and while the experience was striking, a few minutes was about my limit.
I’m not someone who is prone to motion sickness. I like roller coasters and theme park rides. The most disoriented I can remember a ride making me feel was the Orange Team version of Mission Space at Disney World. The one that spins you up to 2.5G and then bounces you a round for a little while. Even after that ride, I was only dizzy for a bit during the disembarking stage, where they have you walk down a long air conditioned hall likely as a counter to these effects, before you are herded back out into the oppressive Florida heat. I wouldn’t want to ride it several times in a row, but It was pretty easy to shake off the effects before lining up to ride Test Track for maybe the third time that day. Test Track is really really fun.
I didn’t say all that so that you would think that I was some tough manly man. Far from it. My body has a reaction to over consuming alcohol that I would classify as violent. My tolerance for poisoning is very low, but my reaction to motion induced poison simulation is mild. I just wanted to lay out a baseline measurement of potential nausea. The first time I tried the Oculus version 1, while sitting stark still in an office chair for maybe less than 5 minutes was about the same a riding the Orange Team side of Mission Space. I was fine, but a few minutes more and I probably wouldn’t have been.
When I first tried the DK2 it was with a demo that didn’t use the new positional tracking that was added to this version. The original headset tracks the rotation of your head around an axis that the simulation assumes is your neck, but not your position is space. This new one can track both. That demo left me feeling that same sort of disorientation, but maybe softened slightly by the increased resolution and response time of the display. Once we got the thing running with the new positional tracking though, it was like the thing came with it’s own gravol.
Every person is going to react to these head mounted displays differently, but whatever the disconnect my brain was experiencing without the addition of positional tracking, that just evaporated as soon as it was turned on. Everything in the virtual world I was experiencing seemed locked into place. The first demo was a lazy, drifting flight experience over a medieval town. This one was AaAaAA!!! - A Reckless Disregard for Gravity, a hyperactive base jumping game where you plummet at high speed through a floating city. This a game that makes people sick when they play it on a screen. All I felt was joy.
According to Oculus, the worst culprits causing motion sickness are latency and persistence, or how fast the device reacts to your movements and displays the right information and how quickly the display can react to the information the computer is sending it. Smeary ghosting images and laggy input are apparently in full effect in the DK2 prototype. The newest version of the headset has, by all accounts, solved these issues. They don’t even seem to be problems that bothered me, but hell, better is better right. I was pretty sure I wanted to get one of these things when the eventual full retail version is available, but now that I know I won’t have to use it while chewing on ginger root, I’m double or maybe even triple sold.
At this years global game jam I did something I haven’t done in way, way too long. I animated. Sure I only animated a hand, and sure it really wasn’t very detailed, nuanced, or “good”, but when you only have a couple days to create an entire game, you do what you can.
I harbour a perpetual displeasure aimed directly at Blender. It’s not fair really. Blender is one of the most astoundingly capable open source projects ever developed, likely eclipsed only by Linux or Apache. As far as my personal evaluation goes, Blenders only real downside is that it is not Maya. Again, not really fair. Still, not being Maya has stopped me from using Blender as much as I probably should. It took me until this game jam to attempt wrapping my head around rigging in Blender.
I have created a couple of rigs in Blender previous to this jam, but they were all test rigs and simple tutorial stuff. Nothing that I would actually want to animate with. Nothing I would be confident exporting to another system. A game for example.
By the way, going through some of the tutorials for blender rigging after getting a mental grip on how it works, there are some folks out there who really don’t know what they are doing and their “tutorials” are a psychological speed bump for anyone eager to learn. I’m rarely ever confident enough in what I know about a topic to put together a tutorial, and these people illustrate why I’m probably not wrong about that. Can we draft an accord between instructors and students that states:
“This is not the definitive way to do this thing that I am showing you. This is an example of the broken way that I do things, and you would do well to seek your own way. Please ignore every instance where I emphatically state my expertise on this topic. The truth is no one knows, and anyone who claims to should be thrice examined with a wary eye.”
This time though I had picked up a new plug in for Unity called Skele. This meant that I could rig and bind a model in Blender, but I could animate in Unity. Unity shares a lot of UI elements and workflow concepts from Maya, so animating directly in the game authoring tools seemed friendlier. The real benefit was, since I was doing all the animations right in the Unity environment, the animations files pumped out were instantly available to the running game, being developed by another person on a different computer. Animation files, when handled properly, are really just glorified text files. Lists of joints and their rotations at certain time intervals. The game engine takes care of displaying the resulting character movements and deformations. The files Skele puts out could easily be put into a file repository somewhere on the internet and distributed to a team working from pretty much anywhere, without the need for the animator to be there making sure that exported file formats like fbx and collada are being imported and interpreted properly.
Game jams are pretty much failure central. At least one thing you come up with on the first day will fail spectacularly enough that it, or any number of other things, will have to be cut from the game. That’s just the way it is. You only have 48 hours to slap all this jazz together, and you may want to eat and sleep sometime in there as well. You will try something, it will fail, and you will ditch it. The upside is, you might as well try anything, since who knows, maybe that will be the thing that actually makes it into the game. Once in a while something you think might fail, works so well, and implements so smoothly, that you will wonder why you haven’t been doing it all along. A few years ago I built an entire enemy AI system using Playmaker, a visual state machine editor, and it could not have gone smoother. I think I commented at the time that the AI was about the level of an incredibly stupid roomba. The fact that I had never attempted anything like that before, but it got in the game, and it worked consistently, made me reconsider how I use Playmaker. Going forward I will be doing quite a lot of animating with Skele. Next time I’ll try to make it something more interesting than a hypnotically undulating hand.