475811c6e9
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3817 a1c6a512-1295-4272-9138-f99709370657
163 lines
5.8 KiB
Text
163 lines
5.8 KiB
Text
Introduction to Othelo
|
|
======================
|
|
|
|
Othelo is based on a popular board game. This is by no means the first
|
|
computer port of this game - the most famous port I can name was "Reversi".
|
|
|
|
The objective is to 'capture' more squares of the board than your opponent.
|
|
|
|
Each turn you claim a single, previously unclaimed, square of the board. But
|
|
EVERY move MUST result in the taking of at least one of your opponents
|
|
squares.
|
|
|
|
An opponents square may be captured by placing your pieces either side of it.
|
|
Either vertically, horizontally or diagonally.
|
|
|
|
The rules are mind-numbingly simple ...but, like Chess, the strategy for
|
|
regular success is far from obvious.
|
|
|
|
Further guidance on playing can be found at:
|
|
http://home.nc.rr.com/othello/strategy/midgame/
|
|
...although I would like to add that all of the AI Bots (Computer opponents)
|
|
(currently three thereof) were written by yours truly without reference to
|
|
these type of guides.
|
|
|
|
|
|
Controls
|
|
========
|
|
|
|
Othelo can be found under games->othelo from the Rockbox main menu.
|
|
|
|
At any time during play:
|
|
F1 will change the player and dreamer for the BLACK opponent
|
|
F2 will change the player and dreamer for the WHITE opponent
|
|
F3 will terminate the current game
|
|
OFF will switch off the Othelo game. When Othelo is restarted from the menu,
|
|
play will start with a new board.
|
|
ON will suspend the current Othelo game. When Othelo is restarted from the
|
|
menu, play will continue from where it left off.
|
|
|
|
Either player may be a Human or Computer, and this may be changed at any time
|
|
during play with F1 and F2. The current choice is indicated by an H or C
|
|
above the respective F1 and F2 buttons on the Jukebox.
|
|
|
|
|
|
Computer Advice
|
|
===============
|
|
|
|
When a Human is playing, he may select any of the AI Bots to offer advice (it
|
|
is described as the Computer "dreaming" for you).
|
|
|
|
The default advice/help level is 0 (zero) ...no advice
|
|
Bot 1 help will simply highlight all possible valid moves
|
|
Bot 2 will advise you which moves would steal the most pieces per turn
|
|
Bot 3 will offer even deeper insights about strategic positioning
|
|
Bot 4 hasn't been written yet ...watch this space
|
|
|
|
In each case a 'valid' move is displayed as a dot in the centre of the square
|
|
and a 'choice' move is highlighted with a cross.
|
|
|
|
|
|
AI Opponents
|
|
===========
|
|
|
|
There are currently three AI opponents C-1, C-2 and C-3 respectively. Each
|
|
has it's own style of play. Losing against one of the opponents does not
|
|
necessarily mean that you will lose against another.
|
|
|
|
It can be interesting to set both opponents to Computer mode and watch them
|
|
play against each other.
|
|
|
|
|
|
Navigation
|
|
==========
|
|
|
|
During the turn of a Human, the up, down, left and right cursor keys navigate
|
|
the board highlight in a suspiciously expected manner the chosen square. When
|
|
the cursor is highlighting the square you wish to play in, press PLAY. If you
|
|
have chosen an invalid move, the board will flash and you will be expected to
|
|
try again.
|
|
|
|
Button repeat _is_ enabled for navigation.
|
|
|
|
The AI opponents will pause slightly before making their move, to allow you to
|
|
see the result of your move. If you wish to force the Computer opponent to
|
|
wait longer before playing, you may keep PLAY depressed ("keep your finger on
|
|
the piece you just played") and the Computer will make his move immediately
|
|
you remove your finger from the keypad.
|
|
|
|
|
|
Display
|
|
=======
|
|
|
|
The main board is that great big grid thing taking up most of the screen.
|
|
|
|
Above F1 and F2, on the bottom line of the screen, is the identity of each
|
|
player. Such as:
|
|
"O:C-1" ...this means that, the player represented by the "O" graphic is a
|
|
[C]omputer and is controlled by AI Bot #1
|
|
"O:H-2" ...this means that, the player represented by the "O" graphic is a
|
|
[H]uman player, and has AI Bot #0 dreaming for him
|
|
etc.
|
|
|
|
The scores are shown toward the bottom right of the screen and the current
|
|
player has a small arrow (->) next to his name, indicating that he should
|
|
hurry up and actually make a move, today preferably ...although if the music
|
|
does run out, you can always use the ON button to suspend the game while you
|
|
go and queue up some more :)
|
|
|
|
During play the rest of the screen (the big lump on the right at the top) will
|
|
show a pointless graphic to make the screen look pretty. When the game is
|
|
quit or finished naturally, this area will display the identity of the winner,
|
|
and a secret "end of play" message.
|
|
|
|
|
|
Source Code
|
|
===========
|
|
|
|
The source code is scruffy, but well documented.
|
|
|
|
|
|
Future Development
|
|
==================
|
|
|
|
Better AI Bots. A perfect AI Bot is easy and you can add tolerances to it
|
|
from there (to dumb it down a bit) ...the dilemma is the vast quantity of RAM
|
|
required to run it. So the Bots really need to be strategy and not logic
|
|
based.
|
|
|
|
Remote control support. Save wear and tear on your Jukebox keys - that really
|
|
weren't designed with games players in mind.
|
|
|
|
Tidy code to conform to whatever complaints I get about it.
|
|
|
|
|
|
Coding standards, bugs'n'stuff
|
|
==============================
|
|
|
|
Remember, if you don't like the code ...throw it away and never look at it
|
|
again! ...Please do not tell me, I don't care. Any complaint requiring a
|
|
response should be written on the back of notes valued at five thousand shiny
|
|
new pennies of the British realm.
|
|
|
|
On the other hand, I love getting compliments, I am pleased to hear about bugs
|
|
I can fix - although they don't tend to happen too often in my code ...go on
|
|
then find one! If you can think of any clever short cuts I have missed or
|
|
fancy your hand at writing the next AI Bot - gimme a shout and I will explain
|
|
all there is to know about possibility lists, and perhaps even answer such
|
|
questions as "why is there only one equals sign in this IF statement" and "why
|
|
are there lines of code with question marks in them"
|
|
|
|
|
|
Greetz
|
|
======
|
|
|
|
mk, pajaco, Hardeep, DevZer0, jzoss, LinusN
|
|
|
|
|
|
Author
|
|
======
|
|
|
|
BlueChip
|
|
Yep, the lot - and right chuffed with miself too :)
|
|
|