Work

OldSchoolScaler

A screenshot from RuneScape, which is small at the top, and then scaled up at the bottom.
Visual Basic
WinForms

One of my favourite games is RuneScape and there were some alternative clients available but I thought I'd create my own for a bit of fun.

The project source code is available on GitHub.

Recently, Jagex released the Old School RuneScape 2007 Servers after a big poll. As I played a lot of RuneScape in the past, I have since found myself playing it again. It really struck me how small the game window used to be, but in the past it didn’t really matter too much since we all used much lower screen resolutions (such as 1024 x 768). Due to the game being such a small resolution, I found it quite difficult to play, and didn’t really want to keep setting my resolution every time I played. So I made the “Old School Scaler”.

It works by opening two Windows Forms. One of the windows has the client running at a normal size, and the other acts like a proxy form. The proxy form calls a function which gets a bitmap of the play area, and then scales the image up displays it in a picture box, doing so at 50fps. The more difficult part was sending user interactions to the other form, you know, so you actually play the game. In the end, I had to forward windows messages to the Java Handle which was a lot of messing around with Spy++ to figure out how to do it. After I got a lot of the bugs sorted, it was entirely playable so I thought I would pop it on Reddit to see if anyone would like it and a lot of people said yes, so I released it. I’m not sure if a lot of those people ended up using it but there were a few problems which I don’t plan on fixing since it was only really meant for myself.