Commodore Banner Exchange

Digiloi: a full PETSCII graphics game for the C64 and Plus/4

I only recently discovered a cool game that was released a couple of years ago. It’s Digiloi by Doctor Terrorz.

Whats so cool about the game Digiloi? The graphics is all based on PETSCII characters. Yes, those characters shapes that you can find in the ROM of the C64.

An introduction to PETASCII

Although ROM character set of the C64 used in Digiloi is a bit different to the one on PET/CBM machines, we are still talking about PETSCII characters. The only difference on the C64 one is that you mostly have two pixels wide dots. However, those are still displaced by one pixel (depending on the particular shape), so in fact we still have a good resolution.

The two horizontal pixels arrangement on C64 ROM charset is aimed at obtaining a better image on regular TV sets. This is due to the higher graphics resolution of the C64 than the VIC 20. In fact, the VIC 20 still uses the very same charset of PET/CBM machines (although characters are far larger due to low resolution of the VIC-I chip).

Each character is 8 x 8 pixels. On each character cell we can only have two colors: the background color and the foreground color. The background color (blue on the C64 on start-up) is usually the content of register 53281 decimal, while the foreground color (light blue on the C64 start-up screen) is the cursor color. This is the case on standard hi-resolution character mode.

As a note, extended color graphics do allow more background colors to be chosen for each character cell, but this restricts the charset to 64 different shapes, so it is rarely used.

On regular text mode we have 256 different character shapes that allow to draw lines, blocks of various sizes, and particular shapes like balls, symbols used in playing cards, special characters for the edges of rectangles, rounded edges and so on. Reverse characters are also provided (those obtained after pressing CTRL and 9).

Such a variety of characters was provided with easy access from the keyboard as PET/CBM machines did not provide native support for bitmapped graphics. So, it was possible to draw quite anything, although you had to cope with resolution limitations, as it is the case for any kind of ASCII art.

PETSCII graphics can be used for animations too. Very simple animations can be done in BASIC, but for good results machine language is what you really need. Especially if you want to create a PETSCII graphics game like Digiloi.

Let’s have a look at Digiloi

Digiloi is a war game. Somewhat on an alien planet, you have to find all the three keys needed to activate a bomb. But you are not alone. Many aliens are there to try and stop you. If you manage to activate the bomb, everything will blow up and you win the game.

Everything on the game is PETSCII graphics. If it was not for the colors, this would be like a Commodore PET game.

Using ROM characters for background graphics and sprites imposes some great limitations. For instance, sprites can only move by a character at a time: that’s 8 pixels. But surprisingly, the game plays quite smooth despite of this. And during in-game action, you hardly notice clashing problems between the various graphics elements.

Coarse movement of sprites does have an advantage. For instance, when UFOs move some sort of interlacing effect on colors creates. As a result, it seems that we have a fine color shading on them.

The game is very polished. Sound effects do their job and the music, though featuring very basic instruments, is quite catchy and enjoyable. It’s old-school but yet with its own nature, in a way representing the feeling of the whole game.

You got only one life and each time you got hit you lose energy. But there are energy resources around, so that you can recover power.

Doors allow you to get access to different sectors. Background graphics is very detailed for PETSCII graphics and everything is well drawn. But still, after some time you start feeling a bit bored because there’s not so much variations on backgrounds in the game. You’ll just have to travel along places you’ve already seen. But after all, it’s a one-file game.

Difficulty is set at an increasing level. For instance, at the beginning enemy robots do not fire, but then they start to do so and are usually found in couples.

This is one of the three keys you will have to find:

Animations of sprite is more than convincing. Just play the game and have a look at the animation of the robotic frogs!

Collisions are very accurate and sprite priority is handled very well. Consider that using text characters the VIC-II cannot help in any way in handling sprites priority here.

Some elements in the background act as a repair from the bombs of UFOs. Again, this shows that we have got quite good programming here.

Graphics are more than satisfying in every aspect. Look at how good is that chain to the left.

This is where the key must be put. In the end this damned thing will eventually blow up!

Fast paced action, good selection of colors, well drawn huge “sprites” and backgrounds make this game a species of its own. In a way you’ll feel you are on a different computer in the beginning. Though PETSCII graphics is quite versatile, this game adds something even on a technology older than 40 years.

The game can be downloaded for free from the CSDB. The Plus/4 version is also included, which is more or less the same as the C64 one (apart from music).

For interesting information on game development, an article by the game coder is available here. Enjoy!

Commodore Banner Exchange
Insert math as
$${}$$