RATillery: An artillery game for PC

Introduction

CGA Title screen RATillery is a simple artillery game inspired by gorillas, but written to run even on early PCs. In RATillery, two fireball-throwing rats fight atop stacks of crates in a warehouse.

Features:
  • For one or two players.
  • Playable alone against the computer.
  • Bilingual: English and French.
System requirements:
  • CGA-compatible graphics adaptor or Tandy video adaptor.
  • Memory: 128 Kb (CGA version), 256 Kb (Tandy version).
  • Disk space: 64 Kb.
  • Operating system: DOS is optional (PC booter version also available).



Boxed version

A physical edition of RATillery, including a box, the game on floppy and a set of postcards can now be ordered from Côté Gamers.
The game itself is a new version with many improvements over the free version:
  • VGA 256 color suport (320x200)
  • VGA 16 color support (640x480)
  • AdLib, OPL2LPT and Tandy sound support
  • In-game timer (those who thing too much loose their turn!)
  • Training mode (get better through challenges)
  • A much stronger AI adversary (for playing alone)
Do not miss your chance to add this physical edition of RATillery to your collection!

Visit the Côté Gamers product page for more information.

Here is the VGA256 version:


Here is the Tandy version:


Here is the CGA version:


And here is the VGA 16 colors (640x480), with insanely large play area!:





Play online

You can try the FREE VERSION of the game right here on this website, without creating floppies or installing anything. But it is far from efficient since the game runs in a version of DOSBox compiled for a virtual machine written in Javascript... Ironically quite a powerful PC is required to play this simple game...



Start the CGA version

(Opens in a new window or tab)

Start the Tandy version

(Opens in a new window or tab)

If the sound is strange (like a record player turning at irregular speed) your PC is too slow for the online version. Downloading the game would be better...




Download

The game can be downloaded here. Two formats are available:
  • For use on a PC (running DOS) or in DOSBox:
    ratilr12.zip (contains the CGA and Tandy versions for DOS, and disk images for the PC booter version)




Game features

If a picture is worth a thousand words, how many words is the adjacent animated GIF worth?

The players, in turn, must enter the angle (0 to 90 degrees) and velocity (0 to 255) for their shot, aiming to destroy their opponent. If the shot exits the screen sides, nothing happens. The fireball is of course blocked by the crates, but these can be destroyed. The location of the rats and crate disposition are random and change each time a player is hit.

The winner is the first player to hit his opponent a given number of turns, configurable from 1 to 99.

Besides the basic elements exposed above, the game offers a few extra features to increase replay value:

Air resistance
Three air resistance settings are available: Vacuum (no resistance), normal and high. There is enough difference between those choice to confuse a player used to playing at a different setting. A good way to restore the balance between players of different experience.


Suspended crate
If enabled, a suspended crate will appear in a random location within the game screen, more often than not blocking your perfect shot trajectory! The hook and chain cannot be destroyed, but the chain does not always stop the fireball. You'll have to be lucky, use a high altitude shot or slowly burn your way through the crates.


Following shots above the screen
Shots commonly go off-screen when they take altitude. When this happens, an indicator will appear to let you follow the horizontal movement of the fireball. Much better than learning that your shot fell out of the screen after several seconds of motionless silence...

Hiding the input values
Your shot barely misses your opponent, then what does he do next? He uses the same angle he saw you input but slightly adjusts the velocity and gets you. To avoid helping your enemy, the input values can be concealed, password style. If you're playing against the computer, this actually keeps you from looking at your opponent's values. For the computer, it does not make any difference (it never cheats).

End of game statistics
All shots and results are taken into account and when the game ends, simple stats are shown. Remember: Aim for the top by aiming at your opponent.

The computer against itself
The game lets you play the computer against itself. I used this to test that the pseudo-AI would always, eventually, find a winning shot. This was necessary since the AI does not compute a perfect one-shot win. Instead, it tries to find it by trial and error.




Screenshots (CGA version)

Here are screenshots of the CGA version, which is also compatible with EGA and VGA cards. I chose to use the Green-Red-Brown-Black palette since it works well to display wooden crates. For the rats however, let's just say the their green color is a side effect of their fireball throwing ability?

Title screen

Title screen

Options

Options

Story

Story

Credits

Credits

In game

In game





Screenshots (Tandy version)

And now here is the 16 color Tandy version. There are a few extra crate types (supposed to be containers) and I tried giving a camouflage theme to the font.

Unfortunately this version will not work on CGA, EGA and VGA cards. You will need a real Tandy (or PCjr?) computer if you want to play this slightly more colorful version of the game. Under DOSBox, use the machine=tandy configuration option.
Title screen

Title screen

Options

Options

L'histoire

L'histoire

Credits

Credits

In game

In game





In action on real hardware

Here are a few pictures of the game running on a Tandy 1000 EX and on an IBM 5160 (XT) clone with CGA card.

Tandy 1000 EX

Tandy 1000 EX

XT clone credits

XT clone credits

XT clone in game

XT clone in game


Send me your pictures!
I would be very happy to receive pictures of the game running on other old PCs to add them here. Especially, I would like to know if the game works on PCjr and on an IBM 5150, the first IBM PC!


Mini « making of »

What!, Really?

What!, Really?

In January 2016, after creating a solution for easily transferring files to my Tandy 1000 EX, I sent qbasic and gorillas.bas to the Tandy hoping to make a tournament with my brother in the near future. But this did not happen. Somehow, the 256 kilobytes of memory built into this computer were amazingly not enough to run this simple game...

"Utterly unacceptable" I thought. And as at the time I had recently developed basic 8086/8088 assembler skills due to the aforementioned file transfer project, I made the evident and natural decision (who wouldn't right?) of writing a similar game from scratch, carefully written in assembler and designed to work on my 7.16 MHz Tandy 1000 as well as slower systems...

A few weeks later, the game was working. From then, for several months on and off, I made tweaks and improvements such as adding a second language, adding support for the 16 color Tandy-specific video mode (for my Tandy 1000 EX!), creating a bootloader for the PC booter release... Until August 2016 when I deemed the result acceptable.

Development:
Development was made under Linux. The game is coded entirely in assembler (using nasm), and the related tools (image conversion, music compression, etc) are all coded in C. During development, I used DOSBox to test (which I even ran directly from my Makefile).

Graphics:

I drew the game artwork using a mix of GrafX2 and GIMP. The title screen illustration, drawn by Sion, was sketched on paper first, then photographed and finally cleaned up in GIMP. All images are pre-processed by a in-house tool which reorders lines in a way that is more convenient for CGA, which means simpler and faster display code. (In CGA video, even and odd lines are in distinct memory areas). A similar complexity exists for Tandy modes as well (but then, there are four memory areas)...

Music:
I composed the music using MONOTONE. I use the Disk Writer function which saves the values one must write to the registers controlling the PC speaker to reproduce the music. This is very repetitive data which wastes space, so I compress the data using a simple RLE algorithm before embedding it in the game executable.

Testing:
Besides DOSBox, I used the Tandy 1000 EX that sparked the project, and IBM XT clone with a CGA card, a generic Pentium 133 and VMware.



Android™ version

In 2018 I set myself a challenge to make an Android version, but without rewriting the game. To achieve this, I created a simple PC emulator able to load the original .COM executable and patch it with basic usability modifications for touch screen input.

Creating the emulator was a very interesting experience which I tell about on a dedicated page.

The Android version, still in development, is available in the play store. Try it now!
Get it on Google Play
Here are some screenshots:
Startup screen

Startup screen

In game

In game

Game options

Game options


Google Play and the Google Play logo are trademarks of Google LLC.