summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/othelo.txt163
1 files changed, 163 insertions, 0 deletions
diff --git a/apps/plugins/othelo.txt b/apps/plugins/othelo.txt
new file mode 100644
index 0000000000..bf82e05eb9
--- /dev/null
+++ b/apps/plugins/othelo.txt
@@ -0,0 +1,163 @@
1Introduction to Othelo
2======================
3
4Othelo is based on a popular board game. This is by no means the first
5computer port of this game - the most famous port I can name was "Reversi".
6
7The objective is to 'capture' more squares of the board than your opponent.
8
9Each turn you claim a single, previously unclaimed, square of the board. But
10EVERY move MUST result in the taking of at least one of your opponents
11squares.
12
13An opponents square may be captured by placing your pieces either side of it.
14Either vertically, horizontally or diagonally.
15
16The rules are mind-numbingly simple ...but, like Chess, the strategy for
17regular success is far from obvious.
18
19Further guidance on playing can be found at:
20http://home.nc.rr.com/othello/strategy/midgame/
21...although I would like to add that all of the AI Bots (Computer opponents)
22(currently three thereof) were written by yours truly without reference to
23these type of guides.
24
25
26Controls
27========
28
29Othelo can be found under games->othelo from the Rockbox main menu.
30
31At any time during play:
32F1 will change the player and dreamer for the BLACK opponent
33F2 will change the player and dreamer for the WHITE opponent
34F3 will terminate the current game
35OFF will switch off the Othelo game. When Othelo is restarted from the menu,
36 play will start with a new board.
37ON will suspend the current Othelo game. When Othelo is restarted from the
38 menu, play will continue from where it left off.
39
40Either player may be a Human or Computer, and this may be changed at any time
41during play with F1 and F2. The current choice is indicated by an H or C
42above the respective F1 and F2 buttons on the Jukebox.
43
44
45Computer Advice
46===============
47
48When a Human is playing, he may select any of the AI Bots to offer advice (it
49is described as the Computer "dreaming" for you).
50
51The default advice/help level is 0 (zero) ...no advice
52Bot 1 help will simply highlight all possible valid moves
53Bot 2 will advise you which moves would steal the most pieces per turn
54Bot 3 will offer even deeper insights about strategic positioning
55Bot 4 hasn't been written yet ...watch this space
56
57In each case a 'valid' move is displayed as a dot in the centre of the square
58and a 'choice' move is highlighted with a cross.
59
60
61AI Opponents
62===========
63
64There are currently three AI opponents C-1, C-2 and C-3 respectively. Each
65has it's own style of play. Losing against one of the opponents does not
66necessarily mean that you will lose against another.
67
68It can be interesting to set both opponents to Computer mode and watch them
69play against each other.
70
71
72Navigation
73==========
74
75During the turn of a Human, the up, down, left and right cursor keys navigate
76the board highlight in a suspiciously expected manner the chosen square. When
77the cursor is highlighting the square you wish to play in, press PLAY. If you
78have chosen an invalid move, the board will flash and you will be expected to
79try again.
80
81Button repeat _is_ enabled for navigation.
82
83The AI opponents will pause slightly before making their move, to allow you to
84see the result of your move. If you wish to force the Computer opponent to
85wait longer before playing, you may keep PLAY depressed ("keep your finger on
86the piece you just played") and the Computer will make his move immediately
87you remove your finger from the keypad.
88
89
90Display
91=======
92
93The main board is that great big grid thing taking up most of the screen.
94
95Above F1 and F2, on the bottom line of the screen, is the identity of each
96player. Such as:
97"O:C-1" ...this means that, the player represented by the "O" graphic is a
98 [C]omputer and is controlled by AI Bot #1
99"O:H-2" ...this means that, the player represented by the "O" graphic is a
100 [H]uman player, and has AI Bot #0 dreaming for him
101etc.
102
103The scores are shown toward the bottom right of the screen and the current
104player has a small arrow (->) next to his name, indicating that he should
105hurry up and actually make a move, today preferably ...although if the music
106does run out, you can always use the ON button to suspend the game while you
107go and queue up some more :)
108
109During play the rest of the screen (the big lump on the right at the top) will
110show a pointless graphic to make the screen look pretty. When the game is
111quit or finished naturally, this area will display the identity of the winner,
112and a secret "end of play" message.
113
114
115Source Code
116===========
117
118The source code is scruffy, but well documented.
119
120
121Future Development
122==================
123
124Better AI Bots. A perfect AI Bot is easy and you can add tolerances to it
125from there (to dumb it down a bit) ...the dilemma is the vast quantity of RAM
126required to run it. So the Bots really need to be strategy and not logic
127based.
128
129Remote control support. Save wear and tear on your Jukebox keys - that really
130weren't designed with games players in mind.
131
132Tidy code to conform to whatever complaints I get about it.
133
134
135Coding standards, bugs'n'stuff
136==============================
137
138Remember, if you don't like the code ...throw it away and never look at it
139again! ...Please do not tell me, I don't care. Any complaint requiring a
140response should be written on the back of notes valued at five thousand shiny
141new pennies of the British realm.
142
143On the other hand, I love getting compliments, I am pleased to hear about bugs
144I can fix - although they don't tend to happen too often in my code ...go on
145then find one! If you can think of any clever short cuts I have missed or
146fancy your hand at writing the next AI Bot - gimme a shout and I will explain
147all there is to know about possibility lists, and perhaps even answer such
148questions as "why is there only one equals sign in this IF statement" and "why
149are there lines of code with question marks in them"
150
151
152Greetz
153======
154
155mk, pajaco, Hardeep, DevZer0, jzoss, LinusN
156
157
158Author
159======
160
161BlueChip
162Yep, the lot - and right chuffed with miself too :)
163