Star Fish Strumpfer dev blog

App is available at: https://kvall.itch.io/starfish-strumpfer

Personal goal: ship a game with a proper scope as a one man army and make it optimized for mobile.

Game design intention : workout for hyper casual / casual mobile game with very simple mechanics enhanced through level design. Limited inputs (touch screen / one button), optimize art for target devices, short deadline to prototype.

The player should experience a fun and short level that can be played on a phone during a short break (1 minute up to 3 minutes). Death is part on the game but should not be super punitive (due to either short levels or regular checkpoints and safe zones).

Camera : fixed, third person
Controller: Touch screen, Spacebar or A/X button on a controller
Char : Herr StarFish Strumpfer
Game genre : platformer, runner
Device : Mobile (android) and a PC port.

Game and level Design

Going with only one input from the touch screen means I would have to use different player comportment as variation in the input. I chose to use the fast tap to jump and hold over a certain amount of time to halt the character.

Jump should feel like a lightning speed reaction to anything.

Hold requires to halt the character and needs to be anticipated by the player. The physics had been tweaked to emphasis that feeling, the character glide a bit before stopping for good.

With those two simple mechanics I started iterating on ways to force the player to do one or the other, to teach specific patterns to have.

This portion was the very fist one, done with blocjout only :>
those sweet GD sketches

Game art

Had very few time to find out what to do. I played with some space theme and use some Function follows forms method with the outfit to craft a fish astronaut. In the end I spent most of my time for GD and concept on paper and had spent very few time cleaning stuff, as I wanted to spend the few days I had on production to ship the game.

The camera in the begining was a bit more on the side like a 3D side scroller but while testing, the camera in the back felt way better. Some part in the concept were simply dropped when the character would only be seen from behind. The fish was meant to be fully rigged and animated but for obvious time constraints and to avoid a super heavy rig, this was abandoned too.

I wanted to avoid transparency when possible and inverted normals with a camera higher than the character alows some sweet trick. By having a different color for the top of the helmet, I could simulate some air and some cheap water movement when moving the helmet itself.

I felt a bit afraid of realtime lighting at first but mobile phones seem to do just fine. I still had to keep an eye on the polycounts as the lighting generates drawcalls like crazy. It really helps both the art and the gameplay (with a proper casting of the character’s shadow on the ground another solution could have been using a blob shadow).

In the end I am pretty glad on the result for the character, there is a small waste of polys on the mustache from the design. But the camera angle changed a bit while I was testing out the gameplay and tweaking.

Distant star is a lie

Post Mortem: Lacking elements that I would bring or mistakes made on the way

  • Reuse of previous code for the character controller sounds sweet and easy and fast and yadayadayada. But I should have kept in mind to anctipate the complexity I need and clean my code before reusing it!
  • Lack of feedback when the player reach a checkpoint. I got rid of checkpoints for a while because the levels were shorter than expected but could still be though.
  • Mobile phone calculation / frame rate is way less acurate than PC. The way I had coded the jump detection seems to be messy. I thought I had a problematic animation / bones at first but any working animation used as a jump animation stutter the same way.
  • Level design lacked of elements to teach the player to use more HOLD mechanic at first. Some of the simplest mechanics used didn’t force the player to HOLD in the end. A lot of the better mechanics are drafted on paper but the time was felt to short to apply all the level design in the end.
  • Lack of main menu and UI in general.
  • Duration of the levels could be longer.
  • I should have done more rough LD before preparing the ground elements. the pieces are okayish but I know i could have done better by assembling several format of platforms in blender with a better UV projection for the tiling parts. Even with prefabs, set dressing small pieces in Unity still feels like a painful experience and takes too much time for this kind of scope.