Take SyRec the plucky little robot and navigate puzzles of logic, timing and physics to advance to the next level.


Controls

Right/left - move right or left

Up - jump

Down - activate switch or terminal

r - restart level

q - quit to menu

Progress is saved after completing each level.




Why this project?

After my last project CASE snowballed into something huge, I wanted to do a project of limited scope that I could finish in a short time frame. This took me about two weeks of solid work (excluding a break in the middle working on something else).

To keep my scope limited I set the following constraints:

  • One tile set
  • One sound set
  • 10 levels
  • Each level fits in one screen

I made a small concession in early development as I realised there was one more thing I needed:

  • One font

I chose this specific project in this scope because I found the 16x16 robot tileset by 0x72 and thought it had a ton of potential, and I was interested in building  a pure puzzle game.

Learning points

There are a lot of new things I did for this project.

  • 2D physics puzzles - getting the 2D physics to work well, especially given the size constraints, took some trickery in a couple of places. Let me know if you can tell where!
  • Puzzle game level design - making each level a challenge given the level size constraints was tough at times, but hopefully there's enough there to cause some head scratching. I ended up doing a lot of sketching, planning and puzzling myself on how to make them work and lay out the challenges I wanted to include.
  • Shader graphs - Something completely new to me in this project and I only implemented right at the end of v0.2 while polishing everything up. This was surprisingly easy to get to grips with (thanks to a tutorial from Brackeys) and I'm pleased to have this in my Unity toolbox.
  • Math! There was quite a lot of geometry and trigonometry involved here, such as in playing with making the physics work the way I needed it to and making enemies move. Bots in SyRec are not on scripted patrol routes - they are dynamic objects entirely at the mercy of the physics engine and held back only by wall, floor and drop detection methods.
  • Lighting effects - I made use of these a lot in SyRec and it's my first time doing so.
  • Bump mapping - I added some basic bump mapping to the sprite sheet.
  • Bloom - I experimented with adding this for some of the effects.
  • [Added v0.4]WebGL optimisation - The WebGL build suffered in performance at first owing to lighting effects. With setting adjustments and some tricks to reduce the amount of light rendering needed, WebGL performance is now acceptable.

Version 0.4 update

  • Significant optimisation and performance improvement especially for WebGL platform - it should now perform smoothly on any relatively modern system
  • Improved player movement and friction behaviour so jumping is more intuitive
  • Bot AI improved, it will no longer walk over edges when it shouldn't and will detect getting stuck on an obstacle faster
  • Improved level lighting to make levels easier to understand
  • Fixed widescreen view now compatible with different screen aspect ratios in Windows build
  • Minor level fixes
  • New build available for both Windows and WebGL

Version 0.3 mini-update

  • Removed bloom, which is enough to make it playable in browser (though I may still need to optimise more).
  • Fixed the button bug mentioned below.
  • I've left the build 2 file available for download if the browser version doesn't perform well enough.

Future features

  • If I were to complete this I'd expand it to 30, 50 or even 100 levels. I'd also expand on the story a bit between the master AI (which incidentally, has a brain the size of a planet) and the plucky SyRec bot.
  • There are a load more unused bots in the tileset that I want to implement, and I have ideas for each of them to make new tricky and surprising challenges to face. Some would do completely unexpected new things, some might even be friendly!
  • [Complete v0.4]Optimised lighting effects for better performance in browser.
  • [Added v0.4]Puzzles that involved influencing bots with light sources (originally a planned feature that was pushed back to complete the core gameplay)

Credits

Design & Coding - Seph  (that's me)

https://cosephgames.itch.io/

Art - 16x16 robot tileset by 0x72

https://0x72.itch.io/16x16-robot-tileset

Sound - UI 8 bit retro by HoneyPhonic

https://honeyphonic.itch.io/ui-8-bit-retro

Font - TripFive by PixelMush

https://assetstore.unity.com/packages/2d/fonts/pixel-font-tripfive-64734

Download

Download
SyRec0.4win.zip 29 MB

Install instructions

Extract the zip file to your preferred location

Run SyRec.exe

Development log

Leave a comment

Log in with itch.io to leave a comment.