Data Anarchy - Building a Social Media Platform Where Users Control Their Data

Despite the introduction of various laws and measures seeking to regulate digital data in the past few decades, there are still a huge number of issues surrounding data privacy and data control that have not been addressed. While major laws and regulations such as GDPR and PIPL do have a significant influence globally they only capture a small subset of problems surrounding data as they focus primarily upon personal data. From a technical perspective, centralised web applications are also inherently unstable as they can become a single point of failure. In the last couple of years, services such as Cloudflare and Facebook have suffered from huge problems where their services have become unavailable, causing issues for many users across the world.

Read More

Setting up a Navmesh in Unity

Hey there! This brief guide/tutorial highlights the steps to take to generate a static navmesh for a level in Unity so your AI minions can run about happily.

Read More

Self-Hosting a Solid Pod

You may recall my previous (somewhat naive) article where I talked about an exciting new-ish web technology called Solid spearheaded by Tim Berners Lee, widely known as the creator of the web. One of the main advantages of Solid pods is that you not only maintain control over which apps and services may access your personal data at any given time, but you can even self-host your pod(s) which store that data. This is a nice advantage over classic centralised server systems, as it means you can not only control access to your data virtually but also physically, so you can do anything you want with it. By removing the middle-men typically responsible for looking after our data, you can have complete control over it. It also helps avoid issues with webservices shutting down and taking all your data with it, as you become primarily responsible for storing your own data. Or for example, in a rather unfortunate and somewhat ironic case, a major Solid pod hosting service going down without much warning and taking user’s WebIDs with it (though fortunately, the data was all backed up and shifted over to a new domain).

Read More

Decentralising Data Online

Our personal data is being abused & misused; from Cambridge Analytica to racially biased facial recognition tech. BUT - what if I told you there is a way we can control our data, instead of companies & governments? (Spoiler: there is!)

Read More

Made with Ossium - SPOF (Ludum Dare 46)

Back in April I took part in another game jam! Specifically, I took part in the 46th Ludum Dare jam. This was my 2nd online game jam (3rd overall - in January I took part in GGJ with some cool people and made this using Unity)! The theme was “Keep It Alive”, and I once again worked solo using Ossium, my open source 2D game engine. I called the game “SPOF: Single Point Of Failure”, which ended up being a basic strategy-simulation game where you have to maintain and grow a global server network. You can check it out here!

Read More

Made with Ossium - Please Hold

A few days ago I took part in the 4th Extra Credits Game Jam. It was the first game jam I’ve ever finished, and it was pretty fun! The theme was “Connect” and there were a whopping 314 entries, with a time period of about 4 days for people to make a game either as part of team or solo. I worked solo for the jam, and I quickly latched onto the idea of a game where you would play as a telephone switchboard operator. I figured that would enable me to combine both literal physical connection and social connection (though ultimately the game was more literal than I originally intended). I made the game using Ossium, the open source 2D game engine I’m developing, and (surprisingly) it worked out pretty well. I called the game “Please Hold” and you can check it out here.

Read More

Serialization and Schemas in Ossium

Hello! Today I’m going to chat about a paradigm used in data-driven game engine design: the type schema. I’m currently working on Ossium, a small 2D game engine; it’s a pretty self-contained game engine, providing an interface for managing disparate systems and game object data. One of the key features in Ossium is a serialization system that allows me to convert a game object (or even a bog standard class) into a JSON string. This forms the foundation for data-driven game design in the engine, as it will allow me to tweak property values of game objects without touching the code to some degree, which is great for rapid prototyping and general game development.

Read More

Welcome to my new blog!

I’ll be posting articles on programming solutions and various projects that I’m working on. In the meantime, why don’t you check out the little game engine I’m working on over here.

Read More