Personal Log »

Alien Intruder, new WIP for DOS

I mentioned recently a couple of DOS game jams, and I’m working on a game that it was a good match for the first one because I’m targeting 8086 and VGA, but I couldn’t finish it on time. That’s OK, I thought, because I can submit it to the next jam.

Unfortunately, I don’t think I’m going to get to that one either –there are 4 days left until the deadline and the game is like 40% done–. I will finish the game anyway and release it, as I did with Gold Mine Run! last year. The game it even entered a DOS Game Jam compilation CD, although it was never submitted to the jam. Which is awesome, although there aren’t that many new DOS games released every year, so if your game is not a total disaster, you should get some attention –and players!–.

Anyway, let me introduce you to my current project: Alien Intruder.

The menu screen

The work in progress of the menu screen

An in game screenshot

Testing in-game screen

There are still some unknowns, but I can already say the following:

  • For MS/DOS or compatible
  • Requires IBM PC/AT 8086 or later (a 286 is recommended), with VGA
  • Controlled with keyboard or 2 button joystick (2nd button for jump)
  • AdLib and/or SoundBlaster (undecided yet)

I am exploring some ideas, but it will be a “jump and shoot” type of arcade. I know this will fuel those saying that I am making too many arcade games, but they are obviously wrong :P or haven’t played my latest game: The Heart of Salamanderland, that is not an arcade.

The code is using all I learned making “Gold Mine Run!”, but also The Return of Traxtor. This is because my library for DJGPP requires a 386 and protected mode, but in this game I’m using 16-bit and the IA-16 GCC port, so the code I wrote for “Traxtor” is very relevant.

It took a bit of work, but I managed to simplify and port the VGA code to run in 8086 using a “small” memory model: independent segments for code and data, which means 64K of memory for each, and allocating 64000 extra bytes via DOS so I can have a back-buffer.

And the result is better than I expected! It even runs OK on very underpowered machines if we limit the number of entities. I tried for fun emulating a Sinclair PC200 using 86Box because it was the first PC my cousin had, and it was easier to boot with VGAcompared to other IBM PCs of the time –part lack of skills on my part, and part because I couldn’t find the right MS/DOS version to boot–.

Obviously the VGA is kind of expensive because each pixel is a byte, so I knew I couldn’t target those early models and make the type of game I was planing to make, but it was a fun test even if at the end a 286 is a more reasonable requirement. For most people I assume this won’t matter because it will run just fine in any modern machine with DosBox.

I can’t say for sure when it will be finished, but I am guessing early September is perfectly possible.

Would you like to discuss the post? You can send me an email!