A “Voltron” is a unit recognized by the International Bureau of Weights and Measures* that indicates several individual parts coming together to make a larger, capsule more impressive object. Over the weekend, I put together a Voltron of development tools for Unity that I believe will go a long way towards helping me put together a game of some sort.
Why Voltron and not just a Goku?
Development of any kind is a wonderful playground full of cotton candy stands, but also fields of broken glass.
Developers love to develop, and most developers have it in their heads (usually early on in their careers) that building their own suite of tools from the ground up is the one and only way to go; it’s kind of like building their own lightsaber in that it shows the world what kind of a bad-ass coding Jedi they are.
Later, while developers probably still like to develop, the idea of starting over from the ground floor every single time starts to look more like a needless time-sink. We might have made our own reusable libraries, but often time we resort to “middleware” — products made by others that has a specific purpose that we can leverage so we don’t have to write something that does the exact same (or similar) thing. Sometimes it’s just to save time, but sometimes it’s because we don’t have the knowledge needed to create something similiar to the extent of what we’d get by using middleware.
Three Tools For Unity
Last week I picked up two tools that were on sale on the Asset Store, and one over the weekend.
The ORK Framework is a DLL that can be used to RPGify a new game.
RPGs are stupidly complex beasts. Look at Dungeons & Dragons or Pathfinder. Look at their core rulebooks. Those are pretty large books, and they only cover a fraction of what you’d need to know to enjoy the “complete” RPG experience. Computer RPGs are no less complex, making it the developer’s responsibility to code for every single system: character creation, skills and abilities, experience points, items, spells, equipment, combat, trade skills, conversation and interaction, quests…each one of those things takes a massive amount of focus to make it work, and to work together.
ORK Framework handles most of this. You create a control object which interfaces with the settings that you set through a slick UI for participants (players and NPCs), abilities, combat, items, and a whole lot more. Creating an RPG is as “simple” as filling in forms. I put “simple” in quotes because there’s a lot of forms. A lot. You still need to do the leg-work of flipping switches and setting values, but the benefit is that this is vetted system. If you create a sword that does 10 points of damage, you can sleep soundly knowing that all players will be doing 10 points of damage with that sword until the beholders come home.
I hate art. I’ve gone from reminding people that I’m a developer and not an artist to simply reaching the logical conclusion that I hate the fact that video games are a visual medium. I can only accomplish half of the project on my own, and it’s not even the half that sells the product.
The thing is, I need art. I need to see what I’m envisioning in order to ensure that I’m on the right track. All the coding in the world won’t mean bupkiss if I can’t get the visuals to work with my custom creature creation scripts. And that bugs me.
So I picked up Mixamo’s Fuse in the Asset Store sale. This is not a Unity plugin, but rather a stand alone program. It’s a simple program, hardly worth the full price, IMO, but what it allows you to do is to mix and match heads, torsos, arms and legs of humanoids to create a 3D model. This right there saves the time of having to learn Blender or 3DMax or Maya. Then you can clothe these naked bodies with a limited selection of apparel included in the app.
It wouldn’t really be worth much to have a model floating around the game in the standard “T” pose, so you can upload this model to Mixamo’s online “rigging” service. Rigging is the art of adding bones to the model. Bones, then, allow your model to have animations applied in ways that make the movement look natural. Normally this would be done in the modeling app, but for a lame-o like me, it’s best if someone else does it.
Problem is then you need to apply the animation, which isn’t free. You can buy an action animation from Mixamo, have them apply it to your model, and then download the whole shebang for $5 per animation. For a fully animated model, that can get pretty expensive. But they have a free “basic” animation pack, with walking, jumping, and turning animations, so I have something to work with while developing.
Axis Game Factory (AGF) started out as a game development toolkit developed in Unity. I had backed their Kickstarter, but it was unfortunately unsuccessful. However, the developers took their tool, reworked it’s purpose, and it’s now available as a one-stop-shop for “scene building”.
Unity has terrain tools, and they’re pretty good. But you also need to have the additional assets to throw down buildings, and you need to place trees and all that kind of stuff if you want to have a decent looking biome.
AGF lets you start with a basic landscape (empty, flat, hilly, etc) with a skybox, and then use their asset warehouse to throw down buildings, castle parts, primitive shapes, trees, shrubs, and flowers, and it’s quicker than what Unity offers. You can then import those scenes into Unity and have everything exactly as you built it.
Could I have used Unity’s terrain tools? Absolutely. I think AGF does a much better job of it, although there’s some glaringly obvious omissions (like no easy way to make roads, which need to be added using Unity’s terrain tools anyway), but that it comes with some assets for making buildings and can accept custom assets to expand the library makes it a pretty decent tool for creating landscapes.
What AGF is not is a game development engine. They ditched that focus a while back, but retained a “test” mode where you can run around in the engine to test what your landscape will look like in game, in either third person, first person, or side scrolling games. You’ll still need an actual game development engine like Unity or UTK.
[Note: there’s AGF Basic, and AGF Pro. Both will export to Unity. Pro only will IMPORT an existing terrain from Unity Pro. Pro also features the ability to import height-maps. Aside from that Basic might. To use Pro, you need to buy Pro and basic, and as of the writing of this post, Pro is on sale for 55% off, and Basic is $20]
The Mystique of Middlware
Last week when I was contemplating on the “morality” of something like ORK Framework. I don’t mean “morality” like “kicking kittens”, but rather whether or not relying on a form-building system constituted “legitimate game development”.
I decided that I really don’t care. Although ORK Framework pretty much turns Unity into RPG Maker VX in this respect, it’s still Unity, with all rights and privileges conferred. ORK Framework has an API, which means that while the forms can be used to define elements like weapons and consumables and create the combat formulas, accessing these elements via the API allows custom scripts to hook into the parameters defined through the forms.
This is important because in my genetics game plan, I’d need to create creatures via code, but which need to “play by the rules” defined via ORK Framework. I’ve not verified that this is actually possible, but I’m guessing that because ORK Framework is so comprehensive that the developers must have included methods of achieving this exact kind of setup.
Fuse and AGF are more content creation shortcuts than anything else. Fuse will be good for prototyping and maybe for creating some customized (but static in game) models with limited design options, but the Mixamo service may prove to be a boon, assuming I can get the cash together to pay for the animations. AGF will be a fun tool to work with to create the landscapes I need, although it’s mainly for outdoors. I’ll need something else to create interiors.
* A Voltron is not not recognized by the International Bureau of Weights and Measures, although maybe we can petition them to include it.