Posts Tagged ‘Homebrew


Numjump for DOS

Today’s game is another homebrew made by Daniel Remar in 2017. It’s quite interesting as I’d describe it as a turn-based puzzle platform game, an odd combination indeed. He wrote it using QBasic and has included the source code along with some binaries compiled for 16bit MS-DOS as well as 64bit windows (using QB64 as the compiler).

In technical terms the game is fairly basic, it’s essentially using a 40×25 text mode with 16 colours and the PC speaker for sound. Whilst simple, it’s very effective, and the game is quite nice to look at for a text mode game. Sound is quite sparse, with few effects at all, but they are appropriate and don’t become annoying the way some games can become. Looking at the code, this could be ported to anything with a decent Basic interpreter and a 40 column display mode.

What makes the game odd and interesting is the mechanics of it. Your character only really has two goals, collect gold and reach the exit. In order to do this you need to jump around a small level avoiding obstacles that trap or kill you. The player moves one step at a time. The jump mechanic is a bit hard to describe. You have a maximum jump power, which is the number of steps you can travel vertically. For each step vertically you take you can take a step horizontally left or right. Once out of steps you must fall to the ground. You can fall at any time in the process by pressing the down arrow.

It’s a bit tricky at first, but once you get the hang of moving around it works quite well.

The level design works well with these mechanics to make for a challenging but not punishing experience. If you do happen to fall foul of a trap, the level is simply reset without any further penalty. The traps are fairly basic, there are spikes, Laser barriers that can be toggled, and some moving obstacles where timing is critical. Some areas can be inaccessible until you’ve increased your jump power, and others require a bit of thought to find your way in, but in general the puzzles are solvable in a reasonably short period without being easy.

Numjump is fairly short, you can finish it within an hour, but the length feels just about right. You get just enough of each type of hazard and puzzle to feel satisfied, but not so much as to become repetitive. If you’ve finished the game, you can go looking for all the secret dots, or make an attempt at collecting all the gold for the reward of a secret level, one for each achievement. It’s fun and well designed, so I’d say it’s definitely worth a go. I downloaded it from the Dos Haven site here, the official site there is linked to the authors twitter account.

This slideshow requires JavaScript.


MagiDuck for DOS

I was browsing the web recently when I stumbled across DOS Haven, A site devoted to home brew games made for MS-DOS machines. This is a welcome and quite unusual find as there isn’t much of a home brew scene for these machines as opposed to other platforms like the C64 or MSX which have a larger and thriving home brew community.

Though not featured on DOS Haven I found today’s game from a news item there. MagiDuck is an action platform game made for the IBM PC. It was made by Toni Svenstrîm with the latest beta release in 2016. It has especially low system requirements, only needing an 8088 @ 4.77 Mhz, CGA and 256K of RAM which covers pretty much almost any MS-DOS machine except those with MDA displays or small amounts of memory. The low system requirements come about partly because of the graphics mode used, which is a hacked text mode that allows for 80×50 with 16 colours similar but not the same as that used in Paku Paku.

Although the graphics are quite blocky due to the low resolution, the artwork is of quite high quality. Magiduck, the enemies and the levels are all colourful and cute. On the technical side the game animates quite smoothly on even minimal hardware and even manages vertical scrolling. Because early PCs didn’t have sound cards only PC speaker is supported, and the sound is fairly good for that device.

The game controls and responds quite well in a way that most PC platform games do. Although the key layout is a little different, z and x are used for jump and fire, it works just as well as the usual control and alt key layout. Magi jumps and moves as you’d expect, jumping around is fairly straight forward, which is good because the levels are quite vertical. Each level is basically a tower, you start at the bottom and work your way up to a star which represents the end.

I quite like the level design, like the sprites they are colourful and fun. There is some challenge, but not so hard as to be painfully difficult. Whilst they are quite narrow (a limitation of the engine is seems) there are a number of paths of varying difficulty through each level. You can spend time collecting treasure and keys from all the paths for extra points, or speed run the game for a time bonus.

Magiduck is technically very impressive and is very well designed and built. It does have some minor flaws, but generally they don’t impact getting enjoyment out of it. The hardware it can run on is very impressive, the original IBM PC was not considered capable of scrolling colourful graphics until later machines got much more powerful and the first EGA/VGA cards became common place. This game can do it on an original PC @ 4.77 Mhz and a CGA card. If you own an old machine this is certainly something you should give a try, you can find it on IndieDB here.

This slideshow requires JavaScript.


Download for Bob’s fury

This week, after much time thinking about it, I decided I’d finally offer my old school platform game, Bob’s Fury for download. I originally wrote it in Qbasic back when I was 14 with the help of my younger brother who did some of the graphics, levels and helped play test it. The idea for making my own platformer had grown out of playing two of my then favourite games, Xargon and Hocus Pocus.

VGA Screenshot

VGA Screenshot

I originally had much larger plans for it, I had wanted to make water levels and puzzles like those in Xargon and run and gun sections like those in Hocus Pocus. At this stage I was still using gwbasic and I found that it was difficult to store enough graphics and tile information for one screen, it seemed like I wasn’t going to be able to build anything at all when I discovered Qbasic on the school computers.

Qbasic had many advantages, it supports a better graphics mode which allowed 256 colours at 320×200, then a common resolution for most PC games. The interpreter also had roughly twice the memory available to it which allowed me to use many sprites and get two screens per level. It took me roughly a year to build the engine and most of the levels. It was still quite limited in many aspects and didn’t live up to the original dream, but it was still a significant achievement.

Later in high school I had a computer studies teacher who did a bit of programming themselves. I know it seems odd, but not that many teachers of computer studies could actually program in those days. Anyway I was lucky enough that he gave me a copy of Borland Turbo Pascal 6.0, which was to be the first compiler I’d get to use. It was a bit of a learning curve, but I managed to learn pascal much quicker than either basic. I decided I wanted to port Bob’s fury as Pascal was a much faster language and wouldn’t be as limited as Qbasic.

EGA Screenshot

EGA Screenshot

I had a few problems however when I learned the graphics library. Firstly I hadn’t encountered pointers before, and they were required for bit mapped graphics. So I experimented with some simple vector graphics at first. Also Pascal didn’t have any support built-in for the graphics modes I wanted to use. So I put off making a port until I could learn more about the language.

Shortly after I went to University and got internet access I was able to solve some of these problems. I practised and learned how to use pointers in general and I found files that provided support for the graphics modes I was after. By 1999 I had built much of the tools and libraries for graphics and a few ancillary libraries needed. I’ve been working on this port sporadically since then.

I’ve been reluctant to release it for a few reasons. The first one being it’s quite unfinished. I haven’t really made enough new levels, I’m only really half way through making the first episode. The bulk of the levels are actually from the original Qbasic version, which are obviously quite limited. I’ve built a system for playing Adlib music, but haven’t made any music yet, appart from tracks for testing the software anyway.

CGA in game.

CGA in game.

So why am I releasing it? Well because despite the limitations it’s pretty cool, and I have fun playing it. (one of the reasons progress has been slow!) I want to motivate myself to get busy making more levels, now I realise there will probably be little interest in it, but stuff that I post about on my blog tends to get worked on. So having it here is a great motivation for doing more work and perhaps reporting progress as I get more done.

I’ve put a ZIP file on my download site here.


Blogs I Follow

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


MS-DOS game reviews, retro ramblings and more...