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.
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.
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.
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.
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.
If you do like the game, please do share it or add it to your collection on itch.io.
This is a short post as I have updated where I am active on social media.
I have removed Twitter. From both a moralistic standpoint and a traffic standpoint I get zero value from the network. The account is still live but I have replaced it to a link to this post as the pinned post. I may just use it to retweet or spam my blog posts or when I go live on Twitch, but I’m unlikely to dedicate any more time on it.
In it’s place is Bluesky. I am really enjoying the conversation there and the connections. I have seemed to find myself into WordPress, SEO and (surprisingly) Game Dev lists so I get a lot of value here for the moment. Hopefully it continues. The plan is to setup accounts to Dwi’n Rhys and Retro Garden there. It’s verification method is pretty good and clever. Much more than paying a Space Karen for it.
I am still active on Mastodon. I like the conversations there and enjoy the slightly smaller but more techy group of folks there. So will pop in there still as it is cosy and has better conversations.
Threads I am not enjoying. It’s experience seems to be similar to the “I’m Helping!” Ralph Wiggum GIF that doesn’t seem to exist on the other networks. Seriously: I had an issue with something I felt when it came to DNS servers, Chris replied pretty quickly, the problem was solved (thank you Chris), but yet the answers kept coming. I think I was getting answers after my super slow nameserver was done propagating.
Plus my mum’s on there.
But I’ll still post there, and I’m using Openvibe I am able to update all three, it’s ace.
I am also keen on adding more itch.io followers. I am making more games and want to connect with more Indie developers. So if you have an account on there, please consider giving me a follow, particularly if you like retro or retro styled games. Thank you.
For long form stuff I am here and I am still on the same theme. Until the Social Media block allows you to add custom networks or I don’t have to hard code half the networks I am on, I can’t see things changing.
Anyway: that is basically it. Where are you active?
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.
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.
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.
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?
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.
In mid July, when I had a 40+ health check and was instructed to be more active as my blood pressure was high, I decided to look at the Couch to 5k App after a few folks I like rated it. It had been something that I was wanting to do, but the health check gave me the boot up the backside to do it.
I’d argue it’s probably the best thing I’ve done for my health. I’m not a runner. Really not a runner. I was crap at PE and crap at running in particular. Cross country was my least favourite activity in my least favourite sport in school. To explain how bad I am at 40 years of age: in my first ever run with the app you run for 7 x 1minute splits, with a 90 second walk in-between. By the end of that run, I couldn’t do the final 1 minute split.
On Tuesday, I did 30 minutes continued running.
For me 30 minutes is a wee bit short of 5k for me. The run on Tuesday saw me complete week 9 of Couch to 5k, and the course in general. It’s fair to say that I got a bit emotional. It had it’s ups, it had it’s downs. I got sick of Vernon Kay’s 90’s playlist, I questioned Denise Lewis’ concept of time, I cursed my left calf, but I got there in the end.
There are so many highlights to my journey, but here’s a bunch that come to mind.
The bemused look from a neighbour who I ran past on my first run.
The joy I experienced on my 4th run, which was Week 1 run 3 again, as I had COVID and thought I lost my ability. I didn’t.
The run in London where I ran along the South Bank of London on a gorgeous Friday evening.
The first time I overtook somebody in Mile End Park in London. Granted she was 75 and looked knackered but I did it!
My first Week 4 run, which saw me run along Dusseldorf’s riverfront. It was a tough run.
My first failure, the Week 4 run 2, in Berlin, where I just couldn’t run up a tiny hill and a chihuahua ran in front of me, causing me to stop. I nearly cried.
Week 5 Run 3, and the joy I experience when I finished it. It’s a step up that one – a full 20 minutes running!
Smashing my phone on a run, meaning I had to run alone with my thoughts. Not good. Turns out I moan a lot when running.
My first Parkrun, where I set a goal to run under 45 minutes by the end of 2024.
My second Parkrun two weeks later, where I ran it in 39:39.
Learning about Zone 2 running which has really helped me. A more efficient fat burning style of running, with less effort, who knew!?!?!
And telling a kid I couldn’t get his ball back he hoofed over the school fence, because I was on a good pace (I’m not too proud of this one).
I’d really like to publicly thank a bunch of people: Aled, Nat, Fern, Shane & Del who pretty much have had to listen to my questions and the strange selfies over the past 3 months (especially my brother Aled, who I messaged when he was at a wedding to ask about strategies for reducing chafing). But also so many other folks who have given me support on Instagram, Threads and Mastodon. Genuinely couldn’t have done it without you.
But mainly, it’s the Couch to 5k. In little over 4 months, I’ve pretty much gone from panting and wheezing to being comfortable running, to being a Garmin and Strava wanker, buying all sorts of clothes from Decathlon, and probably fitter and healthier I’ve ever been in my life. I’d really recommend it to fat folks like myself wanting to get a bit fitter, as if I can do it (and make a new hobby out of it), I’m confident you can too.
So while certain individuals who are the similar age to me are funding medical research to justify their addictions to South American hallucinogenic plants, I’ll just stick to my running, getting up early on a Saturday to do a Parkrun. I feel it’s easier to justify to the parents, talk about publicly, and – whilst Parkrun is a bit of a cult like community at times – it is something I can discuss at parties and people will not think I’m creepy.
Sorry if that’s a bit boring for a white bloke in tech.
Update December 5th: So very kindly this got mentioned in Tim Nash’s latest newsletter. So hello if you came from Tim’s Newsletter! Please sign the guestbook. I thought I’d give an update, not least because I’ve gone past Couch To 5k.
I’m still running! Once you’re done with the app you’re on to “Beyond Couch to 5k” which are three different runs designed to help you further. They are designed to improve each element: speed, stamina and cadence (which is called “Stepping Stone”, because alliteration). I did fail at these the first time, but I sit here writing this after completing a “speed” run, relatively comfortably at lunchtime today. So once you complete the course you just loop on that for a bit. Though I’d recommend doing parkruns.
I’ve become a regular of doing parkruns recently, albeit on naff all sleep. Last Saturday I did Widnes parkrun. It was my fifth parkrun and 4 of those have been personal bests. The only one that wasn’t was Conwy parkrun where I ran with my sister-in-law who was on week 2 of the Couch 2 5k. She’s now on Week 7. I’m very close to breaking 36 minutes 5k. I’ve also signed up to do the Aintree 5k in a few weeks. I’m going to do Ormskirk parkrun this weekend.
After Christmas I’m probably going to do one less run a week. Cricket season starts again and I want to focus on that – and I’m not like Shane who can do a Parkrun followed by a 40 over match. However, I plan to use the Runna app to structure my training a bit. Consider me bitten by the bug!
Finally – Tim called me an inspiration (which I’m still bemused with). I’m happy to help folks with their running journey. If you want to natter about it then drop me a message on Bluesky, Mastodon or via my contact me page. Always happy to help folks!
I read with interest from Tim Nash’sNewsletter (you should subscribe to it) Cory Doctorow’s “Disenshittify or Die” article (also a talk – hopefully available soon), and it resonated with me with how there is a movement to make things less shit, and how things have become so bad.
I was going to talk about it in my newsletter (again, you should subscribe to it), but thought I’d talk about it here instead. Noticing how crap Twitter has gone, how Threads is barely functional (sorry Threads, I really want to like you, but eh) and how things online have – with a few exceptions – have gotten worse. Chuck in the collective hard on services have for AI* and the desire to disenshittify and retrieve focus for my online habits has become a focus for the year.
Becoming Leaner Online
Rather than rant about how online services have all gotten worse, I’ll share how I’ve become to be more lean online. It’s still a learning process, but here’s a few things I’ve found useful.
First off – I am subscribing to newsletters now! Newsletters are actually wealths of information (or try to be), and I try to subscribe to them. At the same time, I’m unsubscribing from ones that are either spamming their products or affiliates – looking at you Marriot Benvoy who wanted me to join a betting site recently. They seem to be following the b3ta model of newsletters with a lot of useful stuff with the occasional sponsorship. Straight into your inbox.
Secondly, I’ve really enjoyed The Disenshittify Project, which creates and curates lists of projects that are not bloated mess. These are small things that do are simple and do not need to be bloated. Two they have are a password generator and a QR Code Generator. Excellent. They also have suggestions for where to go next. I’d particularly like a JSON Decoder that isn’t ad supported.
Maybe one more to my to-do list?
EDIT: Thirdly as a Brit you have a wondrous version of Amazon that is so much better. Argos! Bezos has his billions and he can’t get folks to deliver to same day? Pish. You can get a couch the same day from Argos. A fucking couch. No knock off products, everything is of reasonable quality, and it isn’t noticeably more expensive.
Where do I see this going? I’m not sure. I would love people who create things to make the internet be supported for their work, as the reason advertising is so prevalent is creators are not being supported. Patreon systems? I don’t know.
I’m not against advertising. A lot of newsletters I do subscribe to have advertising. Or against affiliate marketing. High quality services I’m more likely to support.
But at the same time the AI, bloated tracking mess is – I feel – unsustainable. I’d love to get back to a more simpler web. Where folks own their content, and share with smaller, like minded communities. Hopefully I’m not the only one who believes that.
* It was on the Giant Bomb Podcast that we are about two years into the “AI Revolution” and there is a lot of friction still to it. I’m still not 100% sold on it, though I do use it. But like everything, I don’t want it shoved in my face at every opportunity. I want to choose to find it useful, not be the default.