******************************************************************************
****************************BALL BLAZING FANTASY***********************V.1.0.* 
*************************************************by Lachie D.(KENTAURI) 2003.*
******************************************************************************

Table of Contents
------------------------------------------------------------------------------
1.0 - About The Game
2.0 - Running The Game
   2.1 - Requirements
   2.2 - How To Play
3.0 - Kinda FAQ 
4.0 - Credits
5.0 - Designer rambling 'bout making this game
6.0 - Contact
------------------------------------------------------------------------------

1.0. About The Game
===================
Ball Blazing Fantasy is a top view, arcade game with balls.

It features two different modes. Ball Blaze, a fun one on one version
of soccer where the players are balls too with tournament and practice
mode and The Quest, adventure where you harvest minerals and dodge 
all kind of hazards while controling a ball, with 16 levels placed
in 4 different worlds.

This game is FREEWARE.

Ball Blazing Fantasy was completely coded in Quick Basic 4.50 with
RelLib, a library by Richard Eric Lope.

2.0. Running The Game
=====================
You run Ball Blazing Fantasy with BBF10.EXE. If you are running it 
in Windows 2000/XP you need to allocate XMS memory in order for
game to work. How? You create a shortcut to BBF10.EXE(right click on it). 
Then right click on the shortcut, access the memory menu and change 
the XMS amount to any above 3000 Kb. Run the shortcut.

If you have a Sound Blaster card you might wanna load the SB drivers
in order to hear the game background music. You do that by running 
BBFSB.BAT(if you can run the game without the shortcut) or just using
two extra batch files(LOADSB.BAT loads the drivers; UNLOADSB.BAT unloads 
the drivers).
                
2.1. Requirements
=================
You need a 386 or higher to run this game. I recommend a Pentium but
if you insist running this game on an old machine you should press TAB
during the game to disable to speed reducer.


2.2. How To Play
================

Game concept, rules and options are explained in the ingame instructions.
Check them before playing the game. Still, Ball Blazing Fantasy is mostly
intuitive so you won't die if you skip the instructions.

Ingame options:

F1 - toggle sound effects on/off
F2 - toggle game speed from slow to normal
TAB - disable/enable the speed reducer


3.0. Kinda FAQ.
===============
This is just a way for me to ramble about game's important issues.
It's not really FAQ but I have to name it somehow and in the same
time point out that people should check it.

I run the game but I get the black screen. What should I do?
------------------------------------------------------------
Read "Running The Game" section. Create a shortcut! Is it
so damn hard? If you are running it in Windows 98 and a 
direct running of EXE file is not working try the same thing.

A note : Game loads a bit longish on the begining. I mean, not
more than 5 seconds but for some people that might be long
enough to give up and close the window.

SB drivers loaded fine but I can't turn on the music. Why?
----------------------------------------------------------
That really shouldn't happen. There's a variable which is triggered
if the drivers are loaded CORRECTLY(error messages appearing when
SBSIM.COM is loaded are unimportant so don't worry). Still, there's a
way to bypass this checkup. Just press S and N inside game options and
try to turn on the music. If the game crashes at that point, then the
drivers didn't loaded at all or they didn't loaded properly. Whatever
it is, forget about turning on the music. Usually SB drivers won't load
at all on Windows 2000 and all the later versions. Sorry. MIDI routines
are not by me. You'll just need to forget the music in Windows 2000 and
later Windows versions or simply boot you PC from a MS-DOS boot disk.

Game is too difficult.
----------------------
Not to me. It can't be more easier. Then, where's the challenge? If it's
a challenge in the first place.

Ok. I know some places are difficult but that's the point of computer
games. To beat the tough parts. Before finishing the game I didn't know
how the concept will actually work but on the end it suprised me on
a good way. Some levels you simply have to plan. Lure the life
forms on right places and using a RIGHT way, approaching from good 
direction and such. Sometimes bouncing off something is a proper way to 
avoid a projectile or similar. Still, that's very rarely.
You might consider slowing down the game on tricky parts and when you
complete them, return to normal speed.

I've finished all worlds at least two times. Game is beatible.

Ball Blaze AI is idiotical.
---------------------------
Well, it is stupid. I kinda had problems there. It just kept
behaving wierd and no solutions came to me. So I just tweeked it 
a bit more and left it be. Admit, Ball Blaze concept is kinda ??? so 
even stupid AIs are difficult to beat.

Why The Quest AI is not more complex?
-------------------------------------
Well, from the begining in the first two worlds AI supposed to be 
the way it is in the final version. Life form AI was simply copied from 
Ball Blaze since in Ball Blaze it can't be any different. It's just how 
I planed to design the levels and how the gameplay supposed to work. After 
finishing first two worlds I've sticked to the "tracking area" AI concept 
since it resulted with adequate level designs for the first two worlds.
I belive I've proven that I can make more sophisticated AIs with Dark Quest. 
I mean, I could have just copied and pasted the Dark Quest AI in Ball Blaze 
Fantasy source code if I've wanted. Dark Quest AI is just something that 
doesn't fit in BBF concept and that's my final on this matter.

Differences between Helions in Ball Blaze are too small. Why?
-------------------------------------------------------------
Well I didn't wanted to deviate much from the standard Helion maxium
speed and making a large gap between Helion masses would ruin the
gameplay. I belive this is fine.

Is the Helion in Ball Blaze Tournament final match different than others?
-------------------------------------------------------------------------
Yes. He has the best acceleration, highest maximum speed and mass.
You'll probably feel it but he's not too superior. In short, he's 
beatible. 

Life form in Ball Blaze is a drag!
----------------------------------
It's just an idea that didn't worked well in practice. That's why
I left it as an option. I never played it with another human player
so I don't know how it feels then. Some people might like playing with
the life form.

What are the passwords?
-----------------------
Yeah, right. Dream on.

The different bluish backgrounds don't work for me.
---------------------------------------------------
Yeah, I know. The Ball Blaze background came out great so I thought 
the same concept will work for other menus as well. It's ok on
some places while on some it seems out of place. It's just how I 
imagined the game look from the start. I don't think it's that bad. 
I've seen much worst.

The Quest mineral bars are too confusing.
-----------------------------------------
I don't agree. You might be lost a bit on the begining but The Quest
concept is so simple you should get it after the first level.

Sound effects are horrible!
---------------------------
I don't own a sound card to I can't test SB sound effects if I 
implement them in the game. Adding music is already difficult enough. 
Doing more than that would be too much "blind coding". I tried to do with 
PC Speaker sounds the best I could. I've been told that they don't work 
with the music so you'll probably choose to play the game with the latter.

Tile collision is imperfect.
----------------------------
This was a really big problem for a while. Correct ball bouncing from 
tiles is a nightmare for me. Maybe I'm just stupid. The last version of
tile collision by my opinion is quite good compared to previous solutions
which almost ended up in the final version. It sometimes bounces the
player in the opposite(180 degrees) direction but that's it. It's usaully 
ok. Advice, don't bounce off collidable tiles around life forms.

When the Helion falls into a hole or in lava sometimes
------------------------------------------------------  
it ends up back on hard ground.
-------------------------------  
Another technical imperfection of the game. I did a lot of tweeking
there. Spent like 2 days just on that. Sometimes, if you really try
to inflict it, it might look like the ball is falling inside the hard 
ground but generaly, if you just play the game, you shouldn't be annoyed
with it. Truth is that collision detection with holes or lava is not
perfect so be carefull.

Are the moving life forms faster in 3rd and 4th world?
------------------------------------------------------
Yes. Slightly. For the challenge. Even more in the 4th world.

Do life forms have a wider track area in 3rd and 4th world?
-----------------------------------------------------------
Yes. By 7 pixels. For the same reason. Challenge.

I don't buy that switch concept. Nor the fact that Helions die
--------------------------------------------------------------      
by the touch of pikes.
---------------------- 
C'mon! Remember all that games which didn't even tried to explain the
numerous ilogicalities they had? Give me a break here. Not everything
has to be logical. It's a game. Some things must serve the purpose 
of gameplay, not just story.

Game is too fast.
-----------------
Well, slow it down inside the game options. Or when playing the
game press F2. I know the middle between slow and normal speed would
be perfect but I just can't do it currently. Game is playable on
both speeds. That's the most important to me.

Me and my mate are playing the Ball Blaze and ball won't come out
-----------------------------------------------------------------
from shoot-out hole. 
--------------------
There is a safety distance on which Helions must be away from shoot-out
hole in order for ball to be shoot-out back in the arena. Ball always 
has a primary shoot-out hole which is first checked for Helions proximity.
If the Helions are too near it then the second shoot-out hole is checked.
If both holes are blocked ball won't come out until one of Helions
moves away from one of the holes on the safe distance and in that
situation message "Please clear away." appears on the screen.
This is primary due coding issues. You see, while ball is coming out
from a shoot-out hole Helion musn't be there to push it back in.
It brings tons of problem. So I simply use this method to avoid that. 
And it has a gameplay purpose. This way no Helion can wait by the hole 
for the ball to come out and then use that as an advantage.
This "safety distance" method is used also on Helions when they
are being shoot-out.
Ah yes, life forms won't go too near shoot-out holes also because
they might block it and every time you are shoot-out from it life
form would kill you and the shoot-out loop would repeat in infinity.

Explain me how different type of grounds effect on the Helion.
--------------------------------------------------------------
Water, mud and such type of grounds reduce the Helion speed, 
some increase and some decrase friction while all of them reduce 
acceleration. The "normal" ground features different friction for 
each world. Generaly it's more difficult to manouver in water, 
mud and such type of "alternative" grounds(it's different for each
world).

How does the scoring system work?
---------------------------------
For each mineral you get 20 points. For each unloaded and almost full(red
color on the end of reservoir bar) or full reservoir you get 75 points.
For each finished level you get 50 points. Each finished world gets you
one extra life. If you want to be top in the high score you basicly have
to finish the entire quest from the begining without losing all lives.


4.0. Credits
============
Game idea, concept and design : Dean Janjic(a.k.a. Lachie Dazdarian)
Programming : Dean Janjic
Graphic : Dean Janjic
Level Design : Dean Janjic
Main Game Font : Dean Janjic (Yes, this time it's me. Wohoo!)
Original engine(scrolling) : R.E.Lope
Original ball collision routines : Glenn Stumpff
MIDI routines : QMIDI 4.1 by Jesse Dorland
MIDI files :
I found all the featured MIDI files on various obscure places
on the net. As far as I know MIDI sequencing was not credited in all
cases. I can't help there so just a note that MIDI files are NOT by me!

Paranoid Android - by Radiohead 
The War of the Worlds theme - Unknown author(tried to find it, failed) 
All that she wants - by Ace of Base 
Paradise - by Phil Collins 
Children - by Robert Miles 
Das Boot endtitle tune - by Klaus Doldinger
SDSN.MID(untitled) - Unknown author
PRIDE.MID(untitled) - Unknown author

Testers : Slave Unit Zero (my ultimate and most helpull tester), Andorid


Thanx to...
R.E.Lope for making RelLib and helping me in my starts.
BinarySHOCK for the encryption routines(very helpfull).
VPlanet staff for keeping the VPlanet alive.
Brendan Urquhart for maintaining qbasicnews.com and being a support.
Oracle for maintaining QB New Zealand(a great contribution to
QB community). Keep it up!
Glenn for making the ball collision routines and helping me with them.
Everyone who ever played my games, gave me feedback or sent support
emails(yes I got few of those... :P).
Everyone who ever helped me with something and the entire QB community 
for being there and keeping QB alive.

5.0. Designer blabing bout making this game
===========================================
When I released RFM I didn't included this section. Now,
I regret that. Luckily this time I have the time for it. 
Probably noone will read it but I need to make a closure.
After all that work I just want to write an overview. 

Phew! It's done. Took A LOT more time than I thought it will. Over 
a month. During this summer(summer of 2003.) Ball Blazing Fantasy
supposed just to be one of the things I'll do. From previous experiences
I knew I won't have time to finish anything else but I thought I will 
be able to re-release some of my older games, mostly fix the spelling 
and formating in instructions. I also wanted to draw few scenes for
the LONG and create a sophisticated routine for loading the scene
click boxes which would economize the code. Now, that probably won't
happen. The time I reserved for coding is just about expired and
I have to grab the books and study now. Despite sometimes I don't want 
to admit it, game desing is a distraction.

Somewhere on the end of the 6th month idea for Ball Blazing Fantasy 
poped in my head and I was nuts about it. It supposed to be somekind 
of Rock'n Roll clone. Player controls a ball in vibrant sourounding 
and doing stuff. Ball Blaze as a mode was immediately in the concept. 
I had an idea for that kind of soccer game before but never with balls 
as players so I thought it will be really cool.
Very soon I started working on it. I still had some exams so it was
going slowly. Main menu image came out better that I thought but
not like I imagined it originaly. Of course, it my head graphic is
allways shiny and beautiful. After I done my college obligations
I could completely dedicate myself to the project.

First I concentrated on Ball Blaze, completely disregarding The Quest
mode. Drawing the areans was going more slower that I thought although
the last two arenas came out very nice. All that random detailing was 
giving a result. Playing Ball Blaze gave a nice feel, with that 
niffty "SCORE!!" banner so I was happy. Coding that part wasn't too
demanding except for the ball collision part, which was mostly being 
solved in the very begining. Took a lot of time, but result was adequate.
It was a bit hard to implement Glenn's collision routines in a real game
with ball speeds higher than one pixel.

When I finished Ball Blaze I started working of The Quest. First steps
went really bad. Importing the scrolling was going fine but other
stuff was horrible. You see, the first idea was that the concept of
The Quest is to find and push to various exits your weakened Helion mates. 
This caused a lot of problems, since in that time I didn't tweeked the ball 
collision properly and ball to tile collision was unsolved. Also I needed 
to add bunch of subs and routines for uncontroled ball to ball collision. 
It all slowed down the game too much, acted wierd and gave me headaches.
I was very resignated at that point. Thought about giving up on the
project and just leaving the Ball Blaze in final version which made
me frustrated even more since I didn't wanted to waste the good design
and idea on a mini game.

Like a blessing, new idea for The Quest popped in my head. Mineral
gathering! That's great. Simple but fun. Originaly all levels supposed
to be narrow, verticaly or horizontaly but while designing the levels I 
realised this won't hold the water with larger number of levels so this
changed. I was very spirited with the new idea so very fast I made 
The Quest playable. Fixed the bugs, made the level map+data loading 
system, neccesary subs for NPC control and such. Some of it was
done while making the first world. Like pikes+switch control. Most of 
drawing of sprites and tiles and designing of levels came after that. 
It was a suprisingly slow process. Tiles for each world were drawed for 
like two days and I was able to design and input all the neccesary data 
for two levels per each day. I had to do all that manualy so I recommend 
you that you create a level designer when making a game with more than 15 
levels. Filled out more than 20 pages of paper with notes. Learn from my 
mistakes. That manual design and data inputing was really tedious and made 
me less motivated. I would probably write more code making something else. 
I was coding this part world by world. First I drawed the world graphic 
and then designed the levels. When a level required new code like for 
new types of NPCs I added it. I've mostly spent 6-7 hours coding per day 
and I probably should have coded more. But like I said, level
designing was tedios and it had an effect on me. While making the
last world I was dried out of ideas and I knew it was time to wrap it
up there, before making the game too repetitive. Making more worlds 
would require changeing or altering the original concept.
During creation of The Quest, I added stuff like password inputing and 
such. Can't remember when, but I know it was before I finished all the 
levels for The Quest. 

After the levels where done(phew!) I throwed myself on story and end 
quest animation desing. Had too hurry there a bit although I don't 
think I've done a bad job. Maybe it could have been a bit better, 
but what's the point in endless polishing? Added instructions and
rechecked the entire code. Fixed some mistakes. Now, on the very
end I had to add music routines on the blind. Before adding them
I was able to compile the source code so I had good expectations.
After adding the music the code was incompilable so I had to
split it(sigh). I've encountered the usually problems if not some
new, like lack of memory with compiled source code. You see I was
using a large Page(31999) variable(a really important one) in
both modules and it sucked up a lot of memory. It probably
wouldn't freez the game in Windows since Windows can emulate
conventional memory really nice(you say what you like but in
Windows, using shortcuts you can do nice stuff) but I couldn't
risk it. I was also unable to pass this Page variable from one module 
to another cause it had to be declared with more elements and it was 
used with VARSEG statement so it was fucking me up. Still I solved it
on the end by changeing some statements in the second module with SUBs 
I've placed in the first module. And that's it. Game is done.
It's larger(Kb size) than I thought. The Quest is not long 
enough as I wanted it to be, game could use some secret bonus 
levels and features like teleportation inside a level but still an 
admirable retro product. Anyway, I must leave something for the sequel. :)
It's not technicaly perfect, which bugs me a bit but what you gonna do?
Maybe not my best game but it sure introduces some stuff people never 
saw in my earlier works.           
And I must mention almost a week extra(mostly during the evenings) of 
bug fixing and polishing which is just a result of my deranged mind.
Man, I recompiled the game like 30 times. You see how sick I am.

Learned couple of things while making this game. From coding to game 
design in general. Now I know that starting a project is always fun, 
but finishing it rarely an enjoyement. If you want something that looks
NEARELY good you'll have to put substantial amount of effort in it. Yes 
it has good moments, when you finish some routine and it works great, and
on the very end when you check it all once more but mostly it's a hard
work that requires sacrifice. No matter how much you like game design.
At least that's how it is with me.

Took me more time that I thought, like I said before. Hope I'll have time 
to write that KENTAURI history page I wanted. I kinda lost myself in
my frantic production. Must really concentrate on LONG now. 

For this game I'm lowering my expectations to a minimum since I've
finally learned who is my audience and where my games fit. 
And who will not play them even if you torture him/her. :P
Anyway, I limited the quality and depth of this project on several 
places cause of my limited time, wish to release it this year and 
maybe even laziness.

New projects? Something with space ships. Why? Cause I can do
that graphic easily and with pleasure. Making RFM went so smooth
I don't remember making it. :P


6.0.Contact
===========
My email : lachie13@yahoo.com
KENTAURI website : www.kentauri.cjb.net

Feel free to email me about anything concerning my games and game design
in general. Comments, bug reports and such are welcomed. You can also 
visit the KENTAURI forum if you please.

---Lachie Dazdarian, 06.09.2003.









