(Screenshot by player QBAEY)
Floating Point is based on some grappling hook code I made for a game that I still plan to continue with some day. Since I was using version control for that, and hence for this, I have a log of every ‘commit’ I made during development: basically, all the times I felt my progress was worth backing up, and what that progress was.
With a bit of hackery, I’ve pulled out a list of those in chronological order to make a sort of diary of the game’s development, showing which days I worked on it and what I did. Obviously this contains some references to things only I’ll understand, but most of it’s in English, and it gives you an idea of how the game evolved and how long it took. I’ll highlight major developments or revelations, and add in when I tested and with how many people.
Floating Point was made in Unity, using Visual C# 2010 Express for code.
Generally the days when there are only a few commits, I probably only worked on it for an hour or two. The ones with about ten commits were probably full days.
Laugh! As I declare it basically finished on day 6.
Cry! As I fail to get a low pass filter working on a non-looping AudioSource!
Marvel! As I flounder to figure out how to ‘revert’ a crazy change, and have to revert my own revert before I can revert.
If you want a bit more context, I talk through most of this stuff in the Floating Point dev log videos I did as I went along.
Idea: 26th of April
Added water level, buoyancy works, kinda fun!
New arena, slightly reduced buoyancy.
Splash sounds and levelling out on surface.
Sound selection fixed
All sounds done.
Random level generation, looking nice and chunky and glitchy.
Colours, bounciness, bigger levels, density.
Velocity Points system working, feels great!
Linerenderer and help text both in.
Sounds added, ready to show.
Bar graphs working, feels nice.
1 day gap
Buttons to adjust density and decay. Music imported but not added yet.
Dynamic music in, no permission yet.
Quieter music, now with permission!
Prototype 3 – full credits, help text, adjustable density and decay.
Trying to get line to shade, abandoning
Rope now glows.
Fixed the jerky jounce exploit! Everything’s super smooth and nice now (if a little easy)
Background level and fog done, working on switching it in.
Level shuffling working beautifully, currently increases Decay.
Level transitions now beautiful, with sound.
Prototype 5, plus density starts low and builds.
3 day gap
Starts much easier
Filter is on audio listener now, splash restored.
Put grapple impact sound on its own audiosource and it STILL RANDOMLY FUCKING FAILS to apply the low pass filter.
Reinstated custom grpaple sound because fuck Unity’s ability to apply filters. Restored slack. Given music a minimum volume to come back from.
Variable cutoff with depth. Everything except difficulty choice and score bar in.
Easier and Harder switching working.
Boundary bouncing, everything kinda working now. Just need score readout/reset, maybe make sparse levels easier and less dark?
Fixed fog, better boundaries, level transitions look lovely, minimum rope length, took slack out again.
Score font in, now pauses on run?
Prototype 5 candidate: just needs integer pickup value and better help text presentation.
Actually we’re on Prototype 7. Tweaked some text and made decay rate kinder.
Bar values pop up, fade out nicely.
Awesome new font, regrettably named Dots All Folks.
Buttons coming along.
Menus working and looking nice
That’s it, I think we might be basically done. Release candidate?
Forgot to tidy up controls for launcher. Also I should credit the font creators.
First test: Windows, 20 people
Patch 1: custom cursor shows where you can grapple, much faster retract, much nice retract noise, much more reliable collision.
Whoops, cursor fixed.
Experimenting with left-click always casts grapple, disconnecting if nec.
Left click retracts but never disconnects, prefer this.
Massive cleanup, level transitions fixed, grapple never misses.
Credits in and control text tweaked, just needs a bit of rebalancing now.
Release Candidate 2 – balance tweaked, input menu tidied.
Restored points penalty for collisions – it got lost when we separated Accumulatedpoints from Velocitypoints.
Tweaks menu, with rope and bar stats.
Second test: Mac and Linux, 15 people
2 day gap
Version released to SusDev beta list: saves and loads tweak files.
High score tracking and overlapping bars working, feels great.
Tinkering with level end GUI layout
Third test: Windows, 2000 people
High scores and bars working as fully as I intend to make them for now.
Version 11 (input stuff cleaned up, all warnings fixed)
Player is round, glow is much nicer, physics feel a bit better? Menu button width glitch fixed.
Adjustable level width and height, now saves to file.
Saves to file and resets defaults.
Level size tweaks complete, level regens as you cahnge them, score resets, etc.
Floor scales with water, but now I’m getting lighting glitches again.
Fixed glitchy lighting by making them ‘important’. Floor and water extend outwards, barrier is more generous, feels less claustrophobic.
130 height now default
Level height UI change, regen level on load custom tweaks file.
Shorter pickup sound seems to fix the crackling.
LEvel gen parameter tweaks, more space underwater, no tiny blocks.
Version 12: slightly taller levels, shorter underwater sound.
Fourth test: Mac & Linux on Steam, 20 people
Trail is now dynamic and basically perfect.
Dimmed background lights, stopped rope from glowing.
Nutty idea – hitting blocks destroys them and their points bar. Needs to also destroy thier light, not destroy the floor, and ungrapple you if you’re attached.
Reverting breaking-blocks idea.
Revert “Reverting breaking-blocks idea.”
Revert “Nutty idea – hitting blocks destroys them and their points bar. Needs to also destroy thier light, not destroy the floor, and ungrapple you if you’re attached.”
Put the colour back in the rope, it makes it easier to see.
Floor removed, bouyancy increased, level boundaries more generous, feels lovely.
Limited bars per level, makes huge levels awesome, sparse levels great too.
Fills more of the underwater space.
Trails revealed at end of level – needs some tweaks though.
Tweaking trail reveal, but still no good solution – probably need two trail renderers. Take it out for now and do more important stuff first.
HUD-less screenshot function added, bars left display finished.
This time without committing the screenshots themselves.
Blerg, hadn’t saved Scene.
Control page tweaks, nicer score bar, surely some more important stuff. Bigger water. Less music cutoff.
First stab at random level configs. Some sure suck! Add debug stuff to tell you what the settings are on each.
Regen key in, density and size ranges tweaked, not really having a huge amount of fun.
30 bars per level, trailwidth correctly reset.
Level width fixed, fail-grapple crash fixed, lighting fixed, variables rebalanced, ‘next level’ key, thicker rope, bigger zoom.
Version 16 (input menu cleaned, fixed scores file startup recognition)
Sparser first level, Easier key removed, always-red rope is easier to see.
Fixed parameters not getting randomised, made rope clearer, made enter work on macs.
Heat Vision trails on end of level!
Lovely fadey outy whole-path trail at end of level.
Changed main trail to use white material and colour it red – bit brighter, smoother fade out, dunno if better?
Cool blue trace when complete level, looks super cool. Change your light and rope to match?
All colours go cool after completing a level, plus score loading is fixed.
Restored the old triple-transparent trail.
Tweaks now adjust average and variance of level height and density.
More consistently easy first level, code cleaned up to avoid public nuisance, level competion sound.
Credited Toyoto correclty.
15 day gap
Removed colordivisor warning, renamed mantissascollected.
Icon, beginnings of a tutorial level.
Refined tutorial level.
Reverted density tweak, player spawns a little higher
Fifth test: Windows on Steam, 20 people
Dynamic retract speed working and feels really nice.
Lower max speed, no water impact penalty.
SteamCloud build: customise retract bonus, tweaked retract defaults, no water impact penalty, closer zoom level, dot always orange, probably some other stuff.
25 bonus retract kicks in linearly under barheight*2.
Minor cleanup to remove unused variables. This build deployed to Steam.
Release: 6th of June 2014
So in all, I worked on it 21 different days spread over about 5 weeks.
Lots of people have asked about how you get a free game on Steam. I can’t speak to Valve’s policy’s in general, I just asked them if they wanted it and they said yes. My understanding is that if you don’t already have a game on Steam, you need to go through Greenlight, as Zoe did with Depression Quest.
Lastly, CannonFodder_ on Twitter asked for tips on random level generation in Unity, so I pasted a cleaned-up version of Floating Point’s very simple level generator.
Hope some of that is of interest!