Skip to content

Project Shinar: A Bit of History

The original inspiration

Cast your mind back if you will, dear reader, to the heady days of 19911. The Soviet Union collapsed, the first Gulf War ended, the World Wide Web was released outside CERN to other research institutions, and the first website ever was published. Amidst all of these and many other huge events, one event in particular had an impact on my young self that may be responsible for where I am today: this was the year my brothers and I got an Amiga 500 for Christmas.

We were pretty late to the Amiga really, but my family weren't exactly well off and the Amiga wasn't cheap. It took some saving to buy the system. As a family we'd gone to a small shop called Stewart Electronics on Penny Meadow in Ashton-under-Lyne2, and we brought the new computer home on a rattly old bus while we poured over the box. The set we got came with a bundle of games3, and one of those games was Tower of Babel.

Tower of Babel had been released the year before for the Amiga, programmed by Pete Cooke and published by Rainbird Software, a label of MicroProse. It was effectively a port of an Atari ST game, so it didn't really take full advantage of the Amiga's capabilities - with the perspective provided by many years of distance, it is pretty obvious that the sound effects are basic and crude, the graphics are at best functional, and the framerate on a stock A500 was... not great.

That said, coming from a ZX Spectrum 128 it blew us away: the graphics, sound, and speed were way ahead of anything we were used to. ToB was played a lot to begin with, in part because it was a fun puzzle game, but perhaps more so because it included a level editor! We could build our own levels and challenge each other to finish them - always a good source of fun between brothers (or arguments anyway). Inevitably it fell by the wayside as more games were acquired, but even now I still have a copy of ToB in my WinUAE install.

So, what was it then?

The name comes from a somewhat strained attempt at providing the background for the game: the construction of the Tower of Babel attracts the attention of passing aliens who leave three robots to help the Shinarians with their work on the Tower. Human nature being what it is, things go pear-shaped, and the humans turn on the robots. The player controls the three robots as they attempt to traverse levels (called 'towers') full of traps, puzzles, and creatures so they can collect their power supplies and escape.

Screenshot Screenshot

Leaving dubious biblical references to one side, the game itself has you controlling the imaginatively named "Zapper", "Pusher", and "Grabber" robots: Zapper has a laser beam you use to blow things up, Pusher has a repeller beam to push things away from it, while Grabber has a tractor beam to collect the all-important power supplies and turn on a few different devices around the towers.

Tower Of Babel's supplied 'towers' are split into 13 groups of 9 towers, each of which puts you in control of one, two, or three robots. Each level has varying objectives - you might need to collect a given number of the power supplies and/or destroy a given number of objects, and there may be a time limit in which you need to complete the objectives (for some reason that is never explained.)

The levels themselves are formed from coloured squares in a chequerboard pattern, up to 8x8 floor squares in horizontal size, and with up to four floors. Travel between different floors is via grey 'lift' squares that can go up or down at most one floor. When objects, including the robots, move around the level they may only do so along the cardinal directions - they can not move diagonally - and only one object may occupy a given square at a time.

Screenshot Screenshot Screenshot Screenshot

And so to Project Shinar

I've done game dev, on and off, for almost as long as I have had access to a computer4, but almost none of the things I've done have really come close to a state where I'd release them5. I'd always either end up losing interest or, more likely, end up going down rabbit holes trying to write my own engine and end up never actually making a game. During 2017 I got it into my head that I wanted to learn Unity and hopefully make something I'd actually release. I started casting around for ideas for what to make, but inspiration eluded me.

Then one day I was clearing out boxes in the attic6 and came across the manual for Tower of Babel in a box of old manuals and papers. This set me wondering, could I use ToB as inspiration for a game to build while learning Unity? I didn't want to straight up clone the game, but it did start a chain of design ideas for ways to take the core ideas of the game - the three robots, having them coordinate to solve puzzles in a 3D world - and see what could be done without the restrictions of late 1980s/early 1990s technology.

It was late 2019 before I'd actually worked out what I wanted to do, and really started learning Unity to make it work. A key piece of the puzzle came when playing with possible designs for turrets in Lightwave when Winamp7 randomly chose the Overture track from the TRON: Legacy soundtrack8 and I suddenly realised: what if I took the core mechanics from Tower of Babel and set it inside a TRON-like world inside a computer? Lots of ideas suddenly started to slot into place

  • The three robots are robotic agents being controlled by the player trying to infiltrate a big computer system and extract data from it.
  • The TRON-inspired setting allows for manageable assets: fairly low poly objects with relatively simple textures that add glowing edges, and no need for organic-like objects (making those has always been my nemesis.)
  • The TRON-inspired setting also gives scope for naming things in a TRON-like way: referencing computer parts, systems, or programs for areas the game happens in, naming the robots after CPU assembler mnemonics (even M68k ones!), and naming entities found in levels in a similar fashion.
  • Time limits for levels can be explained as runtime limits on the program the robots are working in.
  • With the scope of more memory, CPU power, and graphics power, I can allow larger levels, and more programming steps per robot.

I threw away the turret design I had been working on, and started building something that looked like it could exist in the TRON world, and quickly came to the conclusion that this would work

Screenshot

The first turret object from 2019-12-17

Before long I had a list of features, NPCs, and level mechanics that took ideas from Tower of Babel and enhanced them or added entirely new systems, like wall-mounted signal emitters that beams could activate to send signals, and those signals could turn things on or off, open barriers, or even move lifts.

Progress was still really slow, though - I had a lot of trouble focusing in the latter part of 2019 and early 2020 for some reason. During the first lockdown, Ascorbius started doing gamedev livestreams and I regularly joined the chat for those. Those livestreams and conversations really helped my enthusiasm, and I really got into the development properly.

I'm going to fast-forward a bit here, because this is long and rambly enough as it is.

By mid 2023 I had released several alpha versions of Project Shinar, and by that point a fair bit of the game was working: levels could be completed, a lot of entities had been made and worked, the built-in level editor was functional, and I was starting work on the interface the player would use to move between different zones in the computer.

And then The Unity Debacle of Sept 2023 happened.

To say I was put out would be something of an understatement. I could have carried on with Unity, realistically I wasn't affected by their change, but I'd be forever worried about them doing something else that would cause me trouble, and continuing to support them in any way just felt wrong.

So I needed a new engine. And while I wasn't starting from scratch again - I knew many of the assets could be used in any other engine - I knew I was going to end up redoing several years of work.

By mid-October 2023, I'd settled on Unreal as the replacement. Another page will probably be in the works about my experience moving from Unity to Unreal...

Screenshot

The first screenshot I have from Unreal of work on the rebuild.


  1. If we had more budget, there'd be a wobbly effect around the screen now, but wobbly effects? In this economy? 

  2. I do really miss these small, local, family-run shops. Stewart Electronics seems to have made it into the early 2010s by pivoting to AV equipment, but has gone the way of so many shops like it. 

  3. I am fairly sure it was the Astra Pack. DataStorm (another game in that pack, a Defender clone) was another source of endless familiar competition as we battled for increasingly ludicrous high scores. 

  4. Modifying type-in programs in where it started, and it just went down-hill from there. 

  5. One Amiga game had come close... I was almost ready to get some friends to test it when the 40MB hard drive that all the game sources were on shat itself. I had no backups. Now I make backups. 

  6. I swear they bloody multiply. Leave a few boxes in the attic, and next time you look there's a dozen of them... 

  7. Yes, I still use Winamp 5.666, with the Drone skin. 

  8. If you've never listened to it, stop what you're doing and go listen to it now. Seriously. Especially Flynn Lives. It is an awesome soundtrack, and some of Daft Punk's finest work.