Build Retro Games with Script-8

A whole generation of programmers learned to program by writing — or at least typing in — game programs for relatively simple computers like a TRS-80, a Commodore 64, or any of a handful of similar machines. These days, games are way more complicated and so are computers. Sure, it is more fun to play Skyrim than Snake, but for learning, you are probably going to get more out of starting with a simple game. If you want to learn programming today — or maybe start someone else on that same journey, you should check out Script-8, a project by [Gabriel Florit]. You can get a taste of how it looks in the video below, or just surf over to the site and play or modify a game (hint: press “a” to launch the ball).

Instead of paraphrasing, here’s the excellent elevator speech from the web site:

SCRIPT-8 is a fantasy computer for making, sharing, and playing tiny retro-looking games (called cassettes). It’s free, browser-based, and open-source. Cassettes are written in JavaScript.

In some cases, Script-8 might be even better than the old machines. Everything you do causes an immediate reaction. There’s a variety of tools that let you pause and rewind action, a sprite editor, a map editor, and even a music editor.

It is easy enough to copy an existing “cassette” to a blank so you can make changes, so you don’t have to start from scratch, even though you can. Your workspace is 128 pixels square and only shows 8 colors, but that adds to the retro look and feel of the games.

Honestly, JavaScript is a bit harder than the old BASIC, but it is also way more practical in the modern world. If you really want BASIC, though, you can do that on the Web, too. Or you can relive yesteryear with a modern take on QuickBasic.

17 thoughts on “Build Retro Games with Script-8

    1. From the SCRIPT-8 page: “SCRIPT-8 is heavily influenced by Bret Victor’s ideas (specifically Inventing on principle and Learnable programming) and Joseph White’s PICO-8, the best of all fantasy consoles.”

      So yup!

      1. I’ve always been interested with Pico-8 and this project is fascinating. The fact that there hasn’t been a year where there’s no release of fantasy consoles, so it’s a breath of fresh air knowing about Script-8 and its innovative features. What makes this even better is that it’s not an advanced Pico-8. It does elevate QoL with its basic elements like the real-time sliders and coding window.

        Brilliant post hackaday!

  1. Pico-8 is well worth the money, I just wish he would release a Pico-16 (320×240, >16 colors, more memory for code and music.) The 128×128 becomes overly limiting after a while, as do the 16 colors.

  2. Well…. Now I’m torn. I’ve been thinking for a while to get a license for PICO-8 and start playing around with that – it’s a mature project with a lot of support. On the other hand this project got a lot of nice features and seems easier to get into more “casually”…

        1. So I suppose you don’t have a car, a cellphone or a TV or even a computer then (unless you have changed the BIOS to an open source variant)….? How is it to live in this special universe of Open Source Zealotry?

          But I guess you could have gotten all that stuff for free from a dumpster – then it would be ok – no money exchange required ;-)

  3. “Sure, it is more fun to play Skyrim than Snake, but for learning, you are probably going to get more out of starting with a simple game.”

    Programming games is a fun genre on Steam.

  4. “Sure, it is more fun to play Skyrim than Snake, but for learning, you are probably going to get more out of starting with a simple game.”

    It kind of sounds like you are talking about learning simple and building up from there. Does that even apply though?

    I remember writing games in that era as being a task of drawing shapes then XORing them with the background in order to have movement. Is that really how modern games work? Is learning that going to be of much benefit when you try to progress to something more current?

    Don’t get me wrong there is nothing wrong with having a nice new platform for making retro-style games. I’m only questioning whether learning to write that kind of game and the more modern ones really has anything to do with one another or if they are entirely different things.

    1. I would submit that any activity that gets you to write programs will improve your ability to program. There’s a core mental outlook that transcends specific languages, platforms, and problem domains. There are clearly people who just “get” how to solve problems with computers and the only way I know to get there is code, code, code. So are the specific skills for coding something like Skyrim the same as coding Snake? I don’t know. But I do know that more code will make you a better coder compared to less code. I think this is intuitively obvious with physical things. You can read about golfing all you want, but the only way to get better at golf is to play or — at least — do exercises that actually connect you to a ball. So the driving range might not be representative of a real game, but it contributes to your overall skill playing. But in the end, you can’t learn it with reading, math, or computer programs. You have to get out on the links and make contact with the ball.

    2. Modern programmers don’t have to deal with physical engine, there is libraries for that. Only the specialist who create those libraries have to. Programming games today is team chore implying visual artists, low level libraries programmers, game logic programmers, scenarist and what else.

      What one will learn with script-8 is game logic.

  5. This is great (although I don’t think I’m ever gonna use it myself) I’m pretty sure there are lot’s of people who can’t wait to play with this as it appears to be a versatile and functional tool.
    But why, why, why another name for the word “program”?!?!? What was wrong with the word “program” or the word “script”, or the dubious word “sketch”? Nope… it had to be something different, but “cassette”?!?! Great name to google for and to cause all sorts of confusion.

    But still, what a wonderful time we live in.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.