Instructions for B.A.R.F. v2.0 (BATTLE AGAINST RIGELIAN FORCES)

Programmed in 2004 by Dinu Cristian Mircea (aka GOC)

This is a 4k, Spectrum 128K, entry for the www.ffd2.com/minigame minigame
competition. PLEASE READ ALL OF THE SECTIONS NOT MARKED "OPTIONAL" BEFORE
PLAYING THE GAME.

There's no copyright on this, but I would appreciate it if you didn't just rip
it off and say you programmed it (hahaha, who would rip off a game like this...)
- that would obviously make you a lamer, and you're not a lamer, are you ?

If you find the game too hard, check out the "Playing tips" section.

This package includes a RZX showing me complete all four stages of the game.

For those who've seen it: Yes, I know I'm sh*te !

Contents
========
0. What's new in this version ?
1. Loading instructions
2. The plot (optional)
3. Playing the game
4. Quirks & features
5. Technical info (optional)
6. But.... (optional)
7. Contacting me (optional)
8. Playing tips (optional, spoiler alert !!!)


0. What's new in this version ?
-------------------------------

Documentation changes:

- Modified the docs to reflect all the changes. (obviously!)
- Replaced the 'destroy particle beamer' tip with a much safer one and added
many other tips.

Gameplay changes:

- The aliens should be a bit more aggresive now, and I've increased the
randomness of the missile firing.
- Larger ships now have two hit points (the mothership has 3), to make the
combat last longer. :)
- Fixed several collision detection bugs. (OK, OK, so they WERE bugs, not
features :D)
- Significant changes in the gameplay of stage 3.
- You're no longer safe at the edges of the screen in stage 4. This was due to
an inaccuracy which I've now corrected.
- Each shot you fire now costs you 1 point.

Cosmetic changes:

- Minor graphic changes, including 2-pixel wide scrolling stars (� la Moon
Cresta). I hope the game doesn't look worse now ! :)
- The mothership's destruction sequence has been enhanced with some (pathetic)
'fireworks' effects.
- The "3D starfield" effect in stage 3 has been greatly enhanced and should be
much more bearable now.
- Slightly improved sound system. The lasers and explosions are more "furious"
now... Pump up the volume ! :)

1. Loading instructions
-----------------------

To run this, load it in an emulator such as Realspectrum or Spectaculator, using
the standard 128K mode: Select the 128K system, reset, and when the menu
appears, simply press ENTER, thus selecting the "Tape Loader" option.

The game *seems* to also work with a +2, +2A, +3 and even Pentagon, but if
anything goes wrong, you should retry with the bog-standard 128K. It will even
run in "USR 0 mode" (demo freaks should know what that is), but don't run it on
a 48K, or on a 128K in 48 mode - that disables paging and the game won't run.

Don't run the program with anything that changes the starting address of BASIC
programs, such as the Interface 1, Microdrives, etc.

2. The plot (optional)
----------------------

"Sit down, cadet.

As you may have heard, at a recent conference, the ambassador of a puny race
known as the Rigelians has stated that, and I quote, 'Spectrums are sh*te'.

It is obvious that we cannot allow the Rigelians to harbor such ludicrous
thoughts. Therefore, the Human Empire is now at war with their insignificant
excuse for a race. You are to take one of our state-of-the-art fighters and
destroy their laughable task forces now heading towards our outer colonies.

You will not be given any reinforcements. I cannot see why a pilot of your skill
would possibly need any more ships at his disposal.

Dismissed.

Death to the enemies of the Empire !!"

3. Playing the game
-------------------

B.A.R.F. is a four-stage shoot-em up based on the well-known arcade game GORF.
You are in command of a state-of-the-art fighter (actually a 15-year old piece
of junk) and you have to destroy the task force of an inferior race, the
Rigelians. The Rigelians have many more ships than you do, but they are quite
dumb and technologically inferior, so your mission should be an easy one...

You control your ship with the keys 6,7,8,9 and 0 for Left, Right, Down, Up, and
Fire respectively. If you're having a hard time playing with those keys, use the
emulator's options to emulate a Sinclair Joystick - the keys will then be mapped
to the cursors or something more appropriate. While in the title screen, press
Fire to start the game.

You battle it out with the Rigelians through four stages, each with a different
enemy formation:

* Stage 1: Fighters -- This is basically a Space Invaders game. A compact block
of enemy fighters will slowly advance towards you, and you have to gun them down
before they reach the bottom of the screen - you have been warned. Obviously,
you will also have to dodge the missiles fired by the fighters...

* Stage 2: Twin formations -- You have to battle with two enemy formations, each
consisting of a dangerous ship firing a constant particle beam and three escort
vessels which can swoop down on you. Note that these enemy ships are fitted with
a shield. When you first hit a ship, it will flash and lose its shield, and only
then will your second shot destroy the vessel.

* Stage 3: Hyperspace -- During your hyperspace voyage towards the Rigelian
flagship, warp-fighters will try to prevent you from reaching your destination.
They adopt circular trajectories that make them extremely difficult to hit -
aiming ahead is essential ! Regular missiles don't work in hyperspace, so combat
is carried out using warp torpedoes. When you press fire, you will see your
torpedo travel farther and farther into the screen and explode somewhere in the
distance. To destroy the enemy fighters, you have to catch them in the explosion
(which lingers for about half a second) when they're near your ship. Meanwhile,
the alien craft will be shooting their own torpedoes at you, and you have to be
careful not to get hit by the shrapnel... The stage ends when you've destroyed 8
ships.

* Stage 4: Flagship -- To complete your mission, you have to destroy the
Rigelian flagship. Unfortunately, it is protected by a deflector, so you can't
destroy it as easily as you would any other ship. You have to hit it three
times, in a precise location at a certain moment in time... (If you get tired of
guessing, check the "Playing tips" section to see what you have to do)

Upon destroying the mothership, the message "CONGRATS" will appear. Take a break
and then shoot the message to finish the stage. Your rank will increase and you
will immediately resume fighting from stage 1.

Your ship has a number of shields (replenished at the beginning of each stage),
one is lost whenever you get hit. If you run out of shields and get shot, your
ship is destroyed and the game is over - **there are no "lives"** ! The game
becomes progressively difficult as your rank increases, in that the amount of
shields your ship is provided with decreases. The game becomes extremely
challenging when you start with no shields: one mistake = game over.

4. Quirks & features
--------------------

* A point is deducted from our score whenever you fire a shot. This way, the
more shots hit their target, the higher your score will be.
* Ships in B.A.R.F. are destroyed only when hit squarely in the center (except
in stage 3). The 'blocky' nature of the game makes this easier somewhat.
* You can only have one of your own missiles on the screen - this isn't a bug,
but a behaviour also present in GORF. If you press Fire while your missile is in
flight, it will self-destruct and a new one will be launched. This is useful for
when you can see that your missile won't hit anything, so you can cancel it and
launch another immediately.
* Ships fitted with shields (including yours) experience a brief period of
invulnerability immediately after being hit (unless they're destroyed, of
course).
* There's no pause key, but you can wait as long as you want until destroying
the "CONGRATS" message in stage 4.
* A collision detection bu...feature :) you should be aware of in stage 1: your
missile doesn't arm until it has travelled the equivalent of one character cell.
If you try to shoot a fighter that's right in front of your ship (courageous,
aren't we :)), your missile will *not* hit it !
* Due to size restrictions, there's no highscore, but you can see your last rank
and score after you die.

5. Technical info (optional)
----------------------------

This game uses the well-known page-flipping technique used in demos, and a lot
of self-modifying code and overlapping procedures. Other than that, it's not
very impressive technically, as you will have probably noticed by now :)

Although the program was heavily compressed using the habitual techniques: RLE,
Huffman variants, etc., and optimized by hand, there are only 10 or so bytes to
spare and not much promise for increasing that, so this is why I haven't added
features such as a pause key, highscores, better difficulty settings, etc.

The first version of the game took about 3 months of (not too fervent) work to
complete and about 5 days to hand-optimize. Upgrades for the second version also
took about a week.

6. But... (optional)
--------------------

* ...the game is sh*te !!! -- Hey, it's only 4K and my name isn't Jonathan
Cauldwell, what did you expect ? Why, I'm the author of Arachno Joe, the worst
game in history, second only to Sqij, Caverns of Kontonia, A.J. Remic games and
DUAL 1024+ :) !
* ...the game is bloody hard ! -- Most Speccy games are. Check out the "Playing
tips" section, that might make easier for you.
* ...space is three-dimensional, why is most of the combat 2D ? -- Ask a
StarTrek (TM, C, etc.) scriptwriter.
* ...there's no Galaxians-like stage ! -- Many GORF "clones" lack a
Galaxians-like stage due to copyright restrictions (or something). However, I
could have made a stage *loosely* based on Galaxians, but, sadly, the limit is
4K, not 5K. If you do find a way to compress 600 bytes' worth of code at a
ratio of 60:1, please let me know :)

7. Contacting me (optional)
---------------------------

For any comments, etc. you can find me on the World of Spectrum forum under the
name of GOC, or you can e-mail me at [email protected].

8. Playing tips (optional)
--------------------------

SPOILER ALERT !!!



General tips: Always remember that you can move up and down ! Predict your
enemies' movements and aim ahead. Many of the techniques here are demonstrated
in the included RZX.

Stage 1: Always shoot the fighters at the left and right edges of the formation
- a narrow formation will take longer to swoop the screen and move downwards. A
safe approach is to pick off fighters to the left when the formation is
advancing to the left and vice-versa, thus keeping out of the line of fire. As
seen in the RZX, you have to destroy the fighters at a pretty high rate. If the
formation has made one pass the screen without any of the fighters being
destroyed, something's probably not right with your tactics :)... Finally, try
to practice dodging missiles - you may often have to pass through heavy firing
while trying to get to the other side of the formation.

Stage 2: The particle beams restrict your movements - try not to get caught in a
narrow corner. When an escort ship charges you, it will try to position itself
in front of your ship - this is a good time to hit it, but be ready to dodge it
if you miss. Move up and down to evade charging ships. A safe method of
destroying a particle beam ship is to fire a missile such that it ends up very
near to the left or to the right of the target just as it has ceased firing.
There's a 50% chance that the enemy ship will run into the missile as it moves
towards its new firing position.

Stage 3: Not much to say - predict your enemy's trajectory and shoot ahead. Note
that your aiming doesn't have to be spot-on in this stage. If you look
carefully, you will see that the fighters often pass through certain locations
more than once. If you see such a location, you can wait near it and ambush the
fighter on its next pass. Above all, take it nice and easy, one by one ! - if
you don't rush it, you really can't go wrong.

Stage 4: To damage the flagship, your missile must hit its eye while it's open
(getting ready for a phaser shot). Be wary of the sudden speed bursts of the
flagship, and note that it will start shooting like crazy once its escorts are
gone - this is where your missile-dodging practice comes in handy. Be patient
and try to learn when you should shoot, given your horizontal & vertical
distance to the flagship and its speed. Some courage would be advised, however -
the more you delay trying to hit the flagship, the greater the chance of being
caught off-guard by its cannons and being damaged yourself.

Doc by GOC