Second Hand Computer

Posted on Jan 15, 2026

Time to formally announce a new project!

SECOND HAND COMPUTER is a digital toy focused on letting you play and make text-based video games. It is part fantasy computer/console, part text adventure engine, and all about providing the vibes that using text-based early IBM PCs had.

A screenshot of Second Hand Computer.

It contains the following features:

  • FUNSCRIPT, a LUA-based language which lets you program text-mode games anyone with Second Hand Computer can play
  • ODYSSEY, an intentionally minimalist text-adventure engine which lets you play (and write) adventure games
  • SWORDS OF FREEPORT, the terminal-based play-once-a-day low-fantasy lite-RPG
  • BOOTLEG, a brand new text based game where you take on the role of a bootlegger in prohibition-era America
  • Several other classic text-based games ported to Second Hand Computer
  • Various small text based games common to 8-bit computers, ported to FUNSCRIPT and provided with full source code
  • A pixel-art computer and room, which can be customised and even fully replaced at the user’s desire
  • …all presented through a DOS-like operating system front-end called FUNTIME(FT) DOS

As for the system itself, the titular Second Hand Computer renders an 80x25 character display based roughly on IBM Codepage 437 with only minor changes, with the 16 original EGA/VGA base colours.

It has an itch page up now, so please go check out and and follow it if you’re interested.

I imagine there’s a lot of questions here, so let’s start from the beginning.

Questions

When is this coming out?

Soon. I’m posting this two days after closed testing has begun. It will be available for sale on itch.

How much will it cost?

TBD, but probably around a fiver while it’s in development.

Why do this?

My first computer was a hand-me-down. To be precise, it was a Commodore PC-10 which, despite the implication, had nothing to do with the iconic C64 or any other iconic Commodore computer - it was more or less a clone of an original IBM PC. My version had a monochrome display in a glorious amber hue, and while it was technically possible to play some graphical games, for reasons that will become apparent if you check this screenshot out and imagine it in an amber hue… I rarely did.

Without much else to do on my computer but still enjoying the freedom of not needing to beg computer time from my parents, I played a lot of text mode games, from interactive fiction to the kind of text mode games that were common around the 8-bit computer era. When I realised that many of my friends of the same age had video game consoles or graphically superior machines as kids and my experience was unique, I began to interrogate that a bit more.

Having nothing but text accessible to me for years was why I learned to program (that and certain BASIC games crashing and leaving me at a fascinating BASIC interpreter instead of a DOS prompt). Over the Christmas break in 2024, I decided I wanted to try and replicate not just using one of these systems but coding things for them, not in a literal sense (emulators work perfectly fine) but in the sense of… The Vibes. I wanted to give people a sense of what I and others experienced.

What else are you going to add to this?

This began as a small side project over Christmas, when I realised that the 2d game engine I’ve spent the past 4-5 years developing could handle this kind of thing (pixel art style, terminal interface) very well with all the features, and implementing this would probably only take a few weeks. (I was right, it took about 3 until I was essentially just adding content and fixing bugs).

How far it goes from here depends on the community SHC develops. I don’t expect this to be more than a bit niche, and if that indeed turns out to be the case I will no doubt periodically release updates with new games, bug fixes and perhaps even new ‘rooms’.

What is this Funscript thing?

In the most literal sense, Funscript is just my name for lua, a common and easy to learn scripting language I chose because it’s incredibly easy to embed in your C program. This version of Lua has the input and output functions used by Second Hand Computer exposed to it, so you can make exactly the same kind of games the larger included ones run on.

SHC itself comes with some documentation and example scripts to get you started.

(As a fun bit of happenstance, the Lua language dates back to 1993 - the same year Second Hand Computer is ‘set’.)

How did you do this?

Elbow grease, coffee, and some time off my main projects. Also, C++ and a custom engine I’ve been working on for 4 years and counting.

In technical terms, it uses SDL3 as its cross platform base, and everything else in the engine is bespoke.

The actual computer logic runs as a separate thread, sending command requests to the terminal, which renders them every frame.

Why is the screen in Second Hand Computer wider than 4x3?

Old CRT monitors running DOS rendered many common resolutions without square (1x1) aspect ratio pixels. You don’t notice so much when you’re using them much of the time. When replicating the 80x25 glyph CP437 style text of an IBM-compatible PC in emulation, you can stretch the display if you’re using fancy modern 3d graphics.

In my case, I am not - it’s a literal 1x1 pixel aspect ratio. Which left me with two options: firstly, I could make the screen a row or two taller, say, 80x26, to get the 4x3 aspect ratio closer to accurate. Secondly, I could just accept a wider screen.

After some testing, I ended up deciding on the wider aspect ratio as it sat nicer on modern displays, and meant that if I was ever porting actual text mode games where that precise resolution matters there won’t be any compatibility issues.

I didn’t hard-code the screen size, though, so in future I may be able to add multiple options if I choose to do so.