Ever since the completion of Planet X3, I’ve been wanting to start on another game. The trouble is,
I couldn’t decide what sort of game I wanted to make. I had already done two real-time strategies.
I really wanted to go in a different direction. I had heavily considered some sort of SIM-City
type game, but just couldn’t think of a new twist on it without essentially copying Sim City, which
lets face it, already exists on almost every platform and I doubt I could improve upon it.
So, quite a bit of time went by. And the thing that inspired me was the new Mini-PET. I had
always been fascinated with the idea of writing a game for the PET, a machine with no graphics
modes at all. But because they are so rare these days, I felt it would be a very unappreciated
game because there just aren’t that many PET users out there as compared to MS-DOS or Commodore 64.
But then when the MINI-PET came out, I got somewhat excited as the PET is now more
accessible to own than ever before. Sure, it’s still not cheap, but that could change in time.
So, I started work on a tile editor as a proof of concept. I figured a tile based game made the
most sense on the PET. And, of course, I showed this off when I did the video about the Mini-PET.
The thing is, at the time I really still didn’t have any direction for the game.
I was considering another Planet X style game, and even showed off the
idea of a Mario style side-scroller. But, ultimately, I decided on something else.
There were other computers of the era that also had no graphics modes, but included some graphical
characters. Looking at some of those, this is the character set from the TRS-80. It has mostly just
block characters that you can use to create a kind of pseudo bit-map. Then there’s the Sinclair ZX81,
which has only 128 characters, and not that many graphics characters. Then there’s Commodore’s
PETSCII character set. You get 256 characters and the majority of them are graphics characters.
The second half is obviously identical to the first half, only reversed.
Interestingly enough, there is a whole facebook group called PETSCII World where people attempt to
make art, usually on a Commodore 64 using nothing but the text characters given. And some of them
are really really impressive. But this is a style of art that definitely requires skill, patience,
and practice. Of course, the C64 has 16 colors, where the PET has just two: black and white.
Or black and green depending on your monitor. There’s another interesting difference, though.
The Commodore PET and the VIC-20 share basically the same character set. But the C64’s is a little
different. Because the C64 was meant to run on blurry television sets of the era, and because
it had twice the resolution of the VIC-20, this meant that single horizontal pixels often didn’t
show up very well. So, they basically made the font thicker, which did make the text look better.
But it had the unfortunate side effect of actually making some of the graphics characters worse. This
is especially the case with the diagonal lines. You see, on the C64 because they were thicker,
they could no longer create a solid continuous line. Still, I mean it’s
not the end of the world, but this is relevant and I’ll come back to this in a little bit.
So anyway, here’s the game. This is the title screen. And
you can do several things here, but what I want to show you is the difficulty selection.
The harder the setting, the more angry the robot becomes. And here’s where you start,
right next to your lander. So, you’ve just arrived on this research outpost on a new planet.
And I’ll give you your first clue by searching the lander and you’ll find your first weapon,
which is a simple pistol. And you can fire up, left down and right. And there’s actually a lot
of wilderness to explore, but we’re not going to go into that right now. These maps are bigger than
most people realize. Here’s the front door of the research station. And now we’re in the lobby. It’s
deserted except for these robots hovering around. And at the moment, they will totally ignore you.
Here’s the swimming pool room. This station has a lot of amenities.
So, let’s see what happens if you shoot one of the robots. Well, it ticks them off and
they come after you. And you’ll have to shoot it several more times to kill it.
You may notice that there is a flicker on the sprites. Now, when I use the word sprites here,
I’m not talking about hardware sprites as obviously the PET doesn’t have any.
But rather there are software sprites used for the player and the robots.
The reason for this is that currently the map is drawn directly into screen RAM, and then the
sprites are placed on top immediately after. Obviously, depending on when the raster scan
occurs, this can create a flicker. I actually plan to solve this by eventually re-writing the screen
draw routine. The way it will work is that the map will be rendered, then the sprites combined with
it into an off-screen RAM buffer. After rendering is finished, then the final render will be quickly
copied to screen RAM. This should completely eliminate that, and hopefully by the next video
that will be working. But for now, you’ll just have to put up with the flickering.
Let’s go into this little storage room here. There’s a lot of stuff to be found in here if you
search these crates. Now, this will change in the final version, but for development purposes, it’s
handy to just keep all of this stuff together in an easy to find place. And as you can see, we’ve
found a time-bomb and several of these crates have key cards for doors in them. By the way, the key
cards are identified by their symbol. There’s a star key, spade key and heart key. So, skipping
ahead for a moment you’ll see this door has the heart symbol on it, so you have to have the heart
key to open it. And that’s the trash compactor below, but we’ll talk more about that later.
And some people have asked it if works on a real PET and yes it does.
This is the game running on Kevin’s PET. And of course, I test it regularly on the MINI-PET.
I think this is probably the most complex game to ever run on the PET, or at least that I know of.
So, it took a while to think of a name for this game. But here it is,
“attack of the pesky robots.” Oh.. wait a minute.
Make that “Attack of the PETSCII robots.” There we go, that sounds better.
Of course, it occurred to me that there still won’t be that many PET users out there that can
play the game as compared to C64 users. But it also occurred to me that because I’m not using
anything other than characters, there’s no reason I couldn’t alter this code to work on the C64. And
so here it is. Of course, I figured if I was going to run it on the C64, I might as well add color
to it. So, the interesting thing is, this is about 95% the same code running here as the PET version.
In fact, if it weren’t for the added color, it would be closer to 99% the same code. Most of
what is changed is just some memory addresses some the kernel calls work a little different.
Now, one thing you may notice is that this is not the C64 character set. As I mentioned before,
the C64 character set is thicker, but doesn’t look
as nice for graphics. So, I just used the font from the PET as a custom character set. However,
I’ll show you an older version working here. This was just a few days after getting it to
work on the C64. And as you can see the PETSCII characters just don’t look as good for this, so
I copied the PET font and everyone seemed to think it looked better.
Of course, since I now have the PET font installed, I thought wouldn’t it be a neat
trick if I could give the user the option to play the game where it looks exactly like the PET.
And so if you press SHIFT-P it puts the game into PET mode. And besides turning everything
green and disabling color, it’s actually using the tile-set from the PET which is slightly different.
For example, take a look at the workbench here in the science lab. When I go back to C64 mode,
you can see it is more than just color that is different. And there are little changes like
that all over the game because when I had color I was able to do things I couldn’t do on the PET.
So, I promised to show you the trash compactor. This is an example of one of the puzzles you’ll
have to figure out. I didn’t want this game to just be a shoot-em-up. So there won’t be
enough weapons to kill all of the robots. I want people to have to think creatively. So,
watch what happens when I push this crate into the trash compactor.
Well, that ought to give you some ideas about how you could use that against robots, right?
By the way, if you walk into that, it will definitely squish you as well. So, I’m going
to throw out another spoiler here and show you how you might use this to your advantage to take
care of the level boss, who is very powerful and won’t be affected much by your weapons. Moving
objects around on the map will play a critical role in many of the puzzles of this game. In this
case we’re just going to borrow some of these chairs from the conference room over here. And
skipping ahead, watch how we can trick the level boss to walk right into the trash compactor.
Of course, I started thinking, since this game is designed for 32K of RAM, I have quite a bit left
over on the C64, so I figured could do more with it. So I’m planning to have 3 different modes.
One mode is PET mode, which you’ve already seen. The second mode is the color PETSCII mode, which
again you’ve already seen. But then I plan to re-do the character set with some custom artwork,
and of course a nice SID music track. Now, I don’t have much I can show you yet for this. I don’t
even have a mockup, but I can give you an idea. This is an example of one of the tiles you see in
the game. It’s supposed to be a potted plant. Now, this is of course made from 9 characters. Now,
even if I modify the characters, I’m still limited to choosing one color per cell. So, a potted plant
right now looks like this, but in the enhanced version it might look more like this. So it’s not
ultra-realistic, but certainly much improved. So here’s another example, these crates could have a
bit more detail and look like this. And the last example here is a hover bot that currently looks
like this, but could look like this instead. So, I hope that gives you an idea. By the next video
update, I’m sure I’ll have a full-screen mockup or possibly have this feature fully implemented.
I could certainly use some artistic help in this area if somebody would like to lend a hand.
So, after I got it working on the Commodore 64, I started wondering if I could get it to work
on the VIC-20. Obviously this would be a VIC-20 with 32K of RAM. But one problem is the screen
size. The C64 and PET versions are designed for a 40 by 25 character screen. But the VIC-20 is much
smaller at only 22 by 23 characters. However, the VIC chip is unique among Commodore systems
in that you can actually change the size of the screen, to a degree. So, I was able to expand
it out to 25 by 25 characters, which at least gives me the same height as the C64 version.
However, there was still a challenge because the play field is composed of 11 by 7 tiles,
each tile being 9 characters. So, what I had to do was cut 2 tiles on each side, reducing
the playfield to 7 by 7 tiles. On the bright side, since the VIC-20 screen is stretched, so to speak,
the proportions of the play field remain the same. And there’s another limitation, the color palette.
While the VIC-20 has the same 16 colors as the C64, only 8 of those are used for
text colors. And since this game is all text characters, that means I can’t use
the second half of the colors. So, I had to modify the tiles to use only those 8 colors.
And, well, here it is. It doesn’t look all that different. The different color palette is
the most noticeable change. I doubt most people will notice the extra columns of tiles missing.
Now, one great thing about the VIC-20 is that is already has the same font as the PET,
so no need to change that. And you know what? I think this is one of the most complex games
ever designed for the VIC-20. I know there are a few out there like Realms of Quest or Cheese
and Onion. But I think this is probably at least in the top 5 or 10 most complex
games for the VIC. And I just wanted to mention again, the flickering of the sprites should be
gone by the next update you see on this, so that includes the C64 and VIC-20 versions.
Oh, and here’s a side-by side comparison of the VIC and 64 versions.
So, besides changing the play field, the weapons and information areas are smaller as well,
so I had to redesign the graphics and text that goes in those fields.
Anyway, so right now I’m working with 3 different source codes for the C64, PET, and VIC-20. But
they share a very large common portion of code. In fact, the common area is what is mostly growing
now as I add more code for the gameplay logic. So, I’ve got these 3 versions working right now,
but I hope to add a Plus/4 version, an 80-column PET version, a Commander X16 version,
Commodore B128, and even the Color PET. You might be going “wait, there was a color PET?” Well,
Commodore never made one. But there is a design out there for a board you can make and upgrade
your PET to color, and while there are only just a few in existence, VICE has now added support
for the Color PET in the latest versions, so I figured, why not? So my claim to fame with this
game is that it will work on more Commodore models than any other game. And my thinking is that some
computers will be limited to the PETSCII version, while three of these machines will get an enhanced
version like I described earlier. But the game play and levels will be identical on all of them.
The controls for this game have been a challenge. I never gave the C64 joystick a second thought
because it only has 4 directions and a button. I wanted the character to be able to fire in all
directions. So you might wonder why I didn’t just go with the control style of a game like Berzerk.
In this game, at least on the C64, you use the joystick to move around, then when you press
the button you must also move the joystick in the direction you want to fire. However, this
results in a very clumsy control. For example, there is no way for me to run away from a robot
quickly like this while shooting backwards at the robot, which is a common theme in this game.
So, let me show you the control scheme I came up with for the PET keyboard. First of all, I am
always going to support the standard cursor keys. Now, you might wonder why since I have complained
many times how horrible they are to use. However, when using an emulator on a modern computer,
these keys are pretty much always remapped to the standard inverted T cursors on your
keyboard by default. So, for those using an emulator, these keys should be supported.
Now, for those using a real PET, movement is also controlled by the numeric keypad.
And then I use the W.A.S.D. or WASD arrangement for firing your weapon.
Z is used for search, M is used to move an object,
Return to use an object, and these two keys cycle your weapons. This arrangement actually works
really well. Most people have been able to get the hang of this in just a minute or two of playing.
However, the C64 and VIC-20 keyboards have no numeric keypad. So,
what I did here was also support the cursor keys for the same reason as before, but originally I
used the WASD keys for movement but also for firing by holding down SHIFT. However, it
didn’t take long to realize this arrangement was flawed because it is inherently the same problem
as I described before with the joystick. It was impossible to run and shoot at the same time. So,
I changed the keys so that these 4 here now create movement and the WASD is just for firing. So it’s
the same 2-handed control system as the PET. And the other keys are similar to the PET version too.
Of course, I realize even this key arrangement won’t suit everyone so I plan to offer two
alternatives. For one thing, in the main menu you may see an option for controls, and while not
implemented yet, I plan to have people be able to assign their own custom key controls. The second
option, which is probably a first on the Commodore series is to use a Super Nintendo controller.
The D-Pad will be for movement and the buttons will be for all direction firing. The buttons on
the back can be for move and search, and the two buttons here can be to select weapons and items.
So, how do you connect an SNES controller to a Commodore? Well, Kevin has designed me a nice
user-port interface, which we are getting the prototypes made right now. This is just the PCB,
but it will obviously have a user-port connector on one side and an SNES port on the other. And it
should work on any Commodore computer that has a user port, including the PET, VIC-20, C64, Plus/4,
etc. Hopefully I can get enough of these made to include them in the box with the final product.
I’d also like to show you the level editor. Right now it only works on the PET. So if you want to
create a level, you have to use the PET version. Not only can you create tiles, and set attributes
about those tiles, but the map editor is pretty slick too. This is the most sophisticated level
designer I’ve ever made before. Let me show you how it works. You may notice various numbers all
over the places. These are markers that there is an AI unit there. Even doors are considered
AI units, so I have to put one of these at each door. Some of these markers are robots, and some
are hidden items to be searched for. Oh, and you even define the player starting position here.
Remember this room? this is where all of these hidden things are stored. I can come over and edit
one of these. There are a variety of parameters associated with these, I can move the numbers up
or down with my keyboard. Of course, I know what all of these numbers mean. Eventually I’ll make a
manual so that people can create their own levels. And, of course, I can delete one of these items,
and then you’ll be able to see the actual map tile that was underneath it. And, let’s say I wanted to
hide something in the side of this table. I’d just press H for new hidden item, and bam, there it is.
Then I would just edit the parameters to show which item and how many would be hidden there.
And here’s the level-boss, by the way. One parameter of interest is the last item which is H,
which stands for health or hit points. 70 health in this game is a lot. The other robots are 10,
and the player themselves only has a maximum of 12.
The pistol creates 1 point of damage, so it would take 70 shots from the pistol to kill this guy.
So, how far have I progressed in development? Well, I’m about 50% done with the game engine.
Actually, if we just look at the PET version alone, it’s more like 75%.
Sound and music is at zero. I’ve literally not written a single line of code.
And this is one part of the code that will have to be written from scratch on each system
as they all have different sound chips. I am also looking for some possible help in this area.
And level design has a long way to go too. The first level is mostly done, as you’ve seen. But
I have some fantastic ideas for some of the next levels, which I haven’t even started on yet.
So, I don’t want to give all of the spoilers just yet. But I want to show you one more tool
that you will need to find clever ways to use. In the science lab, you’ll locate the EMP device,
which stands for electro-magnetic pulse. Over in this crate you’ll find the plasma-gun, which is a
good bit more powerful than the pistol, or rather will be as it isn’t implemented yet. But I do want
to show you how the EMP works. When you activate it, any robots within your view will reboot,
thus making them vulnerable for about 7 seconds. During this time you can shoot them push them into
things, etc, without any worry of retaliation. But, what about a robot that hovers? Well,
if it happens to be hovering over water at the time of the EMP, it will fall into the
water and short circuit. And there will be other clever ways to use this device.
Of course, I’ve only shown you two enemies at this point,
but in the final game there will actually be multiple different types of robots to fight.
but you’ll just have to wait until the next update to see those.
So, if you’d interested in contributing any sort of graphics or any kind of code for sound and
music routines to this game, please go ahead and send me an email and let me know. I also
want to mention that there’s already a facebook group dedicated to this game. So, I’ll put a link
down in the description field. I’ve already been using that group for asking input on various game
dynamics. Of course, I’ll eventually be using that to recruit some beta testers. Also, while we’re on
the topic, there’s also a Planet X3 facebook group that I think a lot of people don’t know about yet.
It’s a fairly active group, so if you are one of the lots of people that have bought Planet X3,
I’d encourage you to check out, I’ll put a link down in the description for that as well.
So one last thing I want to say is, I think this game is
probably going to be the best game ever made for the Commodore PET. But the C64 users that play
this game might possibly find the graphics to be just a little bit underwhelming. But,
I think the gameplay will still be fun and the enhanced version should have graphics that are at
least on par with say the Ultima series of games, which you know I was always a big fan of those.
But that’s it for this episode. So, as always thanks for watching!