Thought I’d share a quick development update (the first one, actually) for EXO ONE and let you know what I’ve been spending my time on. Things have been moving somewhat slowly, with a lot of ‘background work’ happening that’s not clearly visible on the surface, ie no new planets or anything fun like that! Background work also includes me just doing a lot of learning as well, C# in particular.

Here’s what I’ve been doing + events I forgot to write about:

Greenlit!

EXO ONE managed to reach the top 20 on Steam Greenlight, which is a nice little achievement. It isn’t hard to get on Steam these days, however, so this was just a small stepping stone to getting the game in front of gamers. The real challenge is rising above the throng of games being released on Steam on a daily basis. I wrote about it here.

Story

The story has undergone a number of revisions, and I’d say it’s currently at a 2nd/3rd draft stage. I haven’t talked a lot about the story yet, as it wasn’t really locked in, but essentially EXO ONE will tell much of its story via a narrated voice-over. There isn’t a super complex plot or anything crazy, but I think it really fits. Since the game will be short, I’m not really going to talk much about it either, as I’m wary of ruining it before you play. I can say we begin with receiving an alien transmission, which contains plans for a spherical exoplanetary probe, and instructions on how to open a wormhole.

So I’ve self-voiced a lot of it, just to get a feel for what it’s like to play and listen, which has been quite revealing so far in terms of pacing and how much is enough. Anyone who is on the alpha testing list will most likely get to hear it in all its glory! Don’t worry, I’ll be getting a professional to do the final version, and have done a number of tests with some people already, searching for a voice that fits the bill.

Intro/Tutorial Level

The intro sequence and tutorial level are ready for testing, and if you recall the spherical interior area from AVCON, I’ve expanded that now to include another, larger ‘outer loop’. I may need to continue the tutorial further through the game as I did at AVCON, or perhaps extend it in this interior level to get people more used to using the controls, as it is super short. Testing will probably tell.

tutoriallevel

EXO Speed and Optimizing

A constant challenge I face for EXO ONE is maintaining frame rate with a decent draw distance, while procedurally generating terrain that is smooth enough to glide over nicely. The farther we can see, the more terrain needs to generate while we play, slowing the game. Blending this procedurally generated terrain with any kind of mid/background is quite difficult (for me anyway) as it is always different. I’ll be interested to hear early feedback on people’s frame rates to gauge how much time I need to spend further optimizing this. I’ll also be further investigating ways to draw a mid/background or integrate it into the skybox. HorizonON appears like a possible solution, but isn’t made for endlessly generated terrain.

I’ve also found that as I’ve developed the game, I’ve gradually increased the speed of EXO ONE to a point where I feel the max speed is particularly exhilarating, but again, this only exacerbates problems with generating terrain fast enough.

My best ally right now is lots of fog and low clouds, but that presents its own problems too with seeing objects of interest. It is really a delicate balancing act!

Systemzzz

One of the biggest things I’ve been working on (while I also get to grips with C# coding), is both cleaning up the prototype code I started with and adding systems that let us easily switch between levels and play level-specific narration at set times and places. This is all kinda boring so I won’t say much, it’s basically just me learning how to code better and cleaner.

Camera Improvements

I’ve done a little work on the camera so now there’s no longer any low-speed jerkiness, and I’ve added a “look down when dropping down” in gravity mode and “look up when on the ground” so there’s less camera moving required by players. I still face a frustrating issue with colliding with objects, so the first alpha will feature a camera that clips through non-terrain geometry like a boss.

Audio

I’m using the Master Audio plugin for Unity now, which is fully integrated and working well. Some people may remember the audio cut out bug at AVCON, that’s gone now :) So I now have a fully featured audio system that can handle playlists, audio ducking and a bunch of other stuff that would have taken me forever.

There are also some new sounds for rolling across the ground, flying and impacts, which all further increase immersion and the sense of actually being on the ground.

Plugins and Problems

As a solo developer, still learning code, and using Unity with a number of plugins, it has been a very mixed experience in terms of getting support from some plugin developers. Some devs almost instantly get back to me on problems, sometimes with fixes attached and ready to go. Others won’t reply to emails for weeks or ever, leaving me in a really awkward position, especially with my current skill set.

I have mixed feelings on the whole asset store in general, and specifically with regard to the price of plugins and the level of support required. On the one hand, it is brilliant to be able to gain in some cases man-years worth of work already done for you for a really low price. On the other hand, when you offer these low prices, you get a glut of low skill developers (hi!) coming on board and then generating a support nightmare, meaning you can literally bury yourself under the weight of support. The other problem I have with this is that while you may have bought a plugin for $25, that developer’s hourly rate may be double that, so if they end up spending just half an hour writing you an email with a fix, they’ve kind of halved their income whilst reducing time for future updates.

The hardest thing about non-responder or slow responders,  is you’ve got few alternatives or workarounds. You can write the nth “please halp” email, but there’s really no way to reach someone who doesn’t want to be reached. You can switch to a competitor, but you may end up in the same boat, while having to rewrite whatever code integration you’ve done. In many cases there are no replacements or alternatives. Then, of course, you’ve also lost whatever you’ve paid for said plugin (usually only $20-50 but sometimes up to $200) because there are no refunds.

Ok at this rate I should have named my post “my problems with the asset store”! Really I couldn’t make EXO ONE on my own without it, so I can’t complain too much.

Hovering Maybe

I quickly added a little hovering feature the other day, which I’ve left in for now. I thought it could perhaps eventually become a way to cross non-rollable terrain, but mostly it just feels nice to do, which is almost the entire point of the game with EXO ONE. Essentially now when you’re gliding, if you’re near the ground, you’ll get an opposing upward force. It’s not so great that you’ll never hit the ground, though. It can help with a little extra leap off hills too (possibly too much right now):

exo-one-hover

 

What Next?

I’m working on an issue with one of my plugins that stops me from building the game (boom!), so once that is fixed I’ll be sending out an alpha version to testers which contains the intro, tutorial level and first planet. I’m very keen to get people’s feedback on the narration side of it, plus their thoughts on the length of the first planet, general impressions, etc!

Thanks for following along, and feel free to say hello in the comments, contact form or my Twitter @JayWeston.