Daily EXO ONE Dev Log. Controller Menu Support, Final Rezzed Version

It’s the 19th in Australia, and the deadline is the 20th in the UK, so I have kinda 1 1/2 days to go. Need the controller support 100%, so that’s number one priority!

My fall-back if I fail this will be “mouse and kb only”!

Task Planning:

  • Controller menu support: N hours? Never done this so no idea.
  • Not even going to add yesterday’s minor tasks
  • Testing with controller and mouse/kb 1 hour

Dear Google, “unity navigating UI controller rewired”

Found a few links, looks like the event system is what I’m dealing with:


Since I’m using Rewired there’s a bit I’ve found that looks like I need to setup some actions for UI:


Yikes, just started and realised I also need to control drop down menus. I have a bad feeling :) AND! I still have some terrible dual Event Systems happening (one in each scene). After this I’m going to have to do some serious tidying. I barely know what an event system is so yeah… bad feeling!

Rewired Event Systemz

Looks like I need to:

  • Setup Rewired Input Manager and Event System
  • Add new controller actions for UI and maybe a new controller map/category

Ok so I’ve set it all up and I’m pushing controller sticks and d-pads but nothing happening. Kinda dunno if we can even control UIs in another scene or not… I have Rewired in the Manager Scene and the UI to control in the IntroScene. Reading more!

Seems if I click a button then move the controller stick I can use it, think I just need to set a menu option as active to start with, which is annoying as it’s in a different scene!

Moved some stuff into the Manager scene so it’s easier to reference, now we start with the NEW GAME button selected, and can select menu options but not Action any buttons. 1 hr so far.

Action button working (typo!) as well as drop-down menus, amazingly. Refactoring a bunch of stuff now that scripts and objects were moved around. Getting there! 30 mins

While testing this, I realised that if the game will be in a noisy hall and/or someone isn’t wearing headphones or doesn’t wanna listen to the story, they’ll think the long intro is a bug, or boring or whatever. Anyway, adding a button to skip the intro narration! Functionality already exists for debugging so… 5 mins.

Ack! Gross code! Again I need PlayerControls in my manager scene, but really can’t right now, no time! Maybe I can whack something into the Event System to handle this for now, nfi!

Trying to just ‘whack in’ PlayerControls in the intro scene but bad things are happening. Functionality already exists 5 mins ehhhh? Whoops again! 30 mins later and I’ve mostly got this working using some if(introStarted) and if(gameLevelStarted) in PlayerControls. All works, except if I hit New Game, and the intro starts, with the mouse it’s fine, but the controller seems to ‘double click’ or something, causing us to insta skip the intro. Can’t see anything in Rewired to cause a button press to be down longer or anything, might fudge a delay into introStarted for now. Done, 5 mins.

Ok, main menu just needs the drop down items to be red when selected and we are done. Boom!

Rewired for In-Game Menu

I think the main thing for this will just be that I have to tell the EventSystem to select Resume every time I hit Esc/Start, so we can cycle through menu options. I’ll cross my fingers anyway. Here’s what Rewired says to do:

void SetSelected(GameObject selectableObject)


// Set the currently selected GameObject



I think I can just grab

and force it to always be Resume? This isn’t a complex menu or anything…

As usual, and probably because my code is a terrible mess, to cut a long story short, there’s lots of broken things happening. The starting menu appears in the tutorial/planet scenes, somehow the ingame menu is appearing in the Intro screen on restart and more! It’s 130 so taking a lunch break.


2pm restart. Wondering if I should be trying harder to write good code right now instead of panic rushing stuff. Have a feeling I’ll be working a couple of late nights…

40 minutes in and things are a little cleaner, but still these problems:

  • Restarting doesn’t turn the Quality/Res/NewGame Canvas back on
    • If I manually turn it on and try and press New Game there’s a bunch of null refs from unrelated stuff.
  • When we restart, we can hit escape and the in-game menu appears… 10 mins

Slowly moving everything into sane places in my code, mostly in SceneSetup and LoadEXOScene places instead of just blammed in dumb places with similar function names in an attempt to confuse myself as much as possible.

CofffeeeeeeEeEeeeee! 10 mins

Ok things are looking good! The restart() loop is working fine now except the narration isn’t restarting properly.

My First OnDisable() Ever

I swear, first time I’ve ever done one… to try and handle resetting vars for Restart(). #unitytips4pros

Seriously the fact I’ve never used this is so ridic!

Shortly followed by me writing this comment to myself in my code: //we never disable this script YOUUUUUU!!!

My Dumbest OnDisable() Ever

void LoadTutorialLevel()
OnDisable(); //weeeeeeeee!

Yeah, I’ll rename this, lol, maybe “ResetVars()”. I’m just being stupid. 45 mins later we can restart and still hear my amazing, self-voiced Aussie-accented narration!

Now the question is, can I restart from ANYWHERE. Testing!


  • An asteroid annoyingly blocks the monoliths blue beam, it’s distracting!  Fixed 2 mins
  • Restart works like a treat except once we’ve completed the game/demo, the narrator (and all sound) isn’t restarting.

Watch me Learn!

After we fire the player off at the end of the demo, I mute everything, so…

void OnDisable()

Boom! Task complete dare I say? Now building and testing with mouse/kb and controller.

Test Build Notes


  • In the build, the dropdowns for Quality and Res are switched around, and resolution was 1180 or something… uh oh! Fixed in 30 mins
  • Ok now it looks fine but I can’t use the interface at all… Can’t change drop downs without them ‘staying’ and obscuring other interface, and New Game doesn’t work at all either. Fixed in 30 mins
  • Even while debug says I’m changing quality settings, the game is definitely just using some middling quality setting. Who knows when the last time was that worked… Anyway fixed in-editor, Fixed 15 mins
  • Getting hit by lightning in tutorial, lawl…  This fixed itself??
  • In the build, we can see menu options but instead of the intro/earth scene in the background it’s pure black. But in editor it’s fine……….!!!!!!!! NFI why the differences. OK maybe being hasty, it’s because in editor I have both scenes open already, so testing with just Manager scene loading first… Fixed 30ish mins.
  • Narration pauses too long in intro, players might skip in 2 seconds  Fixed 2 mins
  • If I leave the intro to complete, I get a bunch of rewired errors – check to see the difference between skipping intro (which I’ve been doing endlessly) and letting it run
    • Odd, further testing didn’t replicate the bug… Fixed

Second Round of Testing Notes

Just played through with the controller, striking out stuff that’s too hard basket/not critical:

  • Low player/environ vol in tutorial
  • Voice intro dull sounding? Muted? “Wrong” mixer settings?
  • Mouse pointer stays till we use controller
  • Fully open tutorial door, we can hit it accidentally
  • Narrator vol is messed up if we go in clouds. Only adjust mixer if narration not happening. Fixed 5 mins
  • Controller > start. Resume. In game menu stays open.   Fixed 10 mins
  • Controller > restart, lost focus on Intro Menu. Need another one of these EventSystem.current.SetSelectedGameObject(selectableObject); Fixed
  • After restart, skip intro, no player or environment volume in tutorial scene
  • Can’t see some lightning bolts hitting us, usually the first one??

Dinner O’Clock

Breaking for dinner at 630, then probably do another hour or two since I’m running out of time. Also just re-read the closing date for LeftField, seems the 20th is closed, dunno if I can submit on the day or not so…

Committed. 815pm

Now to add the EventSystem.SetSelectedObject to the main menu/new game button in case of a restart… I can’t seem to figure out why I can’t get the New Game button to start selected/highlighted on Restarts, which is unfortunate… It may be something to do with the mouse taking focus away from it, like if I ever move the mouse… However I just tried not touching anything, and that made no difference. The Rewired Event System confirms that it is actually selected/highlighted, and I can just press Action to start a New Game, so it may not be highlighting correctly or using the wrong color for some reason. Might Google this.

Found this: http://answers.unity3d.com/questions/1159573/eventsystemsetselectedgameobject-doesnt-highlight.html
The WaitForEndOfFrame coroutine was a winner. 15 mins.
My other worry is if someone knocks the mouse and takes focus away from the menu… I may need to have something that detects mouse or joystick usage and uses that.

For the joystick, perhaps “if selected object in the event system is null, and if any joystick axis/button down, set new game as the selected object”.  Mouse doesn’t need that come to think of it.

Re-activating Menus with Controller if Focus Lost

Was pretty happy with this code, which appears to have worked first go, can now move the mouse off menus/click off menus so they deactivate, then move the d-pad and the menu will come back. Only downside is, controller axis doesn’t do that yet. Gonna try for 5 mins. Wow, things work! Here’s my amazing code, which is mostly other peoples amazing code and plugins!

930PM, going to do another Build Test.

Third Build Test Notes

  • Can’t select resolution with controller.
  • At end of demo, the mouse pointer was sat on a button, and no Controller input would budge it… Maybe “if Controller input, lock mouse cursor”? Then, if mouse movement, unlock? Same happened just in the normal in game menu but multiple buttons would get selected. I’m sure there’s a better way of doing this but for now… HACK ITTTT.

Trying to fix the lock state stuff by detecting mouse or joystick inputs, annnd it also worked pretty well:
Hmm, I think I need a wider blog theme so code it more legible!

Lightning, First Strike Sucks

And is invisible. Pretty important player’s realise quickly they can get struck so fixing… 10:15pm

First I will build, zip, upload, since this could be used now I think (still needs more testing though).

I fired off a bolt in secret at the start of the level, lol. Worked! 30 mins.

Still kinda hard to see the sphere covered in lightning too, gonna tweak that some more as well. The way this plugin works, it’s almost hard to have the settings ‘middle ground’ instead of it looking like it’s off or ONFIRELIGHTNING-APOCALYPSE.

Last Thing(?), Sound Levels

Some weird sound stuff happening, I dunno if I reset anything properly from scene to scene. I think I need to look at MasterAudios Dynamic  Sound Group stuff to see if we are adding new sound groups endlessly or something…

Uh, lightning going off in tutorial again somehow? I did that hacky lightning so it’d go off only on the first planet… also for some reason I can hear wind now… This problem seems intermittent! Leaving it…

The reason we can hear rain in the intro after a restart is, we enter a cloud, hear rain, then restart, and rain isn’t turned off. I OnDisabled() the shiiiit out of it!

Again, the lightning + inclouds sounds appearing randomly in the tutorial is really bad. Gotta investigate at least 15 mins.


Added some extra things (sceneIsExterior) to try and shield lightning from going off in the tutorial… MasterAudio must also be firing InClouds to get the sound I hear as well, but nfi how it’s fired. There’s no clouds in the tutorial level! HumMmmMmmm

Oh, and the drop down for resolution…

If I can’t get this, no big deal, who has a monitor that isn’t 1920p?! Well the odds someone does for Rezzed just for my game is 0!

Abandoned! Can’t make sense of the code I copy pasted ages ago!

Final Test

Seems to work, ran 2 full games with mouse/kb and 2 with controller, no problems.

Did one more and still feel like sometimes the sphere doesn’t transform into a glider when entering a cloud with 0 charge with glide button held…! Noticed that it costs more to glide than we can recharge, which might have been the reason? But it only seemed a problem on first cloud enter… Tested a little more, still unsure, good enough though – you often get hit by lightning in clouds anyway I guess(!).

Tidying start position so we definitely roll down the hill the right way… And there’s a bit of geometry you can snag on the tutorial.

Zipping and submitting now and calling it a night once that’s done. Now past midnight!

Phewwwf. Maybe I’ll submit then get up at 9-10, do some more tests just to make sure, and I can submit another updated one if I need to.

Daily EXO ONE Dev Log. 2 Days till Rezzed Submission.

Two days to go until I submit this build to Rezzed Left Field. I think I could probably do some testing today and submit, but with two days I think I’ll spend all today tweaking stuff, tomorrow doing maybe a touch more + testing, then submit.

Planned Tasks

Rolling over some tasks from yesterday

  • Wormhole fx don’t show in tutorial
  • No wind buffeting sound in clouds
  • Lightning tweaks (received new developer email with a fix)
  • Player starting position is crap, we start rolling backwards toward the camera. Starting on a hill would be best.

This shouldn’t take too long, I might tackle these, then I have an email to write for Hyperfocal Design that might take a little bit, then I’ll have a playthrough of a build with mouse/kb + XBox controller and see where I’m at, if I’m going to ‘call it’, etc.

Realtime Notes:

Making notes/observations/new tasks as I go:

Wormhole fx fixed, 5 mins

Trying to tweak the sound for wind in clouds but nothing happening – not sure if my fault or plugin’s! Doubt I’d get a fix in time if it’s the plugin, though, so going to have to find some other way.
Now just trying to track down how and why the wind buffeting sound is being held so low while in clouds.
And still trying… really baffled why this sound effect doesn’t go to full volume in clouds anymore!!

The reason I’m still on this is because people often tell me that getting in clouds is one of their favorite things in EXO ONE, and I think the sound is a big part of the whole experience, so I really wanna make sure this is working!

30 mins

Wind Buffeting Volume

When in clouds, Group Master Volume goes to 1 (great!), but the Variation volume only reaches 0.5 (boo!).

An event in Master Audio tells this sounds “Group” to go to 1 volume over 1 second when in clouds, and 0 over 1 second when out. Yet the variation is 0.5… Shouldn’t the variation stay at 1 at all times? I don’t know!

Checked that the sound distance/fall off was correct, check!
Turned off ducking, no effect.

Finally got it, it was a Bus Control volume setting, I think I was possibly confusing this control with Group Control! Ugh!

Since I’ve just realised this I’m taking the opportunity to adjust some volume levels I wasn’t happy with.


General Volume Tweaks

While tweaking the inclouds stuff, noticed:

  • Holding shift to glide doesn’t transform us (visually?) if we have 0 charge, then enter clouds (which gives us charge). Needed to release then press again…
  • General sound and music volume sounds good now, but Narrator gets drowned out

Adding a new Mixer group for when narration plays, should be pretty easy… Umm, I take that back! I kinda need a bit of a system to handle this as all I’m doing now is transitioning between Mixer Snapshots based on if we’re in clouds or not, and this would have to work with that… And it might need a priority system, so if we change to a Narrating Snapshot then enter clouds, we don’t just change everything back… Or for now I could fudge in some stuff into my inClouds SnapShot transition code that checked if narration was happening, and if not, transition… Umumumummmm…

This has taken a couple hours so far messing with volume levels. It’s almost there, the big thing is just that narration is drowned out… Well, I’m just going to go for the hackiest option of lowering all volume levels except the Narrator, so my game will be kinda lower volume than usual… No wait! One more thing I’ll try quickly – in the NarrationOn/Off functions, I’ll try setting all Buses lower volume during narration, then back again afterward…

Ok, implemented that, not toooo hard, still can’t seem to hear any volume adjustment happening on certain sounds though, which is annoying. Unsure if it’s just MA not updating in realtime or I’m not understanding something… It’s good enough, though.


Lightning, Round 2

According to the lightning plugin devs email he just missed a file, so trying again.

Whoops, errors, still no good! Moving on!

5 mins

Player Start Position

Since EXO ONE has a procedural terrain, this will probably change, but I’m not changing terrain for this build, so I can just move the player to the top of a nice fun hill and let players drop down.

That was pretty simple, 5 mins.

Glider Transform in Clouds

This isn’t happening, at least the visuals aren’t. It’s total rubbish to have to release your finger and press it again to glide in clouds/after getting hit by lightning… The only thing I changed recently was the execution order of the Player, PlayerControls and PlayerRend scripts, so that might be related.

Realised this was caused when I changed Glider Transformation from a button held to button pressed system. Works well when you have charge, but if you have zero, then gain charge, but you don’t release and Press the button, nothing happens. I need to use one of these kinda bools I think:

if(!doingThing) {doingThing = true}

… to stop it firing every frame I hold the glide button, which I kinda hate cos I feel like they’re so messy and require a million bools, but not sure how else I’d do it.

Lol, I even found duplicate if(glideButtonPressed) code, I am amazing!!

This is actually a bit of a bitch of a problem, as I can’t just do:

if (PlayerControls.instance.glideButtonHeldDown)//need this for auto transforming when at zero charge and we enter clouds
if (!glideButtonHeld)
glideButtonHeld = true;

… do I have to go in and set glideButtonHeld false when we reach 0 energy? My logic brain hurrrrts! I wonder how many programmers read this and laugh? luls (no one reads this :).

The bool name for this is definitely misleading as well, but again in the vein of get shit done, this will do. I just did what I said above, it is foul but it works.

Here’s an insight into my code (probably terrible):

30 mins

Just realised lightning seems even worse than it was, I can’t even see it. Perhaps this happened when I was trying to update it?

Lightning Round 3

I feel like this happens a lot somehow, I finish doing things, then they change magically and I need to re-do them!

Done! 15 mins.

Lunch Break

Got up a bit late so just 15 mins.

Pulling Up

Feel like I need to tweak the glider pull-up mechanics some more too. It feels good when we are moving toward the ground or parallel to the ground, but you get punished by trying to pull-up when already going up (in my attempt to stop ridiculous heights). It could also help if perhaps EXO ONE doesn’t move in the direction it’s facing (its velocity) but instead zeroes out Y. This way you couldn’t hold forward and endlessly fly upward. I might try this first as this might be an easier fix with a tweak to how I handle pulling up.

This is taking too long, I’m trying to actually model a glider with my rather simple physics code by hacking things together. It gets close but I don’t know if I’m going to manage anything decent in time. I’m going to give this another 15 minutes then admit defeat for now.

Thought I’d try and record a video in the Unity Editor but I have yet to own video recording software that doesn’t crash everything(!)

Calling this done for now even though it aint!

30 minutes

Build Testing

Going to play with mouse/kb then XBox controller, and make notes on anything that sticks out as super broken.

Notes in order of importance:

  • RestartLevel from ‘demo complete’ is broken with a black screen
  • Unpin terrain to avoid the ‘snow bug’ in terrain (Map Magic/RTP issue)
  • Tiny draw distance (not being set correctly?)
  • Pull up costs no energy vs jump, which does.
  • Music too low. Are we returning to max vol after narration?
  • Alien signal too loud in intro
  • Sphere not lit in tutorial
  • Hud arrow in intro shouldn’t be visible.
  • Can’t glide and pull up from ground?

Plz Restart, Level!

Blarrrgh! What happened to you, RestartLevel!? Time.timescale = 1 yet we seem paused, and having trouble getting the damn black fadeout image off. If we restart anywhere else we still break everything… RestartGame() also no longer working, help me jebus! watafak!

Here’s another example of something that was working and now isn’t. Maybe this is just common? I feel like I need a better methodology for figuring out the cause, and probably some way to code things that doesn’t make them so susceptible to breaking in the first place! Having a lot of trouble with this, 30 mins + in.


  • Clicking restart level seems to properly unload and then load the scene we are in. New intro starts to play but nothing happens from here. Game manager needs resetting or something?
  • Looking at the LoadEXOScene code (it’s garbage) and have nfi what the problem is
  • shiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiit
  • trying to build incase build is different to editor… (hail mary) … Nope!
  • OK, Debug.Logs, EVERYWHERE. This has taken me hours now for something that was working before…
  • Looked back through my tasks from yesterday and can’t understand what changes might have done this.
  • We seem to be staying in our Orbit state during the intro, after restarting… And my debugs tell me the player in orbit isn’t moving.
  • Checked Time project settings and while I swear to gawwwd it said 1 before, it just read 0 (paused), which is hopefully where my entire problem is.
  • OMG it’s working again, wtf! I have no idea why the timescaling decided to stop working but I’ve fixed it. Now on to restart()ing
  • Restart works but the intro text stays if we Restart right away…fixing

So now we are back to square one after most of the day spent redoing what I thought I’d completed already, and the menu > restart or reset level still doesn’t work. I think I may just need to get the black overlay/fader image to go away and this might be done.

RestartLevel is now working, but not RestartGame();

So many hours, 4?

Double Manager Scenes on RestartGame()

It helps sometimes to look at the inspector, #unitytips. So first guess, I don’t actually unload the Manager scene, then load another…

Whoops: //SceneManager.UnloadScene(SceneManager.GetActiveScene()); //can’t unload an active scene!

Where was the warning/error on this? I didn’t see one!

Rewrote my previous terrible code with some less terrible stuff, works!

20 mins

Remaining tasks:

  • RestartGame from ‘demo complete’ is broken with a black screen
  • Unpin terrain to avoid the ‘snow bug’ in terrain (Map Magic/RTP issue) 5 mins
  • Tiny draw distance (not being set correctly?) 15 mins
  • Pull up costs no energy vs jump, which does.
  • Music too low. Are we returning to max vol after narration?
  • Alien signal too loud in intro
  • Sphere not lit in tutorial
  • Hud arrow in intro shouldn’t be visible.
  • Can’t glide and pull up from ground?

And after testing, let’s add a big obvious one – controller support for menus, yikes! I’m a professional … game … makering … guy! Cross fingers I can actually pull this one task off in one day!

Tomorrow will feature getting RestartLeve() working from the demo end, plus controller menu support.

Daily Dev Log. Social Media Optimizing, Debugging Jumping

17 Jan 2017

Planned Task List

  • Answer a couple of Hyperfocal (my bread ‘n butter biz) emails. ~30 mins
  • Do a little Facebook ad research ~15 mins
  • Write an intro email to an Aussie games journalist ~10 mins
  • Build EXO ONE and check it actually works (was testing in-editor) ~10 mins
  • Take deep breath and try to fix the jumping problem for the 10th time. Jumping was never an issue until I rewrote some code to make things clearer/better. Surprise I made it a little worse at the same time! This could take all day, but I might admit defeat at the 2-3 hour mark (because Rezzed Left Field games event deadline) and move on to other tasks like yesterdays:
  • When reaching the end transport monolith, some tidying up needed for sounds etc.
  • Add escape/Start menu so players can restart the game
  • Numerous small things like HUD appearing when it shouldn’t, old text that makes no sense in intro, etc.

Realtime Notes:

Stuff that comes up as I go:

Facebook Ads Research

My Facebook ads research: https://www.quicksprout.com/2017/01/16/15-advanced-facebook-advertising-techniques-that-you-probably-didnt-know-about/

Social Media Post Timing
I always thought posting social media at 9am was the optimum time. Just saw this, though, which is kinda arguing against that. This is for facebook, but possibly applies to other social media:


Pages to Watch
See how often other developers post on Facebook and their level of engagement using “Pages to Watch”. Pages > Insights > scroll down. Requires 100 followers. Ugh, I have 70 something. Going to just buy 30 so I can mess with this.

Video is huge on Facebook
I’ve definitely noticed this last year, and need to start uploading videos there instead of just posting links to Youtube.


I thought those 3 were the best points, but check out the article yourself.


Contacted a local journalist (something I do way too infrequently) to see if he was keen to check out the game. I always ‘feel the fear’ of contacting people, mostly because it involves putting yourself and your game out there to be potentially ignored. But that is life or something! In the email was the ‘elevator pitch’:

“EXO ONE is an exo-planetary exploration game where you float, fly, roll and glide with complete freedom across a multitude of surreal, alien worlds.”


Testing Build

Building and checking that it works first of all… Here’s some notes I took:

  • Quotes ” ” in tutorial are all over the place, just gonna remove
  • Debug warning text shouldn’t be showing in tutorial, but is. Prob related to recent addition of Energy Explanation stuff
  • Wormhole fx don’t show in tutorial
  • Jump bug almost seems to be happening more than usual :/
  • No wind buffeting sound in clouds, probably due to tweaking sound levels yesterday.

The sound and music levels are a little off still, but I sense a huge time-sink ahead if I start moving sliders. Slider moving is truly my bane. Maybe if I have time I’ll return to this. Now, jump buuuug!

Took 20 mins.

Jump Bug

Kicking this off at 1130am with some Hyper Light Drifter music by DisasterPeace :)

Playing in-editor to watch when jump count debugs fire off, to try and get an idea what causes one jump to work and not another. It feels like an issue with FixedUpdate, but the way I handle the jump controls, it should only fire for one frame. Removed a line of hacky looking code and tested again, seems to be working. But I’ve thought I’d fixed it before! Will carry on testing it as I do other things. Took 10 mins.

Related to jumping, the visual effect for jumping in glide mode is broken, so working on that now.

Glider to Jump Transformation

Only I could make something as simple as a ball transforming into a flattened ball so hard! Really keen to get a programmer’s eyes on this to get their opinion on my logic/methodology. A friend of mine has offered, so I’m really looking forward to seeing what he thinks.

I think my logic skills are just so bad that I have trouble visualising how to handle all the cases of ball transformation, from sphere to glider, to jumping sphere, jumping glider and back… Typically when I’m stuck like this I just kinda start trying thingz and seeing what the result is. Probably hence how slow I am!

I just adjusted script execution order to hopefully clean up conflicting timings… I think this is probably a bad solution, but surprisingly that fixed it! The reason I tried this, was that in my code ‘tidy up’ prior to holidays, I split the player code out into 3 scripts, and now a few things happen “at the same time(?)” in Update(), whoops. In the future, if doing this, I probably need to do less bools and more calling of functions in the separate scripts, instead of in Update(), using bools to trigger when stuff happens. If that makes any sense…?

30 mins

End of Planet/Level Tidying

Mostly I need to just properly end the ‘demo’ if it’s shown at Rezzed. When you reach the transport monolith and fire into the sky, some sounds go stupid and I need to stop that. I’ll also bring up text with ‘demo over’ and then a menu with Restart Game and Restart Level. Come to think of it, since I should add this for testers and for the Rezzed build in general, in case something breaks, maybe I should make a ‘proper’ little menu screen with these two options that’s available at any time using Start/Esc. Unsure how long this might take, should just need to call my level changing code and make the menu/options/on/off etc… I’m going to wildly guess 1 hour. 12:17pm

So far so good, have a menu in my ManagerScene I can turn on and off with Esc/Start button, displaying the two buttons, but can’t seem to make a click happen. Hopefully there isn’t some dumb code blocking rays somehow…

Ah, nice, found this: https://forum.unity3d.com/threads/cant-click-ui-buttons.431042/ which explained how to use the EventSystem to check what rays are hitting. Nailed this in 2 seconds and restart level is working with a couple nul refs, which don’t seem to be hurting anything too much…!

Kinda happy with how my LoadEXOScene(string levelname) works, as I was able to easily reuse it for the menu level loading/reloading. Added something so Esc can’t be hit in the start menu (level can’t be restart from the start of the game!), and testing now in a build.

A few things,

  • No mouse appearing on esc/menu in build, due to 3rd person camera plugin hiding it
  • There’s an errant escape Input somewhere that’s still quitting when I hit esc/start.
  • Narration continues while paused (leave this for now, doesn’t matter)
  • Need an Exit button for testers/in case the game bugs out and people wanna completely close and restart the game.
  • Need an Exit menu item on start screen + actual game exit code
  • Realised I need a better RestartLevel() because there’s 2 levels (I was cheating and just loading the first planet).

Time: 1:25pm, looks like I might need another half an hour, so might take twice as long as my hail mary guess.

Having a break, now that I’ve completed a few of the above. 1:50

Break O’Clock

Back at 230 with sweet caffeination after dropping in at William Chyr’s Manifold Garden stream.

Finalising Menus/Exiting

Just realised since my Start Screen scene is separate from my Manager Scene, I can’t just drop in my GameManager script to OnClick to Quit, which is annoying. I guess I should maybe move all of this into the Manager scene, but not right now! Added some duplicate Application.Quit code :P

Things taking slightly longer here as I’m trying to test Editor/Build specific stuff like Quit and mouse pointer lockstates, which for some reason seems different in editor vs build.

I’m getting very tempted to move PlayerControls into the Manager Scene, as I now need to ‘re-write’ some more stuff to handle hitting escape when the player isn’t in a scene, ugh. Will need refactoring though… Must… not… do…! OK, no quitting allowed during the intro for now! Boom!

This is turning into an even larger task, lots of stuff I didn’t realise I’d need. Here’s the remaining tasks for restart/reset:

  • After restart level and restart game,
  • Menu remains
  • Game stays paused
  • Other UI remains.
  • Need to probably eventually make a state for this?
  • For some reason mouse pointer doesn’t appear when hitting esc in tutorial scene but does in first planet.
  • While testing in tutorial, noticed some more broken text/prompt stuff, eep!

3pm now. Might take another hour for this, if I was to double what I actually think it’ll take!

Added Resume() which is called after level restart, and a resume button, so those things now work. On to Restart now.

Wrote a new Restart() function similar to my LoadEXOScene() one. Task now blown out to most of the day :/ 4PM

Getting close now, fixed all the above and Restart() is working with only one problem, music continues after restart.

Boom, done!

Check out this amazing menu (lol):


Certainly good enough to go, IMO!


I was having issues with getting lightning visually depicting how much charge a player had, which led me to email the plugin developer for this procedural lightning. I’ve got a response so I’m going to try his tweaks to see what they’re like, so I can respond before end-of-day. I kinda try and prioritize stuff like this when most developers are in a different time zone, I don’t wanna wait too long between emails. Committing first, though! 430PM

Broke to make food… Now 530. About an hour then I’m done.

Updated lightning plugin as the author’s changes didn’t work, suspect this is the reason. Still getting errors, so emailed the author back and moving on.

Other Tasks

In order of importance that I can complete in 45 mins or so:

  • Tidying sound etc for level ending
  • Wormhole FX in tutorial isn’t turning on
  • Wind buffeting sound in clouds is gone for some reason
  • Player starting position is crap, we start rolling backward toward the camera. Starting on a hill would be best.

For now I’m just muting sound when you touch the monolith and fading to black, completed in 5-10 mins. Buttons don’t look great on black though… And the pointer is invisible… Fixed, 5 more mins…

Ugh, now for some reason my Restart code isn’t working! Perhaps because it’s about 40C in my office right now! Ok phew, it was just because I changed the file/folder names for some scene files…! My rage levels have risen the temp even farther now and it’s dinner time.


This is working out fairly well. Either I’m getting more done, or am more focused or I just remember now what I’ve done, either way quite liking this! I wonder how boring and incomprehensible it is to read, though? :)



New Daily Dev Log Terror

I’m going to try writing a daily log, starting today, outlining development on EXO ONE. Part of the reason I’m doing this is to keep myself honest. Did I spend all day tweaking some minor thing to perfection, or did I get a lot done? Was it important or not? Airing this out will hopefully keep me from spending time on inconsequential things, or overly optimizing/perfecting things.

Hopefully, it will also encourage me, and let me look back at what I did during the week, as it’s so easy to look at the game on week 1 and week 2 and think I’ve ‘done nothing’.

I’m unsure how often I’ll include these in the newsletter, perhaps I can do a wrap up every week or month. Let me know what you think.


Task List/Planning

I’m submitting EXO ONE to Rezzed “Left Field”, which is a London games event with an indie component. The due date is the 20th of Jan (I perhaps shouldn’t have had such a long holiday!), so I did a playthrough to identify what was working and what was broken.

I identified some tasks in order of importance, stuff that needed to be completed or fixed before submission:

  • Controller support really outdated with lots of incorrect tutorial text etc. Game would probably use controller at Rezzed.
  • Sometimes a monolith materialises out of thin air in front of the player at the start
  • Outline in the tutorial how new power/energy/charge (hummm, name?) system works
  • Restrict how much energy the player can gain on a single planet
  • When reaching the end transport monolith, some tidying up needed for sounds etc.
  • Add escape/Start menu so players can restart the game
  • If I have time, a variety of other minor gameplay, visual and audio fixes

I should be able to get the controller support and tutorial stuff fixed up pretty easily (bolded above). The monolith bug however, I recall was a bit tricky, so will see how I go with that.

Development as it happens

I’ll keep notes and type as I go, bringing up things that appear, or were particularly tricky, or if I ‘fell off the wagon’ and started doing inconsequential things.

  • The XBox controller layout is somewhat trickier than mouse/keyboard to handle, now that I have the new pull-up functionality. I’m going to spend a little time trying different configs, because if the game doesn’t handle well it’ll have little chance of being picked for Rezzed, or enjoyed by players! Took 30 minutes.
  • While testing the glide/pull up controls for the tutorial, I realised that at low speed the glider barely rises at all. Adding a minimum up-force. Took 15 minutes.
  • Realised that in the tutorial scene, you could accidentally trigger the wormhole/next planet text by going too fast in the wrong area. Took 5 minutes.
  • While testing tutorial, noticed that brakes apply too easily when accidentally pulling back on the left stick by even a hair. Took 2 mins.
  • Sphere bounces heavily along large polygons in tutorial facility, adjusted position smoothing. 5 mins. Somewhat fixed but still notice it quite a bit. This could be too big a task to tackle now.
  • Now moving on to adding new energy tutorial text/functionality. For now I’ll just ask players to fully charge then drain EXO ONE before proceeding. 45 minutes.
  • Moving onto monolith appearing bug at 320pm. Quick win here as I realised the problem was just a dodgy bit of logic. 10 mins! However there were other issues related to timing and placement that took another 30 minutes.
  • The narration is confusing now that there are kinda two different types of monolith. To keep things simple I’m only going to point to the end transport monolith with the HUD. 10 mins.
  • When collecting energy, realised the text feedback was from an older version. 15mins.
  • Noticed pulling up in glide mode could let you get ridiculously high… Kinda hard to get good results messing with numbers without a good glider simulation! 30 mins.
  • Noticed it was almost impossible to hear the narration over other sounds sometimes, checking audio “ducking”.  I recall this required a Master Audio plugin update… 430pm.
    • Committing first, then making a backup of the MA plugin in case too much stuff breaks.
    • Wasting a little time trying to get MA to let me duck music longer than 5 seconds, because I can’t find the var that clamps it!
    • Bit of a time blowout here for sure – finally found the var then spent a little time getting ducking working/tuned.
    • Total time ~1hr
  • Music begins incorrectly, then begins again when we reach the surface. 6pm. 2 mins.
  • Now I’ll stop energy from appearing once we’ve collected a few energy sources. Pretty easy, 5 mins.
  • Noticed monoliths can spawn on top of the end monolith, fixing. 2 mins.
  • Finishing up now at 630. Spent a little more time just tweaking volume levels and pull-up forces, etc.
  • Commit code

End of Day

Pretty happy with that. Felt like it kept me more focused. Got 3 or 4 main things done plus a bunch of other stuff that I ran into.


The main thing that remains now, which I didn’t mention originally, is that jumping is currently a big problem (somehow). I’ve been spending a long time on it so far without much gain. Basically I’m using Rewired for my controls, but I’m doing something wrong somewhere, as sometimes jumps don’t happen. You press jump and get an odd visual/physics effect, rather than a standard jump force/visual.

That’ll be my nemesis task for tomorrow!

EXO ONE 2016 Wrap-up + 2017 Plans

Back from Holidays

So I’m back from a couple weeks of holidays where I pretty much didn’t set foot in my office or in front of my PC. I really like doing these breaks, as my office is both where I work and play games, and I spend a lot of time locked away in here! It’s good to have a complete mental break and just do something different. Instead of creating alien worlds, I really got into making under-water ones, so before getting to it, here’s a 90L aquarium (the first I’ve owned) which I’ve just planted out:



2017 marks almost 1 year spent developing EXO ONE, which is slightly terrifying! What on earth have I been doing, then? How has the game progressed from then until now, and what have I done since AVCON in July? I often ask this of myself in fits of despair, before reminding myself I am only one person, who can barely code…!

EXO ONE in Jan/Feb

Slightly slow and floaty back then. I’m not sure how this existed long enough for me to get a video of it! Remember, this was recorded mostly for my own records, or to be shared with plugin developers to highlight bugs etc. So it looks very rough, it’s recorded in the Unity editor, features the use of cheat/debug keys, etc. I wouldn’t suggest watching these all the way through! They’re unlisted as well, and I don’t really want them being featured anywhere, so please don’t share them or embed/etc.


trueSky (volumetric clouds/sky lighting plugin) is now integrated and this was an early version where I’m trying to highlight some issues, so this is mostly for seeing how the graphics have evolved.

I would say that from Jan/Feb through April/May a lot of time was spent getting used to using plugins like trueSky and Map Magic, as well as increasing my C# coding skills.

Here’s my EXO ONE AVCON application video (a South Australian comic/games event). At this stage you can see I’ve made some pretty quick progress, and spent quite a bit of time on the art style, as well as adding the glide mode and a 3rd Person Camera plugin. In some ways I look at this and feel like the game hasn’t progressed in 8 months(!), which in some ways is actually the case, but in reality, a lot of other stuff went in that is somewhat invisible, and includes a bunch of the following:

  • tweaking camera plugin code to suit
  • rewriting physics code so it runs properly on all machines
  • writing the EXO ONE story, and rewriting it, and rewriting it
  • getting voice actor tests, voicing the entire story myself (for testing)
  • creating a tutorial level
  • trying a range of gameplay variations/abilities
  • going in circles a little bit on the goal/objective system
  • taking forever to decide on the game’s name
  • updating terrain numerous times for FPS, view distance, plugin updates

June > September

July was the month I released the game announcement, contacted a bunch of press, created the exo-one-game.com website, press release and teaser trailer, which required a fair bit of work:

Afterward, I…

  • Added Master Audio plugin, rewrote some audio code, re-did how I handled sound per-scene
  • Lots of code optimizing and rewriting (again, I’ve only learnt to code this year, really)
  • Created multiple biomes for the starting planet so it varies as you traverse it
  • First pass on trying to figure out how ‘going in any direction’ could work with the objective monoliths

This is more or less how EXO ONE looks today.

September > Now

Since September I’ve been working on, and slightly going in circles on a few different ways of doing objective/goal/HUD stuff to communicate what the player’s objective is, what’s happening, etc.

The tutorial level got a big upgrade as well, and of course since then I’m wondering whether to throw the player ‘right into the game’ instead of having a specific level, which isn’t really revisited, and requires custom content and code etc. This is just one example of the kinda stuff that gets made and then thrown out!

I’ve also been experimenting further with gameplay by adding/removing stuff like gliding up or “pulling up” (not just gliding/falling slowly), energy/powerup systems, lightning strikes and stuff like that. You can see the lightning stuff below, plus a WIP HUD/objective marker system.

Testing and Sharing Builds

After a run of a couple months where the game couldn’t be built due to the correct checkbox not being checked (long story), I have started sharing some pre-alpha builds with a few people, and plan to expand this by probably one person for each build I release. I’m doing this so that I don’t quickly expose too many people to the game, therefore removing them from a pool of people who have never played before. I think this is pretty valuable as new players have less preconceptions. So if you think you should have a build by now, don’t worry, you’re still on the list, I’ll get to you eventually.

Improvements for 2017

There are certainly a couple of things I’ve noticed I am particularly bad at. The worst habit I probably have is becoming somewhat obsessed with the visuals, so much so that I’ll carry on tweaking what should have been a completed planet, when I should be doing other things. This was partly my fault, but also partly because of changes I was making to try and extend draw distance, speed up framerate, and from changes to trueSky and the way it would light the scene. With such limited resources I was probably spending a lot of time trying to reach an impossible goal of a) looks amazing, b) has infinite draw distance c) has plenty of objects/plants/grass d) runs fast.

So as I create the next planets, I’m going to try and be very careful to lean toward “good enough” and not 100% perfect.

What’s next?

Once I’ve settled on a goal/objective system, I’ll be FINALLY (and embarrassingly) moving onto new planets, which I seriously hoped would have happened 5 months ago!

When most of the new planets are done, I’ll be integrating my self-voiced-terror-bad-narrative and making sure that it all makes sense to players as well.

Some of my biggest hurdles and challenges coming up will likely be:

  • Making a good story when I’m not a writer
  • Handling an infinite sized world, which sorta involves resetting game objects to world zero seamlessly
  • Creating enough unique content in terms of different planets, terrain/landscapes
  • Keeping the game interesting past the first few planets
  • The handful of cutscene-ish type things that go with the story
  • Water and Gas Giant planets
  • And lots more :P

When will it be out?

This is a tough one! Development has already taken twice as long as anticipated, but at the same time, the gameplay and story are relatively simple. I hope once the goals stuff is nailed I’ll be on a content creation super highway of planet creation, which will hopefully only take a few months. Perhaps a few more months for story/cutscene integration and further tweaking that, and then a couple months for testing prior to launch. So 8 months? Give or take 8 months? :P

I will keep you updated.

Thanks for following along, and be sure to sign up to the newsletter  to be notified of future blog posts and updates. Alternatively, follow me on Twitter, or Facebook.

EXO ONE Nov 2016 Development Update

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:


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.


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.


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!


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.


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):



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.

Making Craters for EXO ONE

A crater is perhaps the perfect piece of landscape for EXO ONE to leap in and out of. It can be approached at various angles, has lots of room for error, and is suitably sci-fi and outer space-ey. You can build up a ton of speed if you hit them just right as well.

Below you can see a screenshot of just the crater nodes, which then feeds into the rest of the somewhat vast node network that governs the procedurally generated terrain. This is created using Map Magic by Denis Pahunov @akaWraith which you can grab on the asset store here. Essentially the entire terrain is assembled in this graph fashion. Of course, with EXO ONE I bent reality a bit so that almost everything can be jumped into and out of. Anyway, here’s the nodes + the end result crater:



Sign up to the EXO ONE newsletter here to be notified of related news, trailers and release dates.

EXO ONE Greenlight Post Mortem (2016)

EXO ONE has been Greenlit, making it to #26 (24 at its height) in 2 weeks. You can check out the EXO ONE GreenLight page here.

Starting From Nothing

I began the Greenlight process with practically zero fan base. The games I’ve made prior were on different platforms in different genres and from different companies. Perhaps outside of family, friends and old work friends, I might have had a dozen or so fans following me on Twitter (maybe).

I released a teaser alongside a game announcement press release on GamesPress on the same day the Greenlight went live, and I hand emailed every games website I could find who had covered similar games to EXO ONE. I would direct most of these emails to a specific author, mentioning in some way, shape or form that I was aware they either liked the genre or had reviewed a similar game. I received two replies from probably 50 emails, both saying essentially, “looks interesting, let us know when there’s something playable”.

Here’s the teaser I made using 100% in game footage. Music was by Rhys Lindsay, which, since it was made for the game, really fit perfectly with the mood I wanted.

This netted a total of about 500 views on Youtube in the first week, which is ok, I guess. Clearly not a hit or anything, however. I put a ‘vote now on Greenlight’ annotation at the end, and figure I can swap that out for whatever I’m promoting next!

Within the trailer, I spent exactly zero time showing my Exbleative company name or my own name and instead went for opening directly to a mysterious looking structure behind some pretty clouds, then went from there. The game is all about the vibes, so I pushed that mystery/melancholy angle as hard as I could while splicing in a little bit of gameplay.

While it would have been nice to see the video do so well on Youtube that it brought in Greenlight votes, it did at least singlehandedly take me to #26 on Greenlight, which I’m fairly proud of. I got some really positive feedback on Twitter from some people too:

Games Press

I used these guys to handle my press release since they had a reasonable fee, Gamasutra used them and so does most of the industry it seems. I also just really wanted to cover all my bases. They were super quick on email and I felt like I was dealing with real people, which was nice. You can see below how many views I received compared to the average, and compared to the best (who already have huge followings). I think if I had something playable, or perhaps just more gameplay footage, this would have been more helpful.


Here’s the press release itself.

You can see I did almost twice as good as most ‘average’ press releases, and really not too bad even compared to big name releases like Minecraft and The Walking Dead.

After sending my press release through Games Press and hand emailing everyone, I appeared on around 6-7 websites from several countries, which was nice, but it wasn’t exactly a feature on Rock Paper Shotgun or anything. For the most part, I got some repostings of my trailer or quick write-ups that used the press release pretty heavily. I need to mention here just how grateful I am for these, don’t get me wrong! For all I know, I got a lot more traffic from these sites than I thought. It *is* a mystery to me where half my traffic came from (see Google Analytics below).

In the future, I may be writing any releases in a more ‘reviewer’ tone, which might sound more natural if copy pasted. But of course, actual hand-written reviews are slightly better! I put down the lack of coverage again to just not having something playable people could get their hands on. Even with what I think was a quite good trailer, it’s still just a trailer and low on the gameplay and story as well.

2 Weeks on Greenlight

The game followed a straight line trajectory that barely seemed to accelerate or slow, until the last 2-3 days where we hit 24 then 25 then settled on 26. I assume this would be due to the top 25 having a steeper trajectory of yes votes than EXO ONE, therefore making them perhaps unbeatable without outside press coverage or a larger audience. But I don’t feel any of this matters much, I was very happy once we hit top 50. Greenlit is Greenlit!

Here is said, straight line graph:

Interesting, all the different trajectories! You can see for some reason even the #5 item isn’t Greenlit yet, after 30 days. I’m assuming the lines disappear once a game has been Greenlit! I’ve also spoken to fellow devs whose games did not even reach the top 100 (not even get 50% there) and they were Greenlit. The mystery process remains, I suppose!

Some more Greenlight stats:




The yes to no ratio looks nice, and I think it is decent, but the AVG TOP 50 also seemed to change a lot from day to day. Sometimes I’d see stats like the above, most of the time it was similar to mine, and sometimes it’d be higher than me, around 63:37. I mostly lagged the Favorites and followers most of the time compared to the top 50, perhaps again due to the lack of clarity on what the game was.

These figures are roughly a third of what I’ve seen other bloggers mention in the past as a ‘minimum requirement’ to get Greenlit or into the top 50.


I got quite a few comments like, “this game needs a story or it will be boring”. I imagine this is mostly from people that didn’t read the description. Probably no one will, so if you want something communicated, you want to do it in the video.

I really enjoyed reading the feedback, though, and in one way I’m glad “it’s all over” because I was becoming a serial refresher, but once the campaign was over I missed all the interaction and waking up to check my rank every day (not really, I checked way more than that)!


I would have liked to have seen more discussions crop up around the game as well, however, I got practically none. On the one hand people seemed fine just asking questions in the comments, but on the other hand, I did notice other titles receive a lot more than me. Once again I believe the lack of gameplay and story shown was a probable cause of this.


I’ve read people going to quite the lengths to get on as many lists as possible, but I managed to get on 10 (good or not, I’m not sure?) without doing anything at all. If you are struggling to get into the top 100, you might want to look into getting in touch with some relevant ones.

Google Analytics

I hooked up analytics and apart from noticing some obvious stuff like almost half of my audience being Russian, I couldn’t make sense of the Direct VS Referral stats:


Direct traffic went straight to the EXO ONE Greenlight url from (?). Referral traffic was mostly from Steam itself (store.steampowered.com) with a smattering of what looked like people linking to it from Dota2 discussions from streams, CSGO lounge and GamesPress.

If you understand this I’m keen to know, is Direct traffic coming from people clicking a browser link which opens up their Steam client, which appears as Direct Traffic?

AVCON and Newsletter Sign Ups

I showed EXO ONE at a local anime and video game festival here in Adelaide (AVCON) which happened 4-5 days after my Greenlight began. How many of the people who played the game and voted, I don’t know, but there was a little upward blip over that weekend visible around the 17th. I got around 30 newsletter sign ups from the event too, and it may be safe to say a similar number of Greenlight votes.

I thought AVCON may have added some ‘legitimacy’ to my campaign. If someone at Valve is checking to see how serious your game is, having taken it to a festival I can imagine is a bonus. So too would be things like:

  • Getting press coverage/previews/reviews
  • Awards
  • Release date that is less than a million years away (I got a few “this game isn’t ready for Greenlight” comments with a mid 2017 release date)

What Does a #25 Greenlit Game Mean?

If I was an excitable person I might have lept up and down a lot after getting Greenlit, however how this translates into actual success is anyone’s guess. How much does my audience carry over when the game is made available? 190 followers isn’t a huge number, so at the end of the day I feel like this might be the equivalent of adding that many people to my newsletter list. Of course, with the added benefit that I can now release my game on Steam, which is no small thing!

Now I just have to make the entire game, market it successfully, play test it, release the alpha on itch.io, then on Early Access or a full release on Steam… “Ez!”.

If you wanna follow along on the ride and be notified upon release, trailers, alphas and betas, you can sign up here. Here’s the EXO ONE game site.

Also if you’re curious what a number 1 Greenlit game gets, “Scorn” managed 2000 comments (10x mine) and I imagine probably 10x everything else, as well! Once you reach the top 100, I imagine the closer you get to #1, the more vertical the climb required to get there (see #5 above).

Two new animated gifs of EXO ONE gameplay

Just a quick post to share a couple of animated gifs I showed on Twitter recently.

First one below shows most of the gameplay and movement methods available in EXO ONE:
1. Rolling, then 2. “Jumping”, immediately followed by 3. Gliding, then 4. High Gravity mode, followed by more rolling before we go back to Low Gravity to roll up and fly off the hill top into the sky. Then we move back into glide mode where, if we hit clouds, we ‘catch thermals’ that lift us up even higher.

The second one is a recently added ‘skipping’ on water while in glider mode:


This was fairly easy to get going on flat water, and I quite like it, but whether this will translate and work on a wavy ocean I’m not sure. I’ll certainly be trying it out!

For more stuff like this, you can follow me on Twitter and subscribe to the EXO ONE newsletter.



Adelaide’s video game and anime festival (AVCON) just finished last night and it was an amazing experience. I showed EXO ONE in the Indie Games Room along with 60 other developers over the course of the weekend and had a lot of fun. I thought people would like EXO ONE based on family/friends/colleagues playing, but the response was above and beyond what I could have hoped for! Considering how fleshed out the two planets were in the AVCON build, people played for a really long time and in quite a few cases, would come back or bring friends over to play. Players would quite happily travel in one direction for (I swear up to or over half an hour?) on one planet, I assume mostly because they enjoyed the flowing, physics-based movement so much. I was blown away!

exo one at avcon

Some of the most common comments:
– “It’s really relaxing/hypnotic” from both players and people watching
– “I can fly!!!” after reaching and soaring above the clouds
– “Weeeee!” in the ‘tutorial level’, which is a spherical interior level, where people loved building up huge speed sticking to the outer wall
– “I love the graphics” and “Is this the Unreal engine?” (It’s Unity 5)
– “The sound and music is amazing”
– “How long until it’s out?”

Survey Responses

In an anonymous survey I had next to the game, the most common ratings were 4/5 (60%) and 5/5 (33%).

Here are some answers to “what was your favorite part of the game?”
– It was a very beautiful game. i loved the movements of the avatar and how it looks so much like real life.
– the graphics and physics of the game
– exploring
– world design / the visuals / the graphics
– everything
– Beautiful visuals and unique design
– Beautiful visuals, free reign, satisfying physics
– the atmosphere of the game – beautiful and stunning. I like the freedom you feel with movement, zipping down hills with more gravity then hurling off a ramp.
– Exploration.
– Relaxing – Great Graphics

And some answers to “what was your least favorite part?”
– no impact crator / trail
– Changing direction at low speed with varying viewing angles. Intuitively I’d feel better steering relative to the ball’s movement rather than where the view’s pointing.
– I didnt find many flaws but i think the story should be more open.
– trying to find objective
– unclear of the main objective
– nothing
– some of the sound affects were a bit screechy
– im not even sure
– Lack of direction, though that was probably intentional
– I might not have played it enough to see, but it would be interesting to explore a wide variety of landscapes – more variation would be cool
– Sometimes feeling like I’m not in control, e.g. not being able to stay in one place.
– No objective – Its a good thing though

Other comments:
– It looks and feels phenomenal and super mysterious. I love the massive structures.
– Love the idea
– really like it, music is awesome, really interested of how the final result will be
– multiplayer!
– Loved it – very relaxing etc. Can’t wait to see more – love the exotic landscapes. Would like to see more and explore various areas!
– very echoey voice is hard to understand. I’d love a level with more green and that would look like a nice place to be. Gliding [needs tweaking]
– Very serene. I like the first sound track and the introduction was a good tutorial. Got stuck on left stick in to zoom. Doesn’t feel required.


My biggest takeaways and areas to focus on after looking through the survey answers, and from talking to people all weekend was:
– It wasn’t obvious enough where you had to go. While it’s an open world game, you have to travel to a ‘transport monolith’ in order to launch to the next planet. So that needs to be clearer and more visible at all times. People would either think the launch point to the second planet was ‘just another piece of scenery’, or they would lose where it was among the clouds and rain. Another solid option here is that there are multiple launch points on each planet, so no matter which direction you go, you’ll be able to find one. Perhaps the best way forward is both making it clearer you need to reach these structures, and also having them scattered, so you’ll never feel like you need to remain near the sole transport structure to get to the next planet.
– People also didn’t seem all that interested in the story, however being at AVCON, it was incredibly loud and almost impossible to hear the voices that communicated the story. I’d equate it to trying to play Dear Esther or Gone Home in an arcade (a bit useless).
– 10-20% of players didn’t get a handle on the gravity based movement, or it took them a while to get up to speed. I’m going to include a more in-depth tutorial here which, in real-time, will instruct players on how and when to use it. Still, those players who had trouble would play for extended periods of time just rolling and gliding quite happily, which is good. I suppose there’s also a chance that some players just liked moving more slowly.


Thanks to everyone that played and signed up for the newsletter, you’ll be the first to know when the first publicly playable build is available via itch.io.

And apologies to the other developers who took the time to come check out EXO ONE, I just didn’t have time as a solo dev to come and return the favor to everyone. Was great meeting so many cool people for a change, though. I am quite the recluse developer!

P.S. if you’re ever in the market for a solid TV, LG make one which can survive a fall from a table top onto the floor, completely unscathed!

Steam Greenlight

We are currently sitting at rank #52 and on a trajectory (based on the sweet graphs Steam gives you) to enter the top 20, which would be amazing! From what I read recently on Steam Greenlight, I expected votes would trail off quickly after 48 hours, which hasn’t happened.

« Older posts

© 2017 Exbleative

Theme by Anders NorenUp ↑