Site Update

I finally updated the site to the latest, fixed version of WordPress. Welcome back to hyperlinks and media embeds! I also organized the header so downloads for both Aurora and Volo are now easier to find. Those download pages will always point to the files you need.

Below all posts you will now find that Disqus is used to handle all our discourse. If you’re wondering where all the old comments have gone: They’re still here, just hidden. I’ll try and import them into Disqus in the next week.

I’ve set up a Feedback and Feature Request Page using Uservoice. I’m using their free plan just to see if I like it, and it only supports The Aurora Wager right now. The idea is that you can submit ideas for both games, or vote on existing ones. Popular ideas bubble to the top, and if we like an idea enough we can commit to putting it into the game. Keep in mind that this is just an experiment for now, but if you have some feedback for us please take a look there! It also has a knowledge base on which I posted a guide on reporting crashes and bugs)

An avid Aurora Wager player called Sam created a Wikia page for The Aurora Wager, check it out!

In typical Tinus fashion The Aurora Wager V4 took longer to create than promised, but it’s pretty much done. Some highlights:

  • Split-screen multiplayer support (just technically though, no real gameplay changes yet)
  • In-game graphics and control configuration screens
  • Improved wind field system (more variation, anomalies, less prone to crashing)
  • Improved wind graphics (More, longer trails, optimized performance)
  • Fixes to grappling hook physics
  • Flag now rotates with wind direction
  • Fuel amount per canister cut in half

Look for it this week! (Yes, definitely.)

After V4 is out I’m back on Volo Airsport for a bit. It needs love, and I have love to give.

Oculus Rift

I received my Rift developer kit this weekend! I’ve played around with it a bit, and have started adapting the code for integration into Volo and Aurora. First impressions: moments of intense wonder mixed with moments of intense seasickness. I’m excited, but there’s lots and lots of caveats. More detailed post coming next week!

News & Updates

Press!

The Aurora Wager (and Volo) got features on Rock Paper Shotgun by Craig Pearson, check it out!

I got contacted by Alan of Oculus Hut. He inquired about my plans for supporting the Oculus Rift head mounted display, and whether I had experimented with the Razer Hydra motion controller. I totally do, and I totally did! (See our Armed & Dangerous prototype)

I ordered the Rift on the first day the Kickstarter launched, so I should be getting my development kit real soon. I’m really excited to bring it into Volo and Aurora and see what happens.

Alan kindly offered to list The Aurora Wager on his website, take a look!

Update!

I’ve pretty much finished the split screen audio and input configuration plugins. Finally! I’m bringing them into Aurora for a trial by fire, and Volo follows immediately after that. Once that’s done it’s back to making features. Sweet, sweet features.

I’ve also started experimenting with procedural terrain generation, and am really excited about the prospects. I had already have a ‘huge-world’ streaming system for Aurora, but with only a small selection of islands it gets kind repetitive after a while. Doing terrain procedurally will hopefully allow much more variation while keeping download sizes small.

7DRL – The Aurora Wager

The Aurora Wager is a game created for the 7 Day Rogue Like event.

The Aurora Wager

The game is about you (Jebe) and your buddy (Frits), your arch nemesis (Frederik), and your wager to make it to the North Pole first. By hot air balloon, naturally!

We had to cut a boatload of features to get the download up in time, but we think this is the most minimal version of the game that’s fun to play.

We were inspired by lots of things! The biggest and most direct influences are:

– Roguelikes!
– Proteus
– Kerbal Space Program
– Dear Esther
– Last Exile
– Steamboy
– Minecraft
– Music we played (Kettel, Emeralds, Ochre, Biosphere, Deru, more)

Download the Game & Soundtrack

Please consider purchasing and or donating to Volo Airsport (our other game) to support development of both titles. Thanks, and enjoy!

Controls:

Use: Left Mouse Button
Pick up: Right Mouse Button
Jump: Space
Sprint: Left Shift
Cancel: Right Mouse Button

Grappling hook can reel in items (or the ship) by pressing the pickup button once latched.

(We know the controls are a bit confusing at the moment (when to press use or pickup) and are working on it. Also, we’re adding a sprint button.)

Credits:

Robin Vink: Design, 3D Modeling, Texturing
Martijn Zandvliet: Design, Programming, Terrain Creation
Michael Manning: Sound Design, Music

Enjoy! And let us know what you think. 🙂

Still working on dull but important things

So yeah, I’m still slogging through the implementation of the Split Screen Audio system I detailed last post. It’s boring, it’s a total bitch to get right, and once done it will merely enable functionality that you would consider standard in any other context; but it’s important and like me many developers have use for it.

Unity has been a right pain all the way through, too. (What happened Unity, I thought we were friends?)

“Did you know I actually wasn’t serializing your Dictionary.”
“Err, no you can’t extend GameObject. Why would you want to?”
“I’ve secretly overridden the Equals operator so your null-checks are bogus.”
“No, you can’t control order of instantiation, and no, I will not tell you when it happens.”
“This field value only exists in unmanaged code, good luck if you want to manipulate it!”

It’s not so much extending Unity’s functionality, it’s fighting against its functionality.

I chose Unity so I wouldn’t have to develop my own game engine and could immediately start building my game. It turns out that for anything other than a mini-game or a tech-demo you still need to do lots of non-trivial ground work. This seems logical to me now, but I didn’t realize this when I started.

Anyway, I keep telling myself that Volo will need a strong foundation, and that these features need to be in place before I can start creating the game properly. Whether that’s correct I don’t know, but it’s a way to get there, I suppose. Actually, you could argue that I should work these big frameworks into the game gradually, and you would be right. But at the same time I want to finish up these frameworks, start selling them to other developers, and actually earn some money off the work I put in the game.

I know you are anxious to play new, better Volo. Heck, you might be someone who pre-ordered (thanks!), in which case you’re definitely expecting more bang for your buck. I’m committed to making Volo Airsport into all that it can be. To you I say: I’m not going anywhere! I’ve refused jobs in the triple-A industry and stuck to freelancing specifically so I can do this, and while I may dabble with other game concepts from time to time (game jams) I never intend to work on those for more than just study. That said, Volo Airsport is a multi-year project and there’s no way around that. 🙂

You’ll have noticed: I suffer from a character flaw: I hate to disappoint other people, so when I inevitable get myself in a situation where that can’t be avoided, I tend to stop communicating. When I asked you to demand frequent updates at the start of this year it was precisely with regards to that. Thank you for demanding!

Ok, any more of this and this website will be more LiveJournal than development blog. I’ll finish these damn input and audio frameworks and get to the real meat of the game. Then we can have fun times!

What’s Happening – End of January

Split Screen Audio Plugin

Work on the split screen audio solution for Unity has ended up taking most of January. It’s quite mindboggling to consider that I had the basic idea up and running in a couple of hours of coding, but to properly finish it up it required thousands upon thousands of extra lines of code. I’ve been up to my armpits in disassembled Unity editor code, and have been forced to change course drastically at several points. I might do another big technical blog post about the development when its done, to serve as a roadmap for anyone venturing into similar territories.

It started so simple:

/*
* Move real sources to correct relative position around the real listener.
*/
void UpdateRealSources()
{
    // pair.Value = real source, pair.Key = listener
    foreach (var pair in _listenedSources)
       pair.Value.transform.position = pair.Key.transform.InverseTransformPoint(transform.position);
}

Each Virtual Source has one Real Source for each Virtual Listener in the world. Each frame the position of each real source is adjusted according to position relative to its associated Virtual Listener.

And that’s all there is to it, really.

But then you have to actually integrate it in your game code and your editor, and by far the biggest problem becomes robustly modelling object and component relationships and comply to Unity’s editing workflow. I never, ever imagined there would be so many edge cases to keep in mind (especially all the different ways you can utilize prefabs). With every new use case there would be a new bug, another thing that would break. But that’s for another time.

Global Game Jam

Last weekend I participated in the Global Game Jam with six other friends. If you’ve not heard of it before, the premise is this: You go to one of the official jam venues near you, you get a theme to develop a game around, and you get 48 hours to do it. Go!

The theme this year was an audio clip of a beating heart. Here’s the, uh, thing we ended up with.

http://www.youtube.com/watch?v=H-aXW_CemuA (WordPress seems to be a bit broken so I can’t embed this right now. :/)

We associated the sound with a living machine, one with many individual parts that are all tightly intertwined and interdependent. From that interpretation came a concept for a multiplayer game in which each player controls a single element of a body or machine, is responsible for a singular task, but is entirely dependent on the other players to achieve success.

One player controls the heart and lungs. This player’s goals are twofold: Pump things through the system with the heart, and supply things with energy when they pass through the lungs.

Two other players control cells that live in the blood stream. They are responsible of transporting energy through the body, to be used by other organs, or by themselves to fight off infections. They have very limited means to move by themselves and rely on the heart to pump them through the system so they get where they need to be.

An infection starts to develop throughout your play session. The infected cells try to invade the body and remove energy from every part of it. Without energy none of the organs or cells will be able to do anything, and the body will die.

Live in harmony. Die in disconcert.

We were not able to finish what we set out to do (no gameplay yet), but we ended up with an interesting little toy and are very happy with how the Jam went.

The team consisted of:

Joost Pastoor (Game Design, Programming)
Frank Versnel (Game Design, Programming)
Ruben de Gooijer (Game Design, Programming)
Bram van der Hoeven (Game Design, Sound Design)
Robin Vink (Game Design, Graphic Design)
Snoo Chen (Game Design, Graphic Design)
Martijn Zandvliet (Game Design, Team Captain, Additional Programming)

My role was not so much to code the game, but to lead the team. Being the most experienced with game design and development I tried to make sure everyone felt invested in the concept, was able to do their work, and avoided common pitfalls. Not being the one doing the driving was a little scary at first but in the end it was a wonderful experience and I learned a lot.

Right, back to work!

 

P.S. Next post I’ll talk about the short term and possible long term features I have in mind for Volo. They’ve gotten to a point where they’re concrete enough to get feedback on. It has taken me a long time to figure out what the game is, can and should be.

Technical: Split Screen Audio

As I mentioned last time I’ve been creating a plugin for split-screen audio in Unity. I can demonstrate the basics now, so here’s a video:

The plugin will be sold on the Unity Asset Store once finished, so if you’re interested in testing it or using it for your own games let me know!

Edit:

I uploaded simple a webplayer demonstration for you to check out: http://www.ramjetanvil.com/games/multiaudio_demo/WebPlayer.html

The Beta package is now ready for testing. Again, if you want to participate, contact me through email, or post in the Unity forum thread: http://forum.unity3d.com/threads/165694-Multi-Audio-Split-Screen-Audio-Plugin-Beta

What’s Happening: End of the Year

Hey everyone! Hope you’re all enjoying the festivities. 🙂

Thank You!

Thanks to everyone for playing! It’s heartwarming that so many people like the game so much, even though it’s in such a raw state. And thanks again to the people who’ve purchased the game. While I certainly can’t make a living out of the earnings yet, it does let me purchase things like a license for a multiplayer networking package. Everything is being put right back into development.

Back in October I wanted to do a quiet release, just something to keep folks happy while I worked on a first ‘proper’ release. Of course, there’s no such thing as quiet on the internet, and the game got way more attention than planned. Rock Paper Shotgun and PC Gamer US both picked up on it for example, and many people enthusiastically shared the game with their friends.

While this was all very flattering, it also caused some pressure. Everyone was trying to play, but without configurable controls and a boatload of performance problems the game left a lot of people wanting. I thought I’d get some essential features done in about a week, which turned out to be a preposterous assumption.

Read what’s been happening since October below the jump.

Continue reading

Alpha 0.02 Release – Improvements and Mac Support

Here’s a quick update to yesterday’s release.

Download Volo Airsport Alpha 0.02 Win

Download Volo Airsport Alpha 0.02 Mac

Changes for 0.02

  • Mac version released
  • Lowered Joint Iteration Count for player ragdoll to increase performance at the cost of slight loss of joint stability
  • Created a lower-resolution terrain to increase performance

Let me know what you guys think! Specifically, I want to know if this increases performance for anyone.

Happy flying!

 

Useful info from the previous post:

 

The game can be played with an Xbox 360 pad. For other controllers you’ll have to remap the configuration in the launcher window. Here’s the controls:

Back:               Reset/Respawn
Start:               Pause
Left stick:         Pitch/Roll
Right stick:      Camera
Triggers:          Yaw
A:                     Close Leg wing
B:                     Close Right Arm Wing
X:                     Close Left Arm Wing
Y:                     Close Both Arm Wings

The first times you play you’ll find yourself tumbling down and crashing. This is perfectly normal. The control scheme is complex and gives you a lot of control; but it expects a lot of finesse.

Some tips:

  • A gentle touch is key
  • Pull back on the pitch control slightly maintain an even glide angle
  • Banking turns usually require simultaneous use of the pitch, roll and yaw controls to find the right balance
  • Close wings temporarily for fast manoeuvring
  • Crashing lots is fine

Please send me any feedback you have. Feel free to share the game with friends. And if you think you’ve gotten the hang of it, record your runs and share ’em on Youtube! I’m really curious to see what kind of lines you can pull off.

— Updates —

Donations

By popular demand I’ve set up a quick Donation page. If you donate $15 or more you are entitled to all future releases of the game!

Issues

Controls Configuration

Some folks are having trouble setting up their own gamepads and joysticks. The most common problem is that Unity’s button numbers start from 0, not from 1. So your joystick’s button 3 should be entered as button 2 in the configuration panel. Future versions of the game will have an in-game configuration screen for all this.

Playstation 3 Controller users can use MotionInJoy to map their controls to the game.

Performance

Performance on older or lower-end systems can be bad. If you experience framedrop, shakey bodyparts or stuttering camera motion you are most likely affected by performance problems. Don’t fret about having to upgrade your system just yet! I have lots of optimizing to do, and future versions of the game will likely run both faster and prettier.

Mac & Linux Support

Mac and Linux (ubuntu) versions of the game are on their way. A Mac version of the the first alpha release should be out within the week, but the linux version will have to wait a little longer (have to bring the game up to Unity 4 Beta release for that).

 

Small edit: The early preorder price is $15, not €15 as I previously wrote. Sorry for the confusion!