RSSAmplifier

Blog

jkm.dev

Recent content on jkm.dev

jkm.devRSS feed ↗5 posts

Latest posts

How 2004 RuneScape fit a multiplayer RPG into 56k dial-up

In 2004 I played too much RuneScape on a 56k modem that died the moment Mum picked up the phone. A 3D world, up to a couple of thousand players on a server, dozens on screen at once - in the browser, on 5 kilobytes per second. It worked. Let’s follow a single step and see how.

Converting Minecraft Map Coordinates to Real-World Latitude/Longitude

Given a flat projection of a world map and an x/y coordinate on that projection, how can we derive the corresponding latitude/longitude on the globe?

Creating tag index pages with Gatsby

I gave Gatsby a trial run when creating a blog site. When using GitHub pages, one of the things I’d always longed for was dynamic tag “index” pages for my blog posts.

Easy VM updates with Ansible

I have a load of VMs running on a physical server in my house. I started with a few VMs and a manual process, but now I have many VMs and I’m tired of updating them all.

How Cities: Skylines uses a stock-market analogy to drive almost everything in the game

I wanted to find out how Cities: Skylines drives the constant motion you see in a growing city - residents looking for jobs, tourists visiting attractions, garbage trucks doing their rounds, even cims looking for love - and I couldn’t find much written up about it. So I decompiled the game and dug in. What I found is that almost every interaction in the game runs through a single, elegant…