So, if you’ve been following the madness that is my attempt at building a game, you’ll know I started out determined to do the whole thing in raw HTML5 and JavaScript. I was convinced I could build a working game just using the Canvas API.
I was wrong. I was very, very wrong. But learned so much!
HTML is great for a lot of things. If you want to make a website or a simple little puzzle game, you’re sorted. But I was trying to build something with a bit of depth, specifically with state management, but as soon as I tried doing anything outside of direct interaction, it got difficult and to reliant on the user which isn’t efficient.
I spent weeks just trying to get an asset to not jitter when the game would load, or not bork the entire log on experience because a core feature had a slight error. I was looking at thousands of lines of spaghetti code thinking trying to segment the then 13,000 line HTML file into modular JS scripts.
I felt like I was trying to build a house with nothing but a spoon. You could do it, technically, but you’d lose the will to live halfway through the foundation.
Take it to the past few days.
I wanted to add features HTML “can” but not adequately support. Game saves, dynamic animations, and possible 3D inclusion were things I wanted to add but HTML always felt that although it’s possible, it was incredibly janky!
So I looked at the obvious, and decided to use a Game Engine. I had used many throughout the year to mess around with and learn, the first being the NetImmerse engine all the way back in 2003 when I was a die-hard Morrowind player. But more recently I had been looking at the GODOT engine,

Godot is a Game Engine. A piece of software that handles all the heavy-lifting like maths, physics, rendering graphics – so you can focus on making or designing the level and systems. It’s also free (like free beer) and is open source with a passionate community behind it. You own what you make.
The first thing that I found incredibly more efficient is the Node system. Instead of having one massive script file, everything is broken down into these tidy little scenes. You have a scene for your email system, a scene for the notifications, even a scene for the basic window system you see for image and 3D attachments. You just slot them together like Lego.
And the scripting language is called GDScript. If you’ve ever used Python, you’ll be comfortable. It’s readable, with little if ever any need to have curly brackets everywhere or semicolons waiting to trip you up. You just write what you want the thing to do, and it does it.
I rewrote an email mechanic that took me over a week with HTML and JavaScript but only about a single day in Godot. A day! I nearly cried.
So anyway I’ve currently the email and files system completed alongside some creative decisions. Now I’m focusing on the evidence board concept.


