Boost Redux: 2017 vs 2018

So about a year ago I was working on this module of the course. Actually, I’d already moved-on to the Argon-Assault work, when my computer fried. To get back into the swing of things, I decided to redux the Boost chapter. Here’s a peek at what I’d created then:


While I still have my project files from last year, I decided to tackle this project with a fresh start. There’s still a lot to be done, to be sure, but I’m really happy with the foundation I’ve got so far. Here I am, solidly in the “prototype” phase:



And as usual, some of the project files are available via GitHub. I’ve also decided to upload the prototype to

Some of the lessons I’ve learned here:

Sometimes simple is just better. Case in point: my landscape features in this level are: spheres. In a single texture variety. To differentiate them, they come in a variety of sizes, and some bulge over here, while others… they bulge over there. Seriously, though. For the time involved, and the exceptional functionality of landscape that’s super-easy to setup with colliders, the payoff in a clean yet organic aesthetic is hard to beat.

No matter what I’m coding, I always find excuses to go back and re-use or better-yet re-create things I’ve done before that worked well. In this case I found myself again using the:

bool debugMode = Debug.isDebugBuild; 

trick… Oh so handy!

I try to go back and do some code tidying every so often (after a feature or two get added). Sometimes it’s as simple as doing a RENAME on a variable or function to make the code more readable (I try to use as few comments as needed, instead writing code with variable names and function calls that are as contextually self-explanatory as feasible.) I’m probably a bit anal with my tidying, but it makes it so much easier to work on source code files that are hundreds of lines long.

I find the more of these projects I work on, the more easily and able I am to get ideas out of my head and into the Unity Editor (and Visual Studio).


Now it has a wee bit of actual gameplay:

1 Like

A bit more polished today:

1 Like

I think I’ve done just about everything I can think of doing before moving forward with “level 2”. I expect many of my changes may not be very obvious, but one of my goals was to make the fish more life-like, and less like robot automatons.

A new set of builds are up at so please check it out! Thanks!

(PS - I went back and tried the old WebGL build of my 2017 take at this section… At the time I found it fairly playable, if also fairly ugly; I had a very hard time trying to play it now though, a year later… it’s making me wonder… while I find my new version quite “playable” I wonder if that’s due more to the fact I’ve been play-testing it and tweaking how it controls from day one, and maybe it won’t feel so “playable” in a year, or to other people… If you do try it, please let me know if you found the controls gave you a good feel or not? TIA!)

I really like this Jack, and to answer your question about controls, I think they feel good from a playability perspective. If you wanted to harness more of the underwater feeling then you’d probably need to slow the player down considerably. I think you’ve capture the essence of the underwater world really well, the slowly swaying kelp, the rocks and the fish look very good too - there’s enough for effect without having so many its a distraction.

I liked the change in the colour of the orb on the player’s avatar when the gas was getting low also. I did try to breach the surface, but couldn’t - but the large bubbles that appeared were a very nice touch. :slight_smile:

Your game has the potential for a lot of customisation, especially on the player’s avatar, you could be a squid, a fish, a turtle and so on, all with their own unique abilities. Perhaps some circling nasties too which would add additional hazards/challenges to overcome. Liking what I see, well done :slight_smile:

Thanks, Rob!

I like your advice about speed; my new build, just released, has a largely re-vamped thrust system under the hood, even though I was trying to re-create basically the same dynamics as before. The difference being, I now start the player with a “Cap” on their thrust at 30%. This starts them rather slowly, so that “first impression” is much more viscous-feeling. As a bonus, it adds a gameplay element… complete the mini-challenge and get a 10% cap boost!

I’ve also tried to de-clutter the UI and “help” screen, putting the most important information where I hope the eye is drawn, and filling in the gaps with the, well… filler.

I’m having a bit of trouble deciding what to do about the “ceiling”… I don’t want players to drift away from the relatively tiny play area. One semi-weak idea was a bed of kelp keeping you from getting above it… or an oil-slick, lol… not a major priority, but something I should eventually address, methinks.

Interesting idea to have different avatars available!

Some of my thoughts for “Level 2”: fish-bopping mode… get infinite(?) gas and just run around trying to bop into fishies… maybe do it in 2 stages… How fast can you bop 10 fishies? Okay, now, see if you can bop 50% more; in the same time period!

Perhaps make a percentage of the fishies “electric”, i.e. add fun particle system and if you collide with them you dump your gas?

Since I keep fine-tuning Level One, I can only wait and wonder at what I’ll actually do when I get there! :slight_smile:

Video Link:
Games Link:

Hey Jack,

As a bonus, it adds a gameplay element… complete the mini-challenge and get a 10% cap boost!

That’s a very good idea, I really like that, the idea of using something you have already got and re-purposing it. Coolio! :slight_smile:

I’m having a bit of trouble deciding what to do about the “ceiling”…

Depending on the feeling of depth you want to promote, you could allow the player to effectively “surface” but then include a counter-measure to provide a reason for them not wanting to surface, e.g. break the surface of the water, get pecked at by sea gulls, and lose… ok, bit noddy, but you get the idea… that way you can have boundaries, the player can experiment with those boundaries, but there are consequences if they try to leave the play space you wish them to remain in.

I like the kelp and oil slick ideas, but repetition might be the problem here, kelp tends to grow “up” and doesn’t always provide a “blanket” on the surface, the oil slick would, but you would be under a perpetual oil slick… maybe think about other hazards you could employ too, you could get quick unique/comical on this, if it fits the theme of the game… for example, some people water skiiing behind a boat collide with the player - you lose… a cargo ship collides with the player - you lose… aliens happen to invade earth at the very moment you breach the water, they zap you with lasers - you lose! :smiley:

How fast can you bop 10 fishies? Okay, now, see if you can bop 50% more; in the same time period!

These ideas are cool, and could be used as ways to break up the main game play, e.g. you get to level 5 and its a bonus level, bop the fishies. It would be interesting to experience because it was different to the main style of the game. As the player then reaches the next one and you offer something different you would be creating a feel of mystery, e.g. “I wonder what the next mini-challenge will be?”

Perhaps make a percentage of the fishies “electric”, i.e. add fun particle system and if you collide with them you dump your gas?

Sounds good… or maybe makes you move slower for a period of time whilst you deal with the electrocution, that could be hazardous because your consumption of gas could perhaps remain the same, thus risky!

I noticed in the video you linked to there’s a big fish that swims from behind the camera into the scene, that was very cool - not sure I noticed this the first time around but that really added to the sense of feeling under water and the 3D element to the game.

LOL, I still haven’t dealt with the “ceiling issue”, but thank you for the thoughtful feedback!

I have released yet another new update today, and no it still hasn’t got a level two :slight_smile: to keep it easy, here’s the link.

I continue to make changes to the spawning systems, so now, for example, it’s a bit let robotic to play because you never know where the pickups will be located (presently, there are 21 spawn-points but only ~6 of them will have a pickup after a reset).

I have plans to continue to make the fish less robotic, and to do things like: not swim through rocks. My early attempts thus far at raycasting from each drone fish have all failed; there’s something I’m not getting… they all seem to throw their hits on Origin rather than directly in front of each drone…

One thing I did manage to get working deserves a new video, but I almost don’t want to give away the surprise. :slight_smile: So, I’m not going to say any more about today’s release other than: if you happen to check the Linux build please let me know if the bottom of the player vessel is yellow rather than tinted (as you can see in the WebGL version) to match the thruster power level… I’m getting an undocumented feature of Unity where from time to time it starts to ignore that ONE line of code (but without any errors) so the only way to know if it works or fails is to try the build; as far as I can tell a working build works 100% and a failed build fails on that one thing 100% of the time… #IStillLoveYouUnity :stuck_out_tongue:

Had a moment to make and publish a new gameplay video:

1 Like

This is looking increasingly more polished each time I see it Jack, loving the camera wobble when you hit an obstacle. The music for the video is very atmospheric too. The depth of view and the shadows of the fish really create an underwater feeling. Were the little bubbles coming out of the player’s avatar there before, or are they new also, I can’t remember, very nice in any case. Fairly certain the hud has had changes, looking very polished. :slight_smile:

Thanks Rob. The bubbles were there, but maybe by slowing down the avatar it helped it become more obvious?

This weekend I’ve posted more updates… Nobody seems to DL the Linux version, so it’s not as recent as the WebGL or Windows versions.

I’ve continued working mostly on the environment…

  • there is now a “ceiling” (I simply used the water standard asset and flipped it upside down). I had to stretch the object to something like 1000 x 1000 to get it to look decent… the textures would only render near the centre of the scene at lower scales.
  • The fish have been trained to stay in the play area, and to act a little bit more like “real fish”. For a long while I was having trouble getting them to turn away from the closer collider if they detected colliders on both sides, but I seem to have finally surmounted that hurdle; I’d just about given up, had wiped most of the code from the repository, but on a whim went back in yesterday and made it work with a relative ease.
  • I guess the most recent update is the re-vamping of the FishPool.cs itself, such that the number of fish spawned (at any given call to spawn) is related to local system performance [as measured by a multiple sampling of the average frame rate. Who knows, I might rip out the code in the long-run, but at least for now it means the WebGL version is likely to have far fewer fish for you than if you play the local version… On my system the WebGL version spawns only about 30-50% of what it generates in the editor or PC build.]
  • I’ve been thinking of ways to enhance the gameplay, now that I’m finally (mostly) happy with the fish drones. I think next It should graduate from mini-game demo to full mini-game… that will hopefully include a level 2 (and 3? etc?) but, perhaps unsurprisingly, I have a few diversions to resolve first. (lol).
1 Like

Hey Jack,

This is sounding awesome, thanks for sharing your progress and challenges, its a good read :slight_smile:

So, there are new goodies here : ?

That ceiling effect works remarkably well… I like that…

Updated Sat Sep 29 2018 23:12

I think I managed to collide with a fish… and when I did, it swam away… either that or it was an illusion, but was good fun… managed to do the time trials, good challenges, felt well balanced.

Not sure if you have thoughts for subsequent levels, I was just thinking about things that would look cool/interesting under water… the legs of an oil rig could be interesting… it would introduce different materials / lighting perhaps, and you could create some tight runs through the metal work, if it was to leak oil from the sea bed, if you collided with an oil splodge (for want of a better word), you could darken the view, perhaps add an overlay to make it more challenging to see where you are going.

Really looking forward to seeing what you do next… love that camera wobble, I know I said it before, but at one point i was just crashing a lot to see/enjoy it :smiley:

1 Like

I think I managed to collide with a fish…

Yes, all updates go to the itch link you posted:

Hahaha I love this. I will not openly admit how much time I’ve spent “swimming around” trying to bop into the fish… it’s a bit obscene. Yes, they are programmed to startle away when you touch them. :slight_smile: I have some ideas in the back of my head about doing a “bonus level” where for each fish you bop, you get a small percentage boost to your gas tank capacity… or maybe a boost to an amount of gas you can gain by bopping a fish; that could lead to harder levels where to get past live or die obstacles you’ll need to bop a fish or two for extra air to avoid a death-trap…

Thanks for the great feedback and ideas!

1 Like

Yes, they are programmed to startle away when you touch them

That is a really nice feature and the fact that it isn’t all the time only makes it better in my opinion as its a surprise moment, a wow factor etc, it’s very good :slight_smile:

I like the sound of the bonus level idea also. Be good to keep all the ideas focused around the underwater theme, so the things the player sees/hears make sense.

As an ex-tech diver I feel I should emplore you to consider ship wrecks, divers and fichong boats with drag nets :slight_smile:

1 Like

New updates at, note that the WebGL version can’t run the fly-by-night leaderboard, so you’ll need a native copy to play against the world leaders. :slight_smile: Sorry for the rookie move: leaving the cursor in the video… Always doing more re-shoots, lol.

The leader board was a bit of a last-moment addition over the past day or two. For now, I’m using the best my money can buy… a free one. Please pardon the growing pains.

Just played your game on itch, good job man! Really like this dynamic seaworld environment)

Privacy & Terms