Saturday, December 30, 2023

V

Now for something a bit different: When I got my C64, my very first computer, back in 1989, it wasn't just the prospect of playing games that excited me. The idea of making my own games fascinated me just as much, if not more. At the age of eleven, I had no previous programming experience. But armed with the C64's manual and an almost complete edition of INPUT 64 magazines, I was determined to get this gamedev ball rolling. Or at least nudge the ball a bit, as it were.

About a week later, this was the result:


Behold the title screen in all its misaligned glory. The pill-shaped sprite at the top is supposed to represent a spaceship the size of a city block. The German text below the awkward PETSCII V says A GAME FOR ONE PLAYER. PRESS <W> TO CONTINUE in somewhat dodgy grammar.

© 1984 - Warner Bros. All rights reserved.
You may be wondering if this game is based on an existing franchise. Well, wonder no more, because it is! An American science fiction series simply called V had just started airing on German television, about half a decade after its initial release. It featured disguised lizard aliens in saucer-shaped spaceships invading our planet and eating our guinea pigs. V's popularity here was rather short-lived but it must have made enough of an impression on me that I decided to make a game based on the show.

Now that I think about it, I believe it was a school friend who had the original idea to base the game on that TV series. Unfortunately, I'm not sure. However, I do remember another kid at school immediately questioning my motivation: Why would I bother to make a game if the result would inevitably be terrible? I agreed, actually, knowing already that the C64's BASIC wasn't the language of choice for creating fast-paced action games. But my goal wasn't to make a great game. I just wanted to make a game at all.

But enough waffle, let's hit that 'W' key and get started!


Oh dear! Where to begin?

First of all, you don't control the shooting turrets at the bottom. Instead, you play as the alien invaders and have to move your mothership left and right to avoid the lasers from below. I don't remember how I came up with the idea of playing as the bad guys, but it's one of the few things I still like about the game. There is no plot to save the world. Instead, you strive to subjugate the human race. Make red jumpsuits and sunglasses the new fashion. Forever.


The ship expands considerably at the start of the game. I set the sprite to double-wide which makes its shape more similar to the saucer-like UFOs from the TV show. Why I didn't already do this in the title screen is a mystery to me, as are many other things in this game.


The turrets try to align themselves with your horizontal position, and once a turret is close enough, it shoots a red beam of light. One turret moves faster than the other, so it is impossible for both of them to perfectly overlap and move in unison.

I don't remember why I put crosses on the turrets. What I do remember, though, is that I drew all of the game's sprites on graph paper and then calculated their byte values to manually enter them into the BASIC program. I didn't have a sprite editor yet, so I did it the old-fashioned way, as shown in the C64 manual. This is probably also the reason why everything is single-color, because multicolor sprites appeared too intimidating for me to draw on paper.

I kept a folder of old notes and various printed listings from my C64 days, but I couldn't find any documents related to my first game. I guess they fell victim to my parents' obsession with throwing away any notes that "I didn't need anymore".


I spared no expense in creating the background star field, which consists of randomly placed periods and commas. However, I made a calculation error and drew too many lines of stars, which is why you can see them scrolling up at the end.


When a laser hits your ship, it goes into disco mode for a while and then disappears. This is also the moment when the game plays its only sound effect, a white noise explosion. After that, you are thrown back to the title screen for another try, or, more likely, to reset your C64.

You may have noticed that in the above example, the laser clearly misses the ship but still manages to vaporize it shortly afterwards. To no one's surprise, this is due to a bug. Whenever the laser leaves the screen, I reset its position. Since BASIC is rather slow, it can happen that the laser is in a transitional position where it touches the player sprite. This counts as a collision, and since I didn't program a check for this, the game counts it as a valid hit.


Here is a short sequence of hot dodging action, sped up a bit for your viewing pleasure. As you can see, the turrets stop moving whenever there is a laser on the screen. BASIC can only handle the movement of a few sprites before everything slows down to a crawl. Even with a maximum of three sprites being moved, the game is a rather jerky affair.

While you might expect invading aliens to be armed to their jaggy teeth, this ship is entirely without weapons and pressing the fire button does absolutely nothing. In a strange way, this mirrors the plot of the show: The aliens don't show up with guns blazing, but pretend to come in peace. Anyone who does not trust them, or even openly opposes them, is labeled a xenophobe and an instigator of unwarrented and unnecessary violence.

But the reason why your ship can't shoot back isn't some hidden message about political scheming. It's simply because I couldn't be bothered to also implement player shots.

So how do you win the game, you ask? You just have to survive long enough.

As with many things in this game, I implemented the end condition in a strange way: There is a counter variable called IT that increments every time a laser sprite is on the screen. However, the counter doesn't just increment once per laser, it goes up every frame a laser is visible on the screen. When IT reaches 400, the game ends immediately, regardless of the laser's current position.

In any case, if you dodge enough lasers, the human opposition apparently gets bored and you are allowed to land:


As barebones as the game is, I still took the time to make an ending animation. It's also rather barebones, but at least it's more than just a simple text message. You actually see your (amazingly transparent) ship landing. The German text below the blue platform excitedly states YOU DID IT!PRESS KEY. And yes, I didn't put a space after the exclamation point, which bothers me more than it should.



CONCLUSION

V is a very basic game, if you excuse the pun. The controls are jerky, the graphics are simplistic, and the sound is practically nonexistent. The gameplay consists of nothing more than dodging a few lasers, which would be dead easy if it weren't for a bug that sometimes kills the ship if it happens to be in a turret's line of fire when the laser sprite resets.

On the plus side, it was my very first attempt at making a complete game, and in that respect I succeeded. It wasn't some unrealistically huge vision with lots of features and graphical effects that I would never be able to finish. It was a small, very simple concept that I could realize within a couple of days.

Somehow, my 11-year-old self was better at keeping my ambitions realistic than I am today.


If, for whatever reason, you want to experience this disaster for yourself, here is a download link: v.zip
Inside the .zip file is a .d64 image that you can open in any C64 emulator or with a flash drive on original hardware.

2 comments:

  1. Found this blog while doing some research on the background of your old Thief FMs! Love the content here!

    ReplyDelete