Last night I’ve just finished a game that will feature very highly in my “Game of the Year” blog post – The Roottrees Are Dead. It’s a wonderfully charming romp to map a family tree to see who stands to gain a large inheritance. It’s a classic detective game in the style of The Return of the Obra Dinn (my game of the decade) and, whilst it doesn’t quite stick the landing – it suffers the same fate as most of these games do in that once you get close to the end it becomes guessable – it’s well worth your time.
As with all of these games, once completed (there’s a nice little twist towards the end), I dived into the read more about the game. Whilst The Roottrees are Dead was released earlier this year, it is a “remaster” of a game released a few years back, and the previous version did use generative AI. Only when the original game was released completed and got a bit of traction did the original developer switch to use proper assets – which saw the game become a success.
Good AI in Gaming? Maybe?
It gave me a bit of an uneasy feeling when I read that, and I think I wanted to try and justify it. The game right now that is on Steam is guilt free – beautifully drawn images, great soundtracks, voice acting, it’s a wonderful game. The AI version? Well, it’s still in essence the same game (deciphering photography is a key part of the game), but I doubt I would have played it.
I then thought about would the game have seen the light of day with the AI version? Sadly, doubtful. But once the proof of concept was there, the author did the right thing by seeing it’s potential and investing in artists to see their vision cross the line. So I think I’m happy about it.
Rubbish AI in Content Creation
I awoke this morning to find a video on my feed from YouTuber icklenellierose, that helped crystalise my thoughts on Generative AI and why it’s bad. You should watch it all below. Grab a brew, it’s good.
The basic gist of some of the elements was the fact she was tricked (from an “Inspiration” tab) to get a few video ideas. Generative AI – particularly for artists and creators – can be a touchy subject. Some folks really don’t want to use it for their well optimised creation process, and I must say I can’t blame them. I was a relative late comer to AI within my code, and even then I use it sparingly, and I curse Copilot for auto”correcting” code I write at times. Just stop it.
I’m reminded of a quote from Homer Simpson where he talks about the obnoxious character – Poochie – being added to the Itchy and Scratchy Show:-
One, Poochie needs to be louder, angrier, and have access to a time machine. Two, whenever Poochie’s not on screen, all the other characters should be asking “Where’s Poochie”?
Homer Simpson – “The Itchy & Scracthy & Poochie Show”
I feel AI is being Poochiefied. There are some genuinely cool things out there, I use it in my job at times (I used it yesterday to come up with a small idea to extend a blog post as I was under a word count and was struggling). In fields such as medicine it could be genuinely useful.
I don’t think it’s the be-all and end all mind. Keeping up with developments is both tiring and nothing makes me want to switch off a podcast than saying “We’re going to talk about AI”. Nobody as of yet has come up with a cool reason why I should use it, beyond asking it for sorting arrays, working out where I’ve gone wrong with my code or finding a hook I can use within a plugin with code everywhere. As such, I’m not convinced yet it is the deserving of the amount of column inches it serves.
I especially don’t like it when AI is either front and centre (I had an “AI Summary” present itself in Slack yesterday without asking) or when people are tricked into using it with dark UX. I imagine situations like Ellen describes and experienced by us all during our days is used in board room presentations on how the adoption of AI has been a complete success and it’s what customers want. Using words like “uptake has been stellar”.
That then leads to situations like what was on before Google did put up their prices of business accounts that’s sold on “greater AI integration”.
Cheers for asking, dicks.
I think that’s the point I’m trying to make. I don’t necessarily mind AI if it is presented in such a way that it is an option to use, and there has been education on it and also it doesn’t lurch to “Yay Nazi’s are great!”.
However, I don’t want to work where my processes are having to change due to having AI forced on me.
I picked up Life is Strange earlier on this year to play it on streaming in conjunction with The Playthrough Podcast with the full intention to play it on stream. Alas, I never got around to playing it on stream, but opened it offline for a new game to play in the evening.
The problem with narrative games is me getting invested into the story. I try to set up my system to minimise distractions as I play, to stop my mind wandering when playing. I did the same with Life is Strange.
The game begins with a tutorial teach you basic controls of movement, framed as walking to a lighthouse in a thunderstorm to find shelter. After lightning destroys the tower causing it to collapse on you, the scene changes to a classroom: the protagonist – Max – wakes up. It was all a dream.
Another brief tutorial introduces you to Max’s camera and journal, and you’re thrusted into a chaotic sequence where you have to answer questions and you weren’t paying attention. Discussions and arguments take place, and then – the school bell rings. Max is free for a break, and walks out of the classroom, into an equally chaotic corridor where you’re asked to complete the first mission: go to the bathroom and freshen up.
At this point, the game really hit me, as the sound design is excellent.
As Max puts on her headphones, the outside world dies out, and Max – takes a deep breath – and walks to the bathroom. You can interact with everybody outside, or you can go straight to the bathroom. At this point the game hooked me. Here’s the scene in full.
I don’t know why. It’s something about the music that plays, to go from the chaotic school hall, to a calming introspective. It feels a bit Dawson’s Creek or The OC. I think the tune that plays – “To All of You (American Girls)” by Syd Matters – is from one of them. It just made me sit up and take notice, and had me hooked. Also the framing on the title screen and introducing the title and the development house is done in a non obtrusive way. It was wonderful, and – now on episode 2 at the time of writing – it made me want to see this game through to the end. (UPDATE: I’m now on episode three and I love it). Although the voice acting can be a bit janky at times and the way in which people speak can seem a bit disjointed, the ambient sound effects/music and the way it interacts with the dialogue is perfect.
I often think about the openings of games that stuck with me. I have the nostalgia of watching Super Mario World, Sonic the Hedgehog and Street Fighter 2 on demo mode in Tandy. The first notes of “Baba Yetu” (Civilization 4) and “Vigil” (Mass Effect) make my heart skips a beat. But I struggle to think of a better opening segment of a game. Batman: Arkham Ayslum is decent (but only becomes important later in the game). The best I can think is Final Fantasy 7. The close up shot of Aeris’ face, zooming out to Midgar, only to zoom back into AVALANCHE’s exploits as they smash into the reactor is the only thing that comes close.
Although that came out 18 years prior, it shares the same publisher: Square Enix. I wonder if somewhere in Dotnod they were aware of Final Fantasy 7 and wanted to create a similar opening. If so, they nailed it.
What is your favourite opening to a video game ever?
My latest game – Gone Fission! – has been released and is available to play on itch.io.
How To Play
⬅️⬆️⬇️➡️ – move cursor
❎ (mapped to X/C on browser) – place atom
🅾️ (mapped to Z/V on browser) – next player (2+ human players only).
The goal is to eliminate all other players from the game by causing chain reactions of 4 or more atoms. Probably the game is best explained in animated gif form.
You can play up to 4 players local multiplayer, or you can play with up to 3 computer opponents with 3 different difficulties.
Why I Made It
Been a real labour of love this game, working away on it – as it was the first game I largely developed in public. Working on it publicly when for many years a lot of my work has been behind NDA’s has been equal parts refreshing and terrifying: I’ve had a bit of an inferiority complex when it comes to showing off my work, but learning things like particle engines and programming my own difficulty curves has been rewarding. In the world where AI slop seems to be king, humanly crafting something with love for other people’s enjoyment does feel great.
Anyway, would love for you to play it and see what you think. You can play it in browser and made the PICO-8 cartridge free (which means you can play it on retro devices such as the Anbernic). Donations of $2 or more means you get the executable to play on devices such as your Steam Deck. If you do like it, please share my Itch.io page with details on the game on, and leave a review and a comment: it really helps the algorithm.
Another blog post about a video game I made, entitled “Frosty’s Snowed Under!”. Should you wish to just play the game rather than read the story behind it please click here.
Recently, I got into making video games. A little hobby for something I wanted to take a bit seriously especially outside the cricket season. One such element I’ve enjoyed has been that game development, either because I’ve a 16 year development career behind me or there are tools out there that makes life a lot easier to put out games. The struggle I had with Blitz Basic at the turn of the millennium doesn’t seem to exist anymore, and I believe that anybody with some creative idea could put out something in one of these tools.
What you are greeted with when you open Pico-8. Note the 8192 in the bottom corner. That is your limit.
One such tool is the Pico 8. It is a fantasy console that imposes limitations on your coding (you can only have a certain number of “tokens” in each programme. For example: "if x==1 then print("Hello") end" counts as 8 tokens). But it includes a simple music player, graphics and map editor. This allows some pretty nifty games (of course somebody has ported Doom to it) and most games – from racing games to shooters – exist on the little console.
I was drawn to it after putting a few games on my Ambernic retro device, and after completing an excellent Metroidvania – UFO Swamp Odyssey – I wanted to have a go at making a game. I wanted to make a little game to play on my Anbernic – the thought of somebody curling up in the festive season with my game like a good book to while away the winter nights was rather romantic, and I thought that a little retro platformer may be perfect. With the time of the year it was, I began making a game from my childhood.
The original Frosty the Snowman game for the Commodore 64. A game that has had a bigger affect on my life than it had any right to be.
Frosty The Snowman
A game that had a special place for me in the Wynne household has been Frosty the Snowman. A festive game that usually came out of it’s sleeve in the festive season, Frosty the Snowman was on the covertape of the first edition of Commodore Power released in 1991. One of the staff writers – Richard Taylor – was an amateur game developer, and put it on the covertape. With a cracking remix of the Frosty the Snowman tune by Steve Barrett on the soundtrack, the game stuck with me for longer than it had any right to. I also have the original covertape still! There’s a bit more history to the game which you can read on the Retro Garden blog.
The Frosty the Snowman Covertape from Commodore Power. Please note: only Frosty is worth playing. The rest are utter crap.
For my first Pico-8 game, I thought of remixing Frosty. With the tracker, map editor and sprite editor, I felt I could knock something together that looked similar to the 1991 original. After MonoScale, I wanted something relatively easy with the graphics. Thankfully with the 128×128 screen and a 16×16 sprites even I couldn’t mess up something that resembled a snowman!
I was happy with how it turned out. I removed a bunch of the unfair deaths and made it accessible for a modern audience, kept the scoring and introduced a timer and multiplier system. I wanted it to introduce an end game: have a timer and require Frosty to take shelter towards the end of the game, to avoid the ending of the most traumatic Christmas experience (the ending of The Snowman). Time and effort made it not so, but I kept it a high score push.
My basic take on Frosty The Snowman for the C64, but for the Pico-8. Please note, the stopping snow indoors took forever.
So far the feedback has been positive. With folks commenting it has replayability. I’m not sure where I’d go to improve it. It’s by no means the best games, but was built over 6 weeks and I’m happy for how it looked. It also was the first game I live-developed on Twitch.
Pico-8 Advent Calendar
I intended to release Frosty a Friday before Christmas, however I heard about the Pico-8 Advent Calendar Game Jam. I joined it to share my game. No doubt it gets more eyes on the game. It’s also been fun seeing some games being developed and helping out with them in real time, taking on a more supportive and critiquing role.
Anyway, at the time of publication there are a few more games due to be released in the calendar. I’d love you to check out the rest of the advent calendar, but if you just want to check out Frosty’s Snowed Under, then you can do at the link here:-
There is a download link so you can play it on devices like an Anbernic or RetroArch, which I’ve done below. You may need to update the Pico-8 version on your Retroarch to do so mind.
A real sense of pride seeing this run on an Anbernic.
If you do like the game, please do share it or add it to your collection on itch.io.
Warning: This blog post is long, winding and probably doesn’t make sense, but explains the last few weeks. If you just want to play MonoScale, click here.
One of the 50 before I’m 50 that I have technically done before is release a video game. Using Blitz Basic in the early 2000’s, I made a bunch of games. You can read about them here. Though, sadly, the games are no longer available to download (I must have removed them at some point). Sadly lost to time.
I’m older, and a bit more experienced in programming, so embracing my new-found sobriety, as the nights draw in I thought to play around with game development and try to make a video game.
Not wanting to let it drag on forever and to give myself some sort of deadline, I entered a Game Jam. Game Jams are you’re given a limited length of time to release a game. And like the time I signed up for a 5k, I signed up for a game jam without really any sort of experience in game engines. I’d played around with Godot a bit, but I was not too experienced with it and regularly hitting walls. There’s a physics based joke in there.
Anyway, I found a Game Jam I was interested in the concept of – a 1-Bit Jam. As well as a theme where the limitations were to graphics, it also gave a couple of weeks development time. I’ve seen game jams that last for 48 hours and they just do not sound fun. So I signed up, joined the Discord server, and readied myself for making the game.
The Idea
Before the Jam started there was a vote for the theme. As well as the restrictions you had to make a game surrounding a theme. I can’t remember all the potential themes, but the two that I remember were “Silhouette” and “Tower”, purely because I had an idea for each of them. Silhouette may get made later down the line, as I really like the concept, but Tower won.
As for an idea? Well, sadly I went for the obvious. I was ravaged with COVID and was watching the Olympics at the time. I got really into the Speed Climbing. I was fascinated by the speed they were scaling the walls. A simple climbing game was what I thought, climb the outside of a tower incredibly quickly. Rather than climbing, I thought of a grappling hook system, where you’re against the clock to climb a tower quickly.
With an idea in my head (actually two), I hoped either Tower or Silhouette won. Tower won, so I begun development.
Development
Although I’d been playing around with development in other items, I felt using Godot was the best tool for my needs in terms of familiarity and features.
The difficulty going from WordPress to game development is that – even with the current state of the community and the irrationality of certain actors – I’m fairly confident WordPress is never going to introduce a physics engine. Even though Godot does a lot of the heavy physics engine work (things like “apply force to this object in this direction” are one commands), it can be tricky for somebody that focuses on PHP and MySQL to get their head round.
Godot development uses “Nodes”. These can be anything and everything. So for example, they can be players, enemies, power ups etc. You code every interaction needed for the game. In this game, I had a couple of base nodes – the climber, and hooks.
The climber can fire a grapple. This grapple would have a max length, and the player cannot fire a grapple if one is already active. If the grapple is attached to a hook, then the player is pulled towards the grapple. In reality, a force pushing the player towards the hook is applied. Once the player reaches the hook, it is released.
It sounds complex, but the force direction and application is two lines of code, so I don’t have to calculate anything!
These nodes were then put into another node, a Tower node. Which adds a background and detects the player position. The hook node was set to randomly generate and pushed out onto the wall.
At the moment it felt like a wall, so I want to make it feel like a tower. This was relatively easily to do, as I looked at games like Nebulus to see how that was done. A brickwork pattern was applied to the background, and when the player hit collision areas located in the left, right and top of the screen, the tower scrolled left, right and up.
Look at all the collision detection!
Hooks were interesting, as to maintain a look scrolling the hooks was needed. This again was looping through each hook and moving it left, right or down. Should the hook scroll off the bottom of the page it’s deleted from memory and a new hook is spawned at the top of the page. Oddly, even though there were approximately 100 hooks on a 1500 x 1500 pixel area, there was no real slow down, and although you could get parts where hooks are clustered together and other parts of the tower are barren, it worked pretty well.
Finally, I had to introduce a lose state (which is the player falling off the bottom of the screen) and a win state. The win state was a bit of fun, a simple ending animation should the player go off the top of the screen when the height climbed was over 100m, the time recorded and a return to the title screen. This is where game development gets difficult as nodes are in effect wrapped into one other. A main game node (containing the player, hooks, HUD and background), a title screen (containing information and the high score) and an ending scene. One advisory I saw about Game Jam entries was “make your game fairly easy”. Send the punter home happy, show a lot of your content early and often. I imagined most people would have played my game at maximum two times, so I set the height of the tower at 50m (I struggled to complete it at 100m) which should offer enough challenge, but not too difficult.
The game was actually built relatively quickly – I did use ChatGPT to format things I didn’t really understand but no AI was used in the art or music assets. I think in total about 10 hours to take the idea to completion.
Polish
Once the game was finished in it’s most simplest form I began thinking of ways to polish it. The first was improving the sprite work.
I found a tool – Aseprite – for the sprite work. I felt confident enough in my abilities to do some basic sprite work (soon to be misfounded). Sure enough, after about an hour and a bit I managed to get a basic tower built and graphics. It’s incredibly powerful, Aseprite, but not really had too much time to play with it.
One thing I did struggle with was the people, as I’m not great at drawing people. I used – oddly – the arcade version of Track and Field as a guide, and it didn’t turn out well. Poor Gwyn the Colourless was not looking well. In the end I left him looking a bit odd and weird in the game, as I did with Princess Blanc (the character you “rescue”). But we’ll leave it at that.
The evolution of the “falling” sprite for Gwyn the Colourless. I didn’t like the second draft, as he looked odd and too similar to the “going up” sprite.
One thing I am proud of is the tower effect. One thing I was worried about was the hooks and the fact they didn’t stand out on the tower. Thankfully with Aesprite it was easy enough to create a dithering effect, and the hooks were made a bit bigger and bolder so they stood out a bit more.
With the dithering, it also allowed me to put a round effect on the background. This was done with an overlay so it looked more like a tower that scrolled around the screen.
After the graphics was the music. I am not musically inclined so I approached the Discord asking if somebody would help me out. Thankfully somebody offered to help me out so that was fine. With the sound effects, I’d been playing around with Pico-8 recently and it has a snazzy sound effect editor. After a bit of time I had a game over, fire and connection sound effect ready to go.
Finally, I made a title screen, somewhat of an ending and cleaned it all up. The title screen I was most impressed with thanks to the starfield I created, that allowed me to drag and drop it into other scenes, set the width, height, offset and density, and put it elsewhere.
LOOK AT IT SPARKLE!
There were other ways to polish it. But I wanted to get it finished by the end of Wednesday 9th October, as I’ve two days before submitting it. Come the 9th, lateish in the day, I uploaded it and submitted in preparation for the game jam. The second suggestion was making your game playable online, rather than relying on people to download it. Thankfully in Godot you can compile your game to web so a quick upload to itch.io and the game was ready to play online. About 5 uploads in total for various reasons (the music wasn’t looping, “Fullscreen” would reveal my tower secrets, etc etc), but I got there in the end, and it was published on the 10th.
The polish work was the 20% of the 80/20 rule. Whilst the main game took me about 10 hours, polishing was around 15 hours.
Should you wish to play MonoScale you can do so at the link below. Let me know how you get on!
Post “Launch” Debug
There were things I wasn’t too happy with the game. I found it frustrating and it came up time and again in testing. I did think about reducing the height but I thought having an average time of 2 minutes to complete it is fine.
Nevertheless, it probably is too difficult. A new version would probably be slightly easier, with a bigger hitbox for the hooks.
Come Friday 11th October when the Game Jam was over the voting began. At this point you have a period of time to vote on other games. Here’s a bunch of feedback I received as well as the general comment of “It’s too difficult”.
An idea that was suggested on was camera work. I liked the end condition of throwing yourself off the top of the screen to win the game, so I wanted to keep that, but the scrolling up as you go up is a bit wonky. I’m not sure what to do here but one suggestion was maybe a zoom out if the height is under the 50m target height.
Quickfire ideas that I both a) like and b) take on board are the following:-
Sound levels are a bit off. SFX are a lot louder than the music (anybody who has watched me on Twitch will know that’s no real surprise).
A cylinder warp effect on the tower would definitely make it look more cylandrical.
Give the option to immediately retry the game, rather than push folk to the title screen.
One of the surprising bit of feedback was that Michael Klamerus featured it in his Indie Game Roundup on October 11th. I was not expecting any coverage outside the Game Jam itself. He praised the art (which is always a nice thing to hear as I feel like I can’t draw). Once again though I’ve heard the comment “I’m bad at this” which I’ve translated as “The game is too hard” for people who are incredibly polite 😊.
Also, checking the stats I’m somewhere on Indienova, but I don’t know where as a search has proved fruitless and Google Translate only goes so far.
Finally, the nicest feedback I received was that it would make a perfect mobile game.
All of those are suggestions for what I’m wanting to do when I have a bit of time.
The Game Jam & Results
During the voting phase, you’re encouraged to vote on other games. Here’s some games I really liked were:-
One of my favourite games was “The Skyscaper Plagiarism Agency“, which is a simple one bit game that requires you to build towers to match another tower. Really good fun and it showed – was in the top 10 of the most fun games out there (Gameplay it came 7th). Would be fascinating to see a full version of this without the 1 bit limits.
Bab.le was a Wordle clone I quite enjoyed. You have to build longer and longer words. Again, an original take on the tower concept (granted, the idea of “Tower of Babel” isn’t exactly unique, but the execution was great). This game also did well. In the top 50 for both originality and gameplay.
Witow Hero was a thunder god playing on a tower, so had a basic kind of guitar hero clone, but the graphics and the music really appealed to me, as it was a gameboy aesthetic.
Spire Bound was another great game: a fun little Metroidvania game that had a nice pacing and you were never really truly stuck. Gameplay it scored well (again another top 50 game).
Finally, Escape Tower was a fun escape tower with an amazing soundtrack. Did get lost, and it wasn’t truly 1 bit in my eyes (there were discussions on how games should deal with transparency, and it confused everybody, so I don’t really blame the author, however it’s something that affected a lot of games, and that was the game jam’s fault).
Anyway, how did I do? After the voting period was over I scored the following:-
Criteria
Score
Rank (out of 340)
Gameplay
3
141
Theme
4
54
Originality
3.273
157
Art
3.091
171
Music
2.727
178
Uses 1 Bit graphics
4.545
198
Overall
3.439
153
Overall, it was a fairly average game that scored slightly above half way. Happy with that overall. It wasn’t the most original of course and it had some limits but after the first week it did seem to drop off in terms of popularity. I knew art and music would be my weaker areas (there were some areas I didn’t like about the music), so not surprised about that.
I was a bit miffed with the “Uses 1 bit graphics”. I’m not sure what knocked me down a point or two? Maybe I missed some pixels and they were dark grey, as opposed to black, or the side dithering? I don’t know.
There were things I should have done better. If I enter it next year it is to change the colour scheme. MonoScale doesn’t stand out with all the black and white entries. Maybe go for a Game Boy palette?
You can see MonoScale, or not, as it doesn’t stand out…
Conclusion
Overall, I really enjoyed my first game jam. Even if it became a bit all consuming at the end of it. The last couple of days I was pretty much finishing work and doing 2 to 3 hours on MonoScale, but I wanted to get it done and over the finish line in a state that I am proud of it. And I am. It’s not GTA7, but it’s my little indie game.
There’s a base for a game – a MonoScale 2 or “Deluxe” version, using the feedback shared above, and adding a few bits I didn’t have time for.
Finally, I’ve also found a new hobby. I already have game #2 on the go, which I hope to release before the end of the year. There’s a bit less pressure on me for that one.
That however is being worked on with less time pressure. Will shout about it when it’s done here, or you can follow my itch.io page here.