Ludum Dare 22: Pre-Game
Alright folks, here we are around 11 hours away from the announcement of the theme for Ludum Dare 22, whereupon I will embark on a 48-hour frenzy of programming.
Since we don’t know the theme yet, I obviously can’t start planning the game — but I think it would be worthwhile to take stock of what tools we’ll have available to us.
An integrated 3d game-development environment. The program itself is a 3d world building tool with extremely modularized scripting/programming support.
What Unity gives us:
- World building. Drag and drop your models into the scene and in moments you have a city or a forest or a maze or a solar system.
- Terrain-sculpting. It’s very easy to build a large outdoor area with hills and canyons and such.
- Physics. This is baked in to Unity and is pretty much “free”. Collisions, Newtonian forces, etc… If you want to watch stuff bounce off other stuff, this is how you do it. Just drop a “RigidBody” component on to something and *bam*, you’ve got physics!
- Modular behaviour-based scripting. Whereas the AI programming for a unit in a conventional system would be rather monolithic, Unity encourages you to implement multiple small, more independent behaviours and makes it easy to connect the behaviours to units (and between each other) as needed. For example, I could have one script called “LooksForPlayer” that is used by both Security Guards (which also have the “ChasesUnit” behaviour) and Gun Turrets (which just have a “RotatesToFaceUnit”) behaviour. In my limited experience, the more you go along with Unity’s paradigm, the easier things go.
- Multi-platform support. Make your game once and export for PC, Mac, and Linux. And iPhone and Android. And the web. Nice.
- Pathfinding. It’s not built-in to Unity yet (should be in the next release!), but there are some great libraries available that make it very easy to add to your game.
What it doesn’t give us:
- 3d modelling. Unity lets you place objects in a 3d world space, but you aren’t going to be creating your models in Unity (save for sticking a couple primitive together, like a cube topped by a sphere with a cylinder sticking out of it to make a quick turret).
- Technically you can do pretty much everything in Unity, since you can program anything inside of it, but there’s a bunch of stuff that you’d pretty much have to do from scratch and just sort override normal Unity behaviour. Like, you could do a 2d pixel-art game in Unity, but I have no idea what you’d possible gain from doing it in Unity in the first place, since it would all be custom code to render to a full-screen 2d texture or something. That being said, you can do something that behaves in a 2d-ish way, like a top-down or side-view game (space shooter, platformer) simply by placing your objects/cameras that way. The objects/environment would be 3d even if the gameplay was not.
Blender is a free, open-source, fully featured “3d content creation suite”. You can use it to make the next Toy Story movie if you want. I’ll use it to make like…rocks or something. I will model my various objects in here and then import them into Unity.
I am not a particularly skilled 3d artist, and I definitely do not know much about animation. I expect that my models will be completely static — so while they may move around the world, they won’t have a “walk” animation. This will drive the art style considerably. Even if I could model an accurate humanoid (and I can’t), since I don’t have the time or ability to animate a decent walk cycle, it would be weird to have a person that just sort of…glides everywhere. So no realistic organic units. That’s why I like space ships, but I think we’d also do fine with just iconic representations of various units. Like a person might just be a capsule shape with a happy face drawn on it.
I’m also not a good texture artist, so again the simpler the better.
Sound effects! Bloops and bleeps and blorps galore!
Alternatively, I can record myself saying “Kaboom!” and “Zap!”, which might be kind of funny.
To be successful in life, you need to know what you’re good at — but more importantly you need to know what you suck at. We’ve already established that I’m bad at art.
I’m very good at manipulating data, though. I make databases my bitch. Need to create a complex relationship structure between multiple different types of records and agents? I’m your man. I also really like simulation games. In fact, I don’t even care about the “game” part so much — it’s the simulations that fascinate me. For example, I’d love to make a simulation of a bunch of ants roaming around a sandbox looking for food. Programming the AI would be a ton of fun. But where’s the game? That’s something I’ll have to keep in mind, since it’s a game competition.
So where does that lead us?
Given the limited amount of time that we have, we need to leverage our strengths. Let’s take a look at the themes current up for voting and try to get some ideas ahead of time. One of these will be the actual theme.
When looking at the themes, keep in mind that we can use them either thematically (as in the plot/feel) or mechanically (as in, being a specific gameplay gimmick), or both.
- Alone: Is the player alone in an empty world? Do they have to find another person somewhere? What if we flip the idea around and the player feels alone world that is actually very crowded, but you’re looking for another person that is like you. A true friend or soulmate. Another idea: We make a multiplayer game, but you can’t see the other players. It looks like you’re alone, but you have to work together to accomplish something? Kinda weird. Also, I’m not sure that multiplayer is the way to go for this competition because it’s hard for individuals to test.
- Antihero: My brain keeps trying to pun and turn this into a game about an ant. Anyway, an antihero is a protagonist that is in at least one regard quite different from an archetypal heroic figure. Maybe they’re “dark”, like so many comic book heroes these days. Maybe you’re normally the villain, but you’re trying to save something you love (including your own life). Maybe we just literally flip this around and you’re Bowser trying to steal the Princess from Mario. The Dungeon Keeper games are another interesting inspiration. And while I’m hoping for originality/novelty, I’m certain that you could make a tower defense game that fits, thematically.
- Consequences: Huh. This is a bit vague. One idea I’ve wanted to explore is a simulation of economics, and I can imagine building a game where there is a great disparity in starting conditions for the various characters in the world, and what the consequences are of starting with wildly different resource levels. I’m not sure where the “game” is, though, and this may also be too ambitious for 48 hours. Still, building something that could be “edutational” has merit.
- Decay: Does your character literally decay over time, giving you a ticking clock to race again? Does the very land you walk on decay and fall apart? Isn’t that how the Neverending Story movie go at some point? Maybe the decay is like…the environment/plants decaying and you have to work to keep an area green. Or maybe, if I can steal from D&D’s Darksun, you are a wizard who casts spells by draining the life force from the environment around you, leaving a dead zone.
- Dreams: Uhg. I like themes that point to a mechanic, but “dreams” seems almost purely just story/plot fluff. Like, I could make a platformer where every level is you entering someone else’s dream. Or some kind of point-and-click adventure game.
- Evolution: I loved SimEarth, SimLife, and some parts of Spore. Also, as I’ve said, I love simulations and implementing some sort of Artificial Life sim has me super-duper excited. Unfortunately, it may be difficult to make procedural type life forms that can smarty interact with a detailed 3d environment — this would work better with a relatively plain 2d type of setting. I also don’t know where the “game” would be. Could be biological evolution, but what about self-modification? What about robots or computer viruses? The next evolutionary step of humanity?
- Falling: The low-hanging fruit here is a game where you are literally falling down a shaft or something and you have to maneuver to dodge obstacles or something. It would be relatively simple to implement and could be a lot of fun, but how do we make it original/creative? Can we think of something completely different for “falling”?
- Forgotten places: Like Dreams, this seems more “story” than “mechanic”, though I can imagine if we were playing a top-down-view sort of exploration game where moving around exposes the map, but that the places slowly start to fade out from view if you haven’t visited them in a while, and then when they go completely hidden that zone transforms itself to be completely different. Oh! As a kid, did you ever wonder if the world continues to exist when you aren’t looking at it? How about a first-person game that literally works that way. Only the area that you are looking at right now is real/static. Look away from something, then look back, and it’ll be completely different.
- Kittens: I believe this is the “joke” theme and isn’t actually an option. That being said, maybe we can add kittens regardless of the true theme?
- Mechanisms: Vague, but certainly has my sim fanboism excited, especially with a powerful physics engine backing me up. Do we see if we can build our version of Fantastic Contraption? Maybe a kind of electronic workbench where you can assemble circuits to make things happen?
- Moon: Are we a moon, wandering a solar system? Are we trying to get to the moon? Maybe we’ve just setup the first moon base? Dwarf Moontress.
- Parallel dimension: See ideas for “Reflection”.
- Randomly generated: Very broad. Is it the world that is random? The items within it? The characteristics of the items/units within it? What if we stole the idea from Forgotten Places where if you leave an area for long enough to forget about it, it gets regenerated with completely different stuff. The world is continuously randomly generating around you. The only static location is where you are standing right this moment.
- Reflection: Literal reflections (mirrors) aren’t really going to be an option, though it could be faked. Are mirrors portals to another world? We could play it a different way too: Imagine a side-scroller where you can literally flip the world left-to-right like a mirror image, but also changing some characteristics (fire to water or something like that). Reflection could also be a pure plot theme, like reflecting on your life. Gravity changers that flip the world upside down?
- Self-replication: Like evolution, this screams “Artificial Life” to me, though here things don’t have to change with each generation. Another idea: What if you, as a player, can temporarily multiply yourself. You point to a spot behind an enemy and “poof” a clone of yourself into existence there. Can you switch between controlling your clones, or do they run on AI? What about “birth” as a theme?
- Shape-shifting: Could be as simple as the player having two forms to switch between, or as complicated as the ability to complete reshape yourself, your enemies, or your environment. Some of these things would be hard to program.
- Teleportation: Portals? Maybe a short-ranged blink/flash power? Maybe you’re running a vehicle/ship that can “hop” distances, but then needs to mine resources or recharge for a certain amount of time before you can do it again. You’re in a race against some enemy/event and you need to outrun it and/or reach a goal in time. It could be run as an interesting economic tower defense game, where you had to balance building defenses (which might eventually become overwhelmed in time) with resource-gathering. Makes me think of The Space Game (or Creeper World), but instead of distinct levels, it’s one contiguous world.
- Territory: The idea for Teleportation could be adapted here. Is there some riff on Qix that we could do? Dog/wolf territory claiming?
- Time-travel: I’ve played a few time-manipulation games and they’ve been neat, but it’s not where my mind normally goes.
- Tunnels: I still have ants on the brain. A SimAnt clone seriously needs to exist. I’m also intrigued by the idea of dynamically deforming/extruding meshes in Unity and allowing a player to literally dig a tunnel into the ground. Maybe you’re a miner? Maybe you are building an underground fortress (single-player Dwarf Fortress! (Am I re-inventing Minecraft?)) This would require me doing a lot of things (the mesh modification) that I’ve never tried in Unity before. I might spend the full 48 hours just figuring it out. Arteries as tunnels.
- Underground: Obviously there’s overlap with Tunnels, so ideas that work for one might work for both. What about politically/socially underground? Underground railroad? French resistance in WW2? A secret club? A nightmare creature that buries underground. From beneath you it devours.
Note: I will likely update this post throughout the day as I think of more ideas.