\documentclass[11pt,a4paper]{article}

\usepackage[latin1]{inputenc}
%\usepackage[ansinew]{inputenc}  %windows
%\usepackage[T1]{fontenc}

\begin{document}
\title{Block Attack - Rise of the Blocks 1.4.1 - The Manual}
\author{Poul Sander}
\maketitle
\tableofcontents
\section{General}
Block Attack - Rise of the Blocks is inspired by Nintendo's
"Tetris Attack". However it doesn't have much in common with the
original "Tetris". In Block Attack - Rise of the Blocks bricks
come from the bottom of the screen, and you need to clear them. If
the stack reaches the top of the screen the game is over! There
are other features in 2-player mode. The game also supports network play 
if it is compiled with the game.
\subsection{About Block Attack - Rise of the Blocks}
Block Attack - Rise of the Blocks is programmed in C++ by me (Poul
Sander) and it is given under the GPL licens version 2 or later. I have tried to keep
it as portable as possible by using cross-platform libraries. It
uses the following libraries:
\begin{description}
\item[SDL] from: \newline www.libsdl.org \item[SDL\_Mixer] from:
\newline http://www.libsdl.org/projects/SDL\_mixer \item[SFont]
from: \newline http://www.linux-games.com/sfont/ \item[SDL\_image]
from: \newline http://www.libsdl.org/projects/SDL\_image/
\item[enet] from: \newline http://enet.bespin.org
\end{description}
For development have been used Dev-C++, Microsoft Visual Studio
2003, gedit, Kdevelop and NetBeans (changed as time passed). Most of the current graphics are made in Inkscape. The
game has been compiled on both Windows and Linux. \newline The
game's homepage is:
\verb+http://blockattack.net+
\section{Setup}
The game got lots of options, this section will give an overview.
\subsection{Installation}
Installing Block Attack - Rise of the Blocks is easy, in windows
you simply run the installer "BlockAttackWin32-X.X.X.exe" file and
choose a location you want to install to. Under Linux systems you
can get a precompiled package including source. On some systems
you may have to recompile. There are two options for compiling. You can use \verb+make+ on the svn checkout/source package.\newline Or you could use \verb+scons+ by typing \verb+scons+ as a normal user and then \verb+scons install+ as root however it is currently broken for unknown reason. \newline 

%to do this type \verb+make+ while in the source dictory (there the cpp files are). To install the game in Linux type \verb+make install+, you can change the \verb+Makefile+ for dictory placements. \verb+make remove+ removes the game again. Both \verb+make install+ and \verb+make remove+ must be runned as root. \newline
Scons should be used for packing there game data and executables should be in different places. 
\subsection{Program Parameters}
There are a small number of parameters you can use, to change some
things in the game. This doesn't work if the game is installed on a Linux system with the standard install command. Many of these options are not really usefull after version 1.1.1
\begin{description}
\item["-help"] Displays a list over all the commands.
\item["-priority"] This will remove a delay in the game loop
causing the game to take 100\% processor power even on strong
systems, but it will also increase the framerate.
\item["-forceredraw"] This will force the game to draw the entire
screen every frame, this might remove garbage in the graphics, but
it will also cause the frame rate to drop. \item["-forcepartdraw"]
The game will only update the parts of the screen that has been
changed, increasing frame rate by more than 50\% (sometimes 200\%).
This is default in windowed mode.
\item["-nosound"] Disables any sound in the game. On some systems the sound could crash the game.
\end{description}
\subsection{Options}
From version 1.1.1 the Options have been split in three.
\subsubsection{Configure}
This used to be the only options in the game.
By selecting options in the menu in the game, you get to the
options screen. Here you can turn music on/off, sound effects
on/off and full screen on/off, but you can't change the
resolution although a button is provided, this functionality has
been removed to reduce size, also the frame rate dropped
significantly.

You can also change names and controls. The default controls for
player 1 is: move: the arrow keys, Right shift to push lines and
Right  to switch blocks.

The default controls for player to is: move: WASD, lift shift to
push and left control to switch.

Mouse play and Joy pad support can be enabled under "Keys", the game
will use the first two joy pads connected to the computer.

The mouse and joypad controls can't be configured. Left click
switch the two blocks there the cursor is placed. Right click
pushes the stack. On the joypads the first 6 buttons is used, half
to switch and half to push.

You can also change the names in options, the names can be a
maximum of 15 characters and will be saved in the options.dat
file. Remember to change names before you start the game, or the
wrong names will be entered in the high score list.
\subsubsection{Puzzle File}
All puzzles in the game is loaded from a file in the \verb+res+ folder. The default puzzles are in \verb+puzzle.levels+ but in this menu you can selct any of the files in the \verb+res+ folder.
\subsubsection{Vs. Mode}
Here you can select speed for player 1 and player 2 in a local game, there are 5 levels (default = 1). You can also specify if an AI must play for one or both of the players. It is possible to let an AI play against another AI if you want. On this screen you can also give players handicap in "Time Trial", again there are five levels (0,1000,2000,3000,4000) default is level 1 = 0 point. The handicap is added to the players score, making it easier for that player\footnote{The highscore list shows scores without handicap}. \newline
No options on this page is saved when the game quits and they are only valid for 2 player games on the local machine.
\subsection{Files}
The game is saving data into several data files. High scores are
saved in \verb+endless.dat+ and \verb+timetrial.dat+ depending on
game type. Options (Player names and keys etc.) are saved in
\verb+options.dat+. Finally information about witch stages has
been cleared in Stage Clear is saved to \verb+stageClear.SCsave+ and
default Puzzle Clear in \verb+puzzleClear.save+, other puzzles are stored in \verb+<puzzleName>.save+. Under Windows NT/2k/xp/2k3 the files was saved in \verb+%APPDATA%\.gamesaves\blockattack\+, but since version 1.3.2 it is saved in \verb+My DocumentsMy Games\blockattack+. In Linux the files should
be saved to \verb+~/.gamesaves/blockattack/+. If this folder
doesn't exist it will be created. Then you get a new version you
should delete the old \verb+puzzleClear.save+ file, or  wired
things might happen (but nothing critical). Under Windows screenshots are saved to the game dictory and under Linux to \newline \verb+~/.gamesaves/blockattack/screenshots/+. The replays are saved to either \verb+%APPDATA%\.gamesaves\blockattack\replays+ or \\ \verb+~/.gamesaves/blockattack/replays/+ depending on the OS.
\section{The Game}
Block Attack - Rise of the Blocks has several playing modes, but
some objectives are always present. Blocks keep coming slowly from
the bottom of the screen, and you have to clear them. You clear
blocks by putting 3 or more blocks i line. The more blocks you put
in line the more points you will get, this is called combos. Then
blocks are cleared the blocks above them will fall down, if they
cause more blocks to be cleared, you will perform a chain reaction
and get lots of points. You know that you are making chains then small numbers apper at the blocks you are clearing.
\subsection{How to start}
You can select game modes from the menu, by selecting "New Game"
and your choice. You can also press F2 for endless, F3 for Time
Trial, F4 for 2-player Time Trial, F5 for Stage Clear, F6 for two
Player VS. Mode, F7 for Puzzle Mode or F8 for "Highscores".
\subsection{Gamemode: Endless}
In endless you keep clearing until you hit the roof (or you simply
don't have more time) The top ten scores will get there name on
the Endless high score list.
\subsection{Gamemode: Time Trial}
Like endless, but this time you have a two minute limit to gain
points. If you hit the roof your game is over, and you won't get
your name on the highscore list. If you survive the two minutes
and you get a top score, your name will be automatically entered
in the Time Trial highscore list. A top ten score in Time Trial is
considered better than a top ten score in Endless, since it's not
just about how long you are willing to play. \newline
\textbf{Tip:} To get many points in two minutes you need to make
combos and chains. Chains are much better than combos... remember
it!
\subsection{Gamemode: Stage Clear}
In stage clear the goal is to clear a number of lines. Then you
select "Stage Clear" you will get a screen where you can choose a
level to play. Speed and number of lines to clear will vary
depending on your level choice. Then you have cleared the number
of lines required, you win and the level is cleared.
\subsection{Gamemode: Puzzle Clear}
In Puzzle Clear you have a limited number of moves to clear the
entire screen. There are no time limit (but the timer graphics
might be corrupted if you take more than 100 minutes). You can
reset the puzzle by pressing the Push Line key. You can't raise
the block stack in this mode.
\subsection{Gamemode: Vs. Mode}
This game is unlike the others, since in this game you actually attacks! You can select the AI controlled players difficulty (1..7). You attack by clearing more than 3 blocks at a time or by making chain reactions. The AI doesn't give much challenge yet.
\subsection{Gamemode: Two-player Time Trial}
Like single-player Time Trial, but this time there is two players.
If you hit the roof, the other player is instantly declared as the
winner. If the time runs out the Player whit the highest score
will be the winner. If anyone has got a top ten score, they will
automatically be entered in the Time Trial Highscore list.
\subsection{Gamemode: Two-player Vs. Mode}
This is the real "Block Attack". Then you clear 4 or more blocks
at once or then you make chains you are sending "garbage blocks"
to your opponent. But opponent is also sending "garbage blocks" at
you. You can clear garbage blocks by clearing normal blocks that
are touching the garbage. If a single garbage block takes up more
than one line only the lowest line will be cleared. Keep clearing
garbage and send garbage at your opponent. If you is still alive
then your opponent hits the roof, you win! If you hit the roof you
loose. There is no time limit in this game.
\subsection{Gamemode: Network Vs. Mode}
Identical to the other Vs. modes but this time over a network. Network play might not be supported in all builds.
\newline To host a server select "Host", to connect to a server select "Connect" and enter the name or IP address of the server.
Windows and Linux uses can play against each other but some operating systems might not be able to play together. If you find an OS that can play with Windows or Linux I would like to hear.

\section{Replays}
The game supports Replays of matches. After you have played a game you can go to the Replay-menu and select "Save" and then enter a name. You can then at any time select "Load" and see it again. The first version of the replay system does only support up to 5 minutes and can't save both players in network games. \newline
The second version used in 1.3.2 can save the replays so they take up less space. But 1.3.2 and newer can only load player one from old replays. \newline
The third version used in 1.4.0 saves additional information in replays. Version 1.4.0 are not able to read replays from old versions.
\end{document}
