Explore an icy exomoon in a versatile and upgradable exosuit. Walk, drive, glide, collect materials, and synthesize upgrades to excel on uncharted terrain. Freely roam procedurally generated worlds, with fully synthesized sounds and relaxing generative music, at your own pace.

E.X.O. is best experienced with a gamepad and headphones. 

Learn more

Please view the manual to learn its controls, system requirements, and how to play. A copy of the manual is also provided with every download.

Install instructions

Archive contains the game executable and manual. Extract to your desired location and play.

Download

Download
EXO-linux-x64.zip 76 MB
Download
EXO-win32-x64.zip 79 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

So I broke another save. I think it also has something to do with cargo storage being full, as that's what happens every time I log in, I get a message saying something to that effect. All the sounds go nuts. In this instant, I wasn't high up in the air or anything. I'd just grabbed something and it happened.

Hi, thanks again for the report. I’m sorry about the bug.

I have started work on my post-jam update which will be ready in the next week or so. What I will do for now is brute force this issue and put out a build that fixes saves whenever they get corrupted.

The behavior with collecting materials is unrelated (when this breaks it thinks you are close enough to pick up). However, this has inspired a new attractors upgrade currently in the new alpha which will auto-loot nearby materials.

I’ll comment when the new build is ready so you don’t need to wait for the post-jam release to get back to the game.

OK, thanks. Hopefully it will be able to fix the save as I haven't touched it and don't plan to lol.

I hope so too! Could you please download the new build and let me know how it goes? It will fix bad game states on save and load, and (fingers crossed) prevent the root issue from happening again. I think it’s caused by turning too much in one direction, like when spinning helplessly in the air, doing donuts on the ice, or challenging yourself to a speed run where you can only turn left. Apparently that can generate some pretty extreme numbers that eventually overflow. Who knew?

yes, it fixed me 😊

OK, I got the game to bug out hard. SO I went back to exactly 0, 0 and stood there for a while. Then I turned a bit and jumped. I forgot to stop turning to jump so I had to counter my rotational velocity, then the sounds from the atmosphere got really loud, and it kept saying I was collecting things. At first, the game would respond to certain things, then it stopped responding altogether.

OK, this isn't just a bug that resolves itself the next time you enter the game. It corrupted my save apparently.

Oh no! I will attempt to reproduce and investigate. I wonder if the lack of speed limits with RCS Thrusters was a mistake. Depending on the fix it might be possible to recover your save if you haven’t cleared it yet. Beware that my time is limited for the next few days.

I haven't. I am not sure where it's located, apart from possibly being in %appdata%\itch\apps\exo.

If you want to try editing the save data directly, you’d be searching for a localStorage file in there. If you search for the string “exo_game” you’ll find some JSON with a “position” key. I suspect it has an infinite number in it. The programmatic fix I’d add in a hotfix would set them to sane default values like (0, 0, 0) for your coordinates and (1, 0, 0, 0) for your quaternion. You can try that manually if that makes any sense, but do make a backup first.

Other solutions would include building from source and running Electron with developer tools enabled so you can access localStorage through Web Inspector. Or simply choosing New Game from the menu, which will clear your progress but allow you to keep enjoying the game.

(1 edit)

I wasn’t able to reproduce this by moving around but, with the right console commands, I was able to get the game into a similar state which corrupted my position and made it impossible to load my save. So I can issue a hotfix later tonight that will correct this and allow you to safely load into your save without data loss.

I’ve also identified a few items related to rotation that might be the root issue, but I need more time to understand the math and fix. That will be part of the v1.1.0 post-jam update within the next few weeks.

Thanks for identifying this bug, as well as your patience and understanding.

No problem. Speaking of math though, you really never turn to 360 degrees in real life, but you can in game. 360 is like a parallel to 0, kind of like how you never have a time of 23:60 , it just rolls around to 0:00.


I'll pass on building it from source, I hate web development.

Haha! I never thought about that edge case. When you’re facing 359.5 degrees the formatter rounds it up to 360. I’ll throw in a tiny fix for that too. 😂 Watch out for a small patch in a bit.

Hi, I'm to the point now where upgrades are starting to require a Teseract. I've notice that there are no slots for these and that I haven't been getting any despite far and wide searches. Nor am I able to see that these are craftable. I'm wondering how these are to be gotten so I can continue to upgrade my suit?

Hello! Tesseracts currently have a very low spawn chance (like 1.33% of materials). Perhaps it’s too low and needs to be increased. My hope was the scarcity would lead to interesting decisions. They have a unique sound to look out for that was super fun to make. You will definitely have the cargo space when you try to pick them up, the screen only shows what you currently have, but you have equal slots for every material. Hope you find some soon!

The problem seems to be that I don't really have any decisions to make as all of my upgrade paths are locked out. Everything needs those now, and I can't get them. I've been to the tops of mountains and along the flat areas where I can just cruise.

This doesn’t sound fun. I will fix this in a post-jam update for us. Thanks for understanding.

Hello ShiftBacktick,

 

Y absolutely love this experience too. The desert of this low-gravity moon, the relaxing sound ambiance, the sensation of speed when rolling fast and bumping in the ice with my vibrating Xbox 360 game controller provide some hardly describable pleasure.

 

Moreover, the crafting system gives a goal to the exploration, which is really cool.

 

Yesterday, just for fun, I climbed to 50km with the jump jet ... I know this takes a while. I wanted to see if the synths could support this and render the terrible speed I would have when falling just before hitting the ground. This was incredible ... no sound stuttering but an extremely hypnotic synthetic atmosphere.

 

One possible bug however. I have the impression pushing the left stick left and right cause the exosuit to go backward and forward, instead of strafing left/right. Could you check and confirm?

 

Again, thank you for your work.

 

Olivier

Hi Oliver! Thanks for playing. I’m delighted that you’re enjoying your time in the E.X.O.

I love how much you tested the limits of the game because I deliberately didn’t add any. In real life I’m sure you’d have escaped orbit! I believe things might start to break once you’ve traveled some 10^12 meters in a single direction due to rounding issues. That would take you over twelve thousand years to walk in-game!

To support altitudes and speeds this great, it might be cool to add new sounds like the atmosphere fading into a different soundscape or your exosuit burning on re-enty. I’ll think about this more.

I believe the left stick is working as intended. One thing to know is that strafing only works in bipedal mode; in wheeled mode it’s all forward and reverse. When your stick isn’t fully 90 degrees to the right or left, it will be detected as slightly up or down. I can try to shape the input better in these scenarios.

Thanks for the report. Cheers!

Hi,


OK, I had not realized that strafing only works in bipedal mode. Maybe I should have read the documentation more.


No need to bother with shaping the inputs in my opinion. 


Thanks very much.

I absolutely love this. I hope it will become commercial like your other titles so you can work on it more. I have a few suggestions though.


First, a way to know your altitude relative to the ground. This would help in being able to come down slowly. Second. A measure of how fast you're going when flying. Third, a way to know when you can use your jump jets again.


In the synthesis screen, I think a sound when you actually do the craft would help cement that it has been done rather than the button disappearing. It's a little confusing at this point to know what you have already done.

(3 edits)

Thank you for the kind words and suggestions. I always value your feedback! In general I agree with everything and think these are good things to explore in a small post-jam update. Extra thoughts:

  • Altitude
    • Your altitude relative to the ground can be inferred from using the scanner. It even pauses the game for you to listen. 😀 If it’s using inaudibly low frequencies, then you’re way high up! When you’re even with the ground it’s a nice Middle C.
    • I will add this to the status screen and give it an access hotkey.
    • In general I’ve been avoiding non-diegetic audio cues, but I’ll see if something else makes sense here. There could be some sounds that play at regular altitude intervals.
  • Sense of speed
    • Originally I planned, but didn’t have time, for adding dust particles that could give you a sense of speed and direction. I will revisit this.
    • I will add this to the status screen and give it an access hotkey.
    • There is no speed or altitude limit, so I will need to consider when these cues will break down and stop making sense.
  • Jump jets recharge
    • A cue for this was on my radar but not implemented in time for submission. I will revisit this.
  • Crafting success
    • I agree that some sound design and a better change of interface state would help here.

No timelines on these changes, but I’d like to wrap this project up shortly after the jam concludes while it’s still fresh. Cheers!