Monthly Archives: October 2010

Volo Modding

Wooh! Exciting techno-mumbo-jumbo coming up! 🙂

Unity’s game object system has a base-class called MonoBehaviour, and every script you want to use in your game scene has to derive from it. Thus, you use it for everything, it is your hook into everything that is Unity.

Mod makers for a Unity game would need to write their own MonoBehaviours and plug them into an existing game, but earlier versions of Unity did not allow the use of MonoBehaviours loaded from external libraries (those .dll things). This meant that for modding you either had to provide a system to link MonoBehaviour stubs to externally loaded behaviours, or just let go of your big ideas altogether. With Unity 3 though, it now appears that you can spawn MonoBehaviours loaded from external libraries directly into a scene! Score!

Admittedly, I only did an absolute minimum of testing. I created a subclass of MonoBehaviour like so:

Then I built this into a library, imported it in Unity, and lo’ and behold: The editor even allows you to drag and drop classes from the library straight into the Inspector! Dragging it onto a game object and running the scene results in a printed message, as expected.
I believe this means several things:
  • I can let the Volo application load user-made scripts at run-time.
  • I can let users create their mods using the Unity editor.

I can even do this without having to give modders all of the source code. Instead, I just compile all Volo code into a library of its own, so people can link to it from their Visual Studio or MonoDevelop projects.

I’m really curious to see where this goes, and whether other Unity developers will do something  like this. As far as I know nobody is doing it yet. 🙂

Drawing Plans

Long time no blog, high time for an update!

First off, here’s the trailer I made a while back, it conveys a lot about the current state of the game: Volo Trailer. (You’ll have to forgive me for not embedding the video, wordpress won’t let me for some reason.)

Yeah, that's totally Bispen!

The first proper Volo Airsport trailer! Click the image to see it.

I did an experiment with Unity’s cloth physics, of which you can get some impressions here: Cloth Physics.

Look! Wouldn't that be just the best thing since... since blocky wings?

Using cloth this way would likely result in a unified approach for modeling all ram-air surfaces in the game, in a way that its easy enough for players to design & tweak the shape of their own canopies and suits using an in-game editor. How cool would it be to try and make that Vampire3 fly faster? Mind-blowingly cool, that’s how. Unfortunately it turns out Unity won’t let you read vertices back from the deformed wing mesh, so there’s no way of analyzing a cloth wing for its aerodynamic properties. Not yet anyway, I have good hopes that this feature will become accessible at some point in the future. In the mean time I’ll have to think of something else, so back to the drawing board!

As for the grand scale of things, I’m looking into setting up my own business so I can continue work on the game. Next to working on the game I will spend considerable time doing freelance game programming to build up some funds. I will also be setting up a little online store where you can buy early access to Volo, and some Unity scripts that people have expressed interest in such as scalable input and GUI systems.

That’s it for now. 🙂