Abandoned prototypes - Untitled internal project

A drawing of a man standing in a living room

Sometimes you start building something but it never gets finished. That can be a good thing, because not every idea is a good idea, but sometimes it happens for other reasons. It might be worth doing, but maybe there isn't enough time or money to finish it, or other things take precedence.

This is the story of a project that I started but never finished. I don't know if it would have been good or not, but I'm a little sad that I never got the chance to find out.

It was an internal project for a company I worked at a few years ago. It was never properly titled, but after weeks of discussion the concept was nailed down to a journey through history to discover the origin of common household objects. It would be a side scrolling walk across a landscape of different time periods featuring a central character who would 'discover' objects and snippets of information along the way. Did you know, for example, that the first motor car was developed around 1886?

Some initial designs were done for a landscape and some objects, and a placeholder character was developed and animated to walk through it all. It became clear early in the project that HTML5 canvas would be required, particularly when landscape parallax became a required feature.

At this point it's easiest to simply share the unfinished prototype so you can see for yourself. There's nothing in the way of introduction or explanation. The idea was that the character would start in their modern room, surrounded by household objects, then immediately travel to the past then return via object collection to the same room.

Use the cursor keys to move, or tap and hold (or tilt) in the direction required.

Features

I was the sole developer on this project and I was quite pleased with the work I did, even though it was never finished. Here are some of the features it includes.

  • The canvas keeps a fixed aspect ratio but scales to fit whatever screen it's viewed on. It's designed to work best in landscape, so holding your device in portrait results in a message encouraging rotation.
  • There are four levels of parallax, including the main character. Each is scaled and moved to conclude at the same point, i.e. the end of the journey.
  • The height of the 'floor' can be set at any point throughout the journey, allowing the character to move up and down according to the landscape. It's invisible, but would ideally be configured to fit with whatever graphics were in place.
  • You can tilt a mobile device to make the character walk, or just tap the screen.
  • Once the character 'discovers' an object, code can be run to alter that object and produce a popup with information in it (all the popups are unstyled and obviously not the intended content).
  • All images are pre-loaded and a progress bar is generated along the top of the screen that shows image loading progress (I later adapted the same loading code for World War War).
  • There's a debug option (not demonstrated) that outputs FPS and shows the invisible floor.
  • Jumping! It's basically a platform game, so I had to make the character jump. Making it work with the sloping floor and simulated gravity was surprisingly complex, and it's not brilliantly written, but it works.

And that's basically it. The whole thing is written in vanilla Javascript with a bundled library to provide a deferred function (to support image loading). As far as the coding is concerned it's mostly done (save for a bit of polish and a few extra features I wanted to put in), but it lacks the content and graphics that would make it complete. The code's here if you're interested.

The end?

The reason this project was never finished isn't anything sinister or facepalm inducing, it simply lost momentum. It was an internal project, designed to showcase the company's skills, so there was no paying customer pushing to get it live. Eventually other work became more important and the dust started to settle.

Big shout out to Andrea for the graphics and Liam and Dani for all the planning and content work that went into this. It was good working with you all.

Related

This article is tagged with