Making a new GWBasic game.

When I was young I learned to code using GWBasic, a BASIC interpreter that came with MS-DOS 4.01. I’ve posted some code and talked about it in the past, but not really developed anything new, that is until today. I’ve re-written a game from scratch I had lost on a corrupted floppy disk called dodge, yes it’s not much of a name but it basically describes the game play in that you dodge bad guys and collect score items for points.

The original had some basic EGA graphics, but this time I’ve used text-mode characters for a few reasons. Firstly it is easier to implement both in terms of artistry and coding. The original never played well due to slowness in the interpreter and the implementation that I had used. Finally using text mode increases the effective game play area by more than 2 times, which will allow for more interesting levels. I didn’t implement any sound either in the original or the new, but music often doesn’t work well on the PC speaker and I’m not much of a composer.

Being a much more mature programmer I’ve been able to make the game mechanics better and add features that the original never had. There are 5 built-in levels (encoded with RLE) and the capability to load a custom level from a text file. The original only had randomly generated levels that were far simpler. I’ve made the movement of enemies better than the original, and gravity affects most items so that they are reachable.

I could have coded the game using a modern text editor, but for that extra nostalgic feeling I coded the game in the interpreter itself. It’s not as intuitive of course as you can’t simply scroll back and forth through the program, instead needing to use the LIST command to see parts of the program. Luckily editing a line isn’t too bad, as after display it on screen you can edit it easily. The interpreter also has some nifty features that can speed up program entry. Many keywords such as print and input have keyboard shortcuts, usually alt and the first letter of the keyword. This not only sped up program entry, but enabled me to discover keywords when I was a kid before I got the user manual.

Using the interpreter to write the code does however demand much more of your memory, I don’t remember this bothering me much as a kid, but now as an adult I needed to keep notes on the structure of the program and variables used. I would have written these out by hand on a notebook back in the day, but doing the coding with the interpreter running in dosbox meant I could run a text editor for my notes. It’s probably one of my more complex gwbasic programs at 592 lines of code.

Overall it has been quite fun writing with gwbasic again, like revisiting somewhere you went as a kid. I’m making the code available at the usual places, both my download website, and my google drive (in case the website is down). The code should work on QBasic as well as the original interpreter.

10 Responses to “Making a new GWBasic game.”

  1. 1 Steve
    May 19, 2018 at 7:27 am

    Cool little game. Thanks for sharing. It seems to work great with my classic BASIC interpreter we well.

    • May 19, 2018 at 12:40 pm

      Thanks Steve, I quite enjoyed making it. Which interpreter did you use?

      • 3 Steve
        May 19, 2018 at 12:59 pm

        Literally, my own (for Windows). It’s essentially a recreation of BASIC-80 with a few GW-BASIC features. If you’re interested, send me an email and I’ll pass it along. It’s free software.

        • May 21, 2018 at 10:33 am

          That sounds really cool, it must have taken a lot of effort. Is it the same BASIC-80 interpreter that was linked on gw-basic.com at one point?

  2. 5 Steve
    May 24, 2018 at 7:33 am

    Whatever happened to Neil and gw-basic.com? It looks like the domain name is now owned by Microsoft. Anyway, yes, at one point there was a link to an older version.

    • May 24, 2018 at 10:09 am

      I dunno what happened, it looks like he set the domain name to forward to the internet archive. It seems to have all the pages and information, but few if any of the downloads at all. I had heard from someone else who had contacted him that he was planning on reviving the site soon. That was a while ago.

  3. 7 evertonmarques
    March 12, 2019 at 5:10 am

    Hi Sparcie,

    I managed to make my BASIC compiler to translate your DODGE game to native executable binary.

    I have played your game, compiled, both on Linux and Windows. It seems to work ok.

    The full compiler is available here: https://github.com/udhos/basgo

    If you find it fun, I would be glad to help you to compile your game by yourself.

    I can send you the compiled executable binary for Windows (or Linux) if you like.

    You can reach me at everton.marques@gmail.com

  4. October 30, 2019 at 1:39 am

    Gwbasic. I learned it when i was in junior high school. Gwbasic is a masterpiece. Simple,easy. Sweet memories…. Good post ….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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

Recent Comments

Enter your email address to follow this blog and receive notifications of new posts by email.

Mister G Kids

A daily comic about real stuff little kids say in school. By Matt Gajdoš

Random Battles: my life long level grind

completing every RPG, ever.

Gough's Tech Zone

Reversing the mindless enslavement of humans by technology.

Retrocosm's Vintage Computing, Tech & Scale RC Blog

Random mutterings on retro computing, old technology, some new, plus radio controlled scale modelling.


retro computing and gaming plus a little more

Retrocomputing with 90's SPARC

21st-Century computing, the hard way

%d bloggers like this: