This weekend I took part in Ludum Dare 30. Ludum Dare is a game jam that takes place over a weekend, either 48 or 72 hours, depending on how you want to participate. You can develop a game alone or in a group, choose to compete or not. Really it’s just a good excuse for game developers, and aspiring game developers, to take a break from whatever they are currently working on and intensely focus on creating something brand new for one weekend. It’s the game developer equivalent of dealing with writers block.
I have worked in teams for the last few global game jams, and I thought it would be an interesting challenge to attempt Ludum Dare alone. Fairly early on I knew that I probably wouldn’t submit a game for the community judged competition. I was there for the exercise of breaking down a game design problem in rapid fashion, just to see what I could come up with. If the plan had been to build a full game, get it working and submitting it (my typical plan for Global Gamejam) then I failed. But failing is okay. In fact failing is great. Game jams force you to fail early and often. Get used to it, and get over it. I like to scour my game jam submissions for any successful ideas that can be hammered into potentially marketable projects. Since that is my real goal, this Ludum Dare was actually incredibly successful.
The competition deadline was 7:00pm on sunday. As you would suspect, I came up with a unifying theme, streamlined game mechanic, and the base parts for what could become a commercial product, at around 9:30pm on sunday. I gave it a night to simmer. If it still seemed like a good idea in the morning, I figured I would be stupid not to pursue it. So, now I have a few pages of notes for two games that I want to work on, and still finish the art for Adventure Caddie. Schools coming, so I will be “full time” soon, or as I think I will call it “The Owen works by himself on existing game projects Jam”.
If you have read any of these posts before, you know that I have a serious love/hate relationship with Blender. For all it’s advances and additions over the years Blender still remains one of the more inscrutable tools I have ever used. That list includes the gloriously impenetrable ZBrush and some proprietary sign manufacturing software designed by moderately intelligent squirrels. I have used Blender to rig characters before, but had you interrogated me afterward, I would have conceded that I may have been aided by wizards. Mind you, I’m not new to character rigging. I have written code for custom rigs in Maya and Max, so even at a base level, character rigging is a concept I’m familiar with.
This week I participated in a series of cage match battles with the Blender rigging system. I’ll be honest, I wasn’t sure which of us would exit the cage. I eyeballed the Maya LT license page, aka “the tapout” more than once. Going the Maya route would be more comfortable, possibly faster, but it would also cost more money than none, which is what I currently pay for Blender. At every roadblock I had to ask myself if learning the obtuse way that one or two programmers thought these tools should work was worth the effort. It’s like a professional level adventure game puzzle. I expect that Blenders Inverse Kinematics solvers will incorporate a rubber chicken and some chewed gum at some point.
This weeklong fight allowed me to pinpoint my problems with Blender. It turns out they are very much the same as the problems that I have with Apple products. The same “simplicity” that most people enjoy typically means that anything under the hood is obscured from the user. When I search around for an explanation of different tools in Blender, I find a lot of people saying feature X works this way “just because” Unfortunately for me, I have the sort of brain that is not, and will never be, happy with “just because”. It’s probably why both Maya and Unity clicked for me. Both of those programs bombard the user with information about what is going on in front of them and just say “here, deal with it”. They try to put the velocity of the information hose under the users control, but the feedback loop of your actions resulting in visible, recorded changes, is tight enough to tell brains like mine “here’s why”. I can learn systems like Blender too, but it might take me a week.
That said, I still remain positive about the future of Blender. There seems to be a serious interest in making most features nodal, which would would improve usability and visibility of buried features. An actual viewer for the dependency graph would also be incredibly useful. These features would go a long way in breaking the hobbyist stigma that still clings to Blender, despite it having all the features of most of the pro 3D programs. Right now Blender is in a race though, whether they know it or not. If Maya comes out with a much cheaper or even free option, before they can get their act together, the race will be lost.
The procedural future is coming.
There have always been video games with procedurally generated elements. That is, parts of the videogames you play are created on the fly, usually following some predetermined set of rules. These elements aren’t meticulously constructed by an artist or designer. They are built by the computer, following a blueprint or set of rules laid out by the game designer. Sometimes the blueprint is explicit, recreating the exact same assets every time the game is run. Other times there is a random, or pseudo-random element to how that part of the game is created. Games use procedural generation for level design, enemy AI, sounds, music, graphic details, even game mechanics.
Early PCs barely had enough memory and storage space to hold this blog post, let alone the massive requirements of an interactive experience, so a lot of games used procedural generation to simply function at all under extremely tight hardware constraints. Game worlds would be created following this blueprint laid out by the designer every time the player loaded into a new area or level. Storing the blueprint rather than every single detail that goes into creating a game level, allowed developers to shoehorn massive fantasy and sci-fi worlds onto floppy disks.
As hard drive space and system memory grew, the ability to discreetly author most elements of a game meant grander, more cinematic, and more precisely written games could be created. Entire worlds created procedurally fell out of vogue for a while.
Here’s the thing. Computers never complain about how much work they have to do, you never have to pay a computer overtime, and a computer never suffers repetitive stress injuries. Of course computers are also absolutely bunk at being creative. Procedural creation of assets tends to create a lot of very samey looking junk. Or at least it used to.
In the early days of computer games, developers were forced to use procedural generation techniques by the bottleneck of insufficient storage and memory. Present day game development has hit a new, more difficult, bottleneck. Creating the sprawling vastness and detail of something like the assassins creed games requires an enormous amount of artistic manpower. That costs way too much money to be sustainable. Paying enough people to recreate a realistic city in a reasonable amount of time is just not going to be feasible if the fidelity of the images keeps increasing. At some point these games no longer contain elaborately decorated facades, but actual meticulously constructed cities, populated with digital citizens.
Of course the solution is not to say that we’ve topped out. The argument that games will just never look any better, or be any more sprawling than they are now is just flat out delusional. The real answer is to go back to procedural generation on a massive scale. Create better, more dynamic blueprints for procedural systems to churn away on. The real artistry of future games will not be perfectly creating single beautiful trees, but taking the trees that the world provides and strategically pruning them into a beautiful form. Cities and levels won’t be designed, they will be grown and tailored to the create fun places to play. What might be most surprising, is that creating virtual worlds, will be not unlike building things in the real world. The starting point won’t be a blank screen, but a rich landscape, created through random interactions of detailed simulations.
It may seem like I’m overselling the future here. This is the same sort of nonsense that people were spouting in the early 90s when the VR fad was in full swing. The difference here is that massive procedurally generated environments already exist in some very financially successful games and simulations. In games, like in everything, strategies that make money get used again, and developed further. The promise of an engaging game world without end makes a lot of money it, turns out. Ask the developers of Minecraft and Star Citizen.
I was going to write a whole thing about how architecture is the original balance between procedural generation and authored content, but maybe I’ll leave that for another post. This one is already long and boring enough.
You never want to be “that guy”. I know I have been “that guy”. I narrowly avoided being “that guy” a couple of days ago.
My family went out to see Guardians of the Galaxy over the weekend. Super fun movie, by the way, but that’s not really what I’m writing about… but yeah, go see it, like really, go see it. Anyway, we went out, saw the movie, everyone had fun. As we were leaving the theater there were two guys talking excitedly just ahead of us. They had obviously enjoyed what they had just watched and were eager to go over the finer points of Marvel movies, Infinity Guantletry in particular. How do I describe these guys? Here, I’ll attempt to paint you a word picture. Let me just say here that these guys looked as though they had probably seen the inside of a comic shop on more than one occasion. I would suspect deck building games occupied a fair bit of their time. I gathered from their appearance and, unfortunately odor, that they had darkened the door of a Games Workshop or two. They were geeks okay. They were the kind of guys that you would expect to be fascinated by the minutia of genre films and comic lore.
They were talking happily and excitedly. They were talking about movies and comics, and the reconstruction of a story told many years ago. They were bringing up obscure artifacts from modern day myths. Stories of warring gods and titans. Primal forces from the before the universe began. And they were wrong. They said that there were 5 infinity gems (there are 6). They had mixed up the space and reality gems and called the Aether… I don’t know what, but something wrong. And finally, they forgot the mind gem, everyone seems to forget about the mind gem. But do you know what they real kicker is, do you want to know what they really got wrong. Nothing. They did absolutely nothing wrong.
These guys were just a couple of buddies who went out to enjoy a film together. After the movie was over, they were excited and wanted the fun to keep going, so they got to talking about all the fun things from the movie that they thought were fun when they read them in comics, that were also fun. And here comes me, being “that guy” to tell them that they are enjoying their fun wrong. Well that’s some B.S. Why should I tell someone that their enjoyment of these fictional stories isn’t on par with how a real fan enjoys them. Who am I to decree if they are having fun in the correct way.
It’s not just that I’m a butt munch either. This feeling that people need to enjoy things in some sort of codified way is pervasive through all the geeky pursuits. Sci fi, fantasy, horror, board games, video games, card games, all of them have their self appointed defenders ready to piss down from on high all over anyone not as deeply invested as themselves. It keeps people out. It makes something fun, uninviting to newcomers, and can even drive away people with a passing interest.
I didn’t want to be “that guy”, so I didn’t say anything. I smiled, because we had all just had a fun time watching a movie together. After a few minutes, I felt sort of gross that I had thought reading about a fictional universe years ago made me somehow better, geekier, than other people who clearly enjoy the same things as I do. I love when I discover a shared interest with another person. I should revel in that. The more people that go out and fill entire theaters to watch the types of stories that I have loved for years, the more of these movies will get made. Being “that guy” is completely counter to that goal. I really, deep down, just want everyone to love what I love. I don’t think it matters why or how they love it.
But seriously everyone. The mind gem was right there in Loki’s staff the whole time. Come on.