Tuesday 5 December 2017

The Lost Packets 50 Level Demo

After my successes in the js13k contest I have decided to explore making 'The Lost Packets' a full length commercial game.

With that in mind I have been implementing a couple of new mechanics that I had tucked away out of the 20 level game. My newest version has a new colour of packet (yellow) which has it's own speed an dynamics. Additionally a new tile set that involves a lot of shared spots on the edges of the hexes make loop generation easier and generally increases the density of the puzzle elements and therefore the complexity.

This demo shows my current game technology - the levels above about 30 are in no particular order but there are 54 of them!

My plan is to release a 60 level version on the play store (built with cordova), apple store (build with cordova), Kongregate and steam (build for windows/*unix/osX with electron).



Saturday 30 September 2017

The Lost Packets js13k - Outcomes

The results of the js13k contest were announced yesterday and my game did very well:
2nd in the Mobile contest and 4th in the desktop category - I am very happy with these results and glad that the judges found value in the project.

My thanks to the judges and other contestants and especially Andrzej Mazur for his commitment to this idea. It was been a fun contest that pushed my design and coding skills to their limits.


Monday 18 September 2017

Js13k 2017 'The Lost Packets' Retrospective

It is couple of days after the close of the js13k contest; the judging and voting are currently underway. After the user testing session I made a few small but critical changes to some aspects of the display, tightened up some levels and made it work on iOS correctly.

Here is my final entry on the contest website: http://js13kgames.com/entries/the-lost-packets


Below in blue my original goals for this project, and in black my comments


  • Elegant, minimal meta-game interfacing with access to all levels - I realised quite that this wasn't going to be a 'less is more' graphical design because I wanted the visual variety and colour - but in the end the level select screen looks quite is elegant and attractive; if not minimal.
  • Persistent local storage of progress and achievements. This was easy enough to implement but surprisingly important to the play testers some of whom even went back to it later in the week to complete 'their stars'.
  • Very elegant, abstract representation of the game play with minimal interface. Again the final game was a bit fancier looking than I had anticipated - I think the hex grid has a natural elegance but the very simple abstract paths on the grid need the complex backgrounds for visual flavour. The game play turned out to be even simpler than I had anticipated in my designs; just the simple mechanism of twisting the hexes and the time controls gave me more than enough for 20 levels.
  • Unique appearance for each level - algorithmic backgrounds and feature generation. Each hex on each level is a unique little generated drawing; each individual Lost Packet is different to every other and each sometimes chirps with a unique sound. So on this goal I did pretty well even though I used a quite different implementation than I had in mind originally.
  • Playable without external instructions - tutorials if needed. As it happens the mechanisms are so simple that almost all my test players rapidly discovered the game without any external help (and in most cases very little frustration) - so in the end no tutorials seemed needed.
  • Simple but varied audio effects for events and UI responses. I am happy to have achieved this goal to my satisfaction; audio is commonly the weak point of the games I create - it is an aspect of game design that I find extremely difficult. But the game has a varied audio landscape which still gives a  lot of information about what is going on and I think the audio and animation give the Lost Packets a tiny bit of personality.
  • Game play that extends over 20+ levels which might take several hours to consume and at its hardest will be challenging to most adult players. To take these one by one: the game is exactly 20 levels (okay); There are perhaps 3-4 hours game play in them if you are the kind of person who needs to get every star (okay); It seems from the play testing that the hardest levels can occupy and entertain people who play a lot of puzzle games for a several minutes each and they might try a few false starts and failed attempts before figuring out the puzzles (really good). I am extremely proud of achieving this third goal making a puzzle hard but possible is really hard.
  • Playable/usable on all screens and devices. The game works well and is very playable on the smallest screens; it also works surprisingly well on low-end Android phones and tablets; the game experience is very similar on PC and mobile device.  So all good on this goal

So over all the project went very well; as a matter of principle I don;t keep time sheets on hobby projects but I figure the total development time must be around 40-50 hours although the vast majority of the development was done after hours and on weekends when I was slow, tired, distracted and not always sober so it's hgard to compare this to focussed-hour's dev time.

Overall I am very happy with the outcomes.



Monday 11 September 2017

JS13k day 28 - User Testing

So it is getting very close to the end of the js13k contest and I have essentially finished my puzzle game. But I had to do some user testing to check the game balance and cross-device comparability.

I put the near finished product in front of 4 players who had never seen it and let them play (and fed them breakfast and coffee).

I think the test went really well and people seemed to enjoy the experience. It is clear that people can figure out how the puzzles work and also that the progression of difficulty is fairly sane.

I also established that I have succeeded in meeting my original goals of: a) '1- 2 hours of game play' and b) 'being reasonably challenging for most adults'.

I also got  a few important UX issues regarding the placement of controls out of the testing which will involve a few small changes.

Two days to go; current size 10.7kb; so far so good.

EDIT: I didn't want to show the game so close to completion but here is the version used to user test with.

Sunday 3 September 2017

JS13K Day 21 - Level Menu and 13 Levels

I have been doing a bit of work on the interface around the game this weekend. A new and rather pretty level select screen is now in place and the general aesthetics around the meta game and scores has been improved. Also 13 levels and counting...

Current bytes count 8.5kb / 13kb.

Here is the latest demo version.

Friday 1 September 2017

JS13k Day 19 - Six Levels

Had a pretty bad week all round this week but have managed to progress the game a little more.

This demo currently has 6 levels; time controls and some score boards working. It also seems to be working pretty well on most of my devices (feedback from anyone with a iOS device would be useful). This version is the first that shows how I can decorate different levels differently which is a bit obvious at the moment but pretty.

Next in the hit list - level selection menu.

Thursday 24 August 2017

JS13k - Day 10 - 3d pretty and a 'real' level!

Got a lot further visually in the last couple of days - I have set-up the 3d transforms the way I have always envisioned them and at least on desktop they look very nice.

My new demo has a whole slew of new features:  a very different white backdrop; the 3d tilt and associated spark animations; pretty time control buttons; responsive layouts.

My new demo level is a lot more complex (think it may be approx level 6) and has multiple solutions of varying complexity some of which are 'quicker' than others - I really like this property in puzzle games - multiple solutions lead a player to explore the problem space more.

I'm also developing a more complex tileset for the upcoming levels.

Current size is very nearly 6kb ... I think it would be great to release the 13k games including a level editor but I just don't think it's going to fit.


Sunday 20 August 2017

Js13k Day 7 - Level 1 Demo and Progress Analysis

So one week in into js13k I have this demo which might sort of look like level 1 of the game  which is cool. the demo has audio effects; detailed (if not pretty) graphics and currently weighs in at 4.73kb (about 33% of the 13k).

In italics, the original feature list I posted on this blog:
  • Elegant, minimal meta-game interfacing with access to all levels: No work on this yet and I wonder if I want it more cute than elegant,
  • Persistent local storage of progress and achievements: Not yet implemented but I'm getting ideas for how to give awards for the levels.
  • Very elegant, abstract representation of the game play with minimal interface.- think my current display demo is pleasing and clear, so I'm winning here.
  • Unique appearance for each level - algorithmic backgrounds and feature generation. Each little spark is unique and the general engine I'm using to draw tiles is very configurable on a per tile basis; so I've got good tools for this but am not using them yet.
  • Playable without external instructions - tutorials if needed.Seems like I;m going to need a little text to explain things but the interface should be easy enough that players can figure it out by poking it,
  • Simple but varied audio effects for events and UI responses. Got a few different sounds in the demo and the sparks chirp a bit at random - I am pretty happy with the ideas here and the code works nicely but need to introduce more variation.
  • Game play that extends over 20+ levels which might take several hours to consume and at its hardest will be challenging to most adult players. I've got a good level editor which is easy to design with so it should be easy enough to design 20 or so levels. I'm not sure I'll get a couple of hours of play - that would imply the average levels takes 5-7 minutes to master which is quite a long time. The final criteria (challenging to adults) I am currently quite confident about - I think the puzzle system is going to be complex enough to be quite interesting.
  • Playable/usable on all screens and devices: I think my current demo works universally although I haven't tested it. The basic square puzzle space (which is big enough on the smallest device) and some flex box magic is going to make this all work without much cost in effort of bytes,

So one week in, using a third of the bytes, and still mostly seeing my goals as achievable - so far so good.



Thursday 17 August 2017

JS13k - Day 4 - a Level Editor!

A few more hours work on my puzzle game and I've got the hex-grid layout code working - so now I can draw entire boards of the puzzle system (although I am missing some key tiles at this point).

I also created the capacity to set some tiles so that they rotate 60 degrees when clicked - this 60 degree rotation on hex tiles is central dynamic of the puzzles.

I have also created a level editor of sorts which you can look at here which accepts tile indexes from tile cheatsheet. and an orientation/action character for each tile. This editor outputs a 60 character string which should entirely define a single level: 20 levels x 60 bytes = 1.2kb - which is a number I can live with especially as the  repetitive nature of these strings makes them a good target for zip compression at the end of the process.

Current release game size: 3.47kb


Monday 14 August 2017

JS13k - Day 1 - Lost at the beginning.

The js13k contest started yesterday around lunchtime in my time zone - the theme for 2017 is 'Lost'. I was quite focused on a maze-like puzzle in many recent sketches 'Lost' seems to suit my ideas well and I think a lot of other competitors are going to have some good fun with it.

I have made a little bit of graphics code that draws something like the tiles I have been sketching on the blog - the first page I have created is designed as a cheat-sheet to use when designing levels and displays all the possible tiles. I think they look rather smart and will certainly do for working pieces as I go forward with more of the code.

I really like the way I can write a cheatsheet like this and will be able to put a lot of code to run a level editor but grunt can still build me side by side versions: a debugable dev version with all the tools; and a zipped release of the game minus any dev code.

Speaking of which, current size of release version 2.93kb - all it does is draw tiles!

I have opened a git repo for my development which you might want to look at for inspiration or out of curiosity.

Monday 7 August 2017

JS13k2017 - Tooling up!

I spent a few minutes this weekend setting up some boilerplate and tools for the upcoming js13k contest.

I am planning to implement using atom and chrome with grunt for the heavy lifting. This repository https://github.com/ElementalSystems/js13kinit is a basic empty project set up for a mobile js13k entry.

The html is very minimal; striped down to the bare minimum that will play well with the mobile devices and won't throw any console warnings. I intend to work in scss and use sass to minify the CSS.

Grunt and npm show off their flexibility with a develop mode that can custom rebuild any changes and locally serve a commented well formatted version; and a release mode that minifies both css and javascript and compresses the result into a zip file as required by the js13k rules (and shows you how close you are to the zipped 13k limit)

Saturday 29 July 2017

JS13k2017 - Linky Level Ideas

JS13k approaches and I haven't had a lot of time to think about it but have made some solid sketches outlining the possibilities of the puzzle game idea I have been contemplating.

The basic dynamic is that of being able to rotate or flip certain hex tiles.



Tuesday 11 July 2017

JS13k2017 - Linky game idea

For my new puzzle game I've been inspired by the famous 90's game 'pipes' and it's many variants over the decades and also an obscure New Zealand published game called Tantrix whose pieces looks like this:

Got some other sketches on paper late last night briefly outlining some of the idea in my head.



Monday 10 July 2017

js13k 2017 approaches!

It's that time of year again; the js13k contest starts in a few weeks and I've been thinking about it. If you don't know about the contest, one has to make a game that runs in a browser in under 13kb of code+data+resources (13kb is very, very little - perhaps a 2% of the size of the page you are currently reading).

My 2015 game cargo-72 was a scrolling platformer (all built with ascii art); in 2016 I made complicit which is a visually pretty, fast bullet hell shoot'em up (with a twist). They both did well in the judged contest and, much more importantly for me, in the contestant voted awards.

So this year I want to create a beautiful-looking puzzle game which isn't reflex oriented. This is challenging technically because puzzle games need lots of hand-crafted levels which takes human time and steals a big chunk that 13kb storage if you have 20 or so levels.

This is the basic list of features I'd like for my entry this year:

  • Elegant, minimal meta-game interfacing with access to all levels
  • Persistent local storage of progress and achievements
  • Very elegant, abstract representation of the game play with minimal interface.
  • Unique appearance for each level - algorithmic backgrounds and feature generation.
  • Playable without external instructions - tutorials if needed.
  • Simple but varied audio effects for events and UI responses.
  • Game play that extends over 20+ levels which might take several hours to consume and at its hardest will be challenging to most adult players.
  • Playable/usable on all screens and devices.


I've got a few ideas for the project and a few sketches I will publish soon.