As a matter of fact, some people maybe already know my TI-BASIC version of Othello, but I was fed up with the BASIC's limitations. So, as soon as I saw that Zeljko Juric had documented many TIOS functions, I started programming in C, and I don't regret it!
- A game between two humans, or human-89, or 89-89.
- Many different and progressive thinking levels:
- Stupid: reflection is totally random!
- Bad: reflection 0.2 second long.
- Novice: reflection 0.5 second long.
- Medium: reflection 1 second long.
- Correct: reflection 2 seconds long.
- Good: reflection 5 seconds long.
- Strong: reflection 15 seconds long.
- Expert: reflection 30 seconds long.
The reflection engine is adapted from THOR 3.4, an Othello game by Sylvain Quin. Even though it examines fewer positions than my old engine (it looked more than 2500 positions per second in the midgame compared to 500 now), it is quite strong, and reflection level is only determined by the timer. I have to admit that it was hard for me to abandon the engine I had been working on for almost a year, but I couldn't manage to make it really strong. I will maybe re-work on it in a future release.
- Opening library, presently 256 lines for more than 4 000 moves.
- Possibility to take as many moves as you want, and also to undo you take backs.
- Possibility to have some sound, if you have a buzzer.
- Automatic game saving when quitting.
Othello creates a little hidden variable in main folder, called oth2sav, storing the program's options and the saved game.
- A "teacher key".
|
Othello is strategy game for two players (blacks and whites), who place alternatively a disc of their color on an 8x8 board. Blacks begin.
The goal is to have at the end of the game (when the board is full or that no player has a valid move), more discs of your color than your opponent. If both players have the same number of discs at the end, they are declared tie.
To capture discs, you must place your disc so opponent discs are placed between this one and other of your discs (it can be done on a row, a column or a diagonal). These discs will be captured and will become yours (they change color).
You can place only one disc at each turn, and this disc has to capture at least one of your opponent's.
A dot one the top left corner of a case tells you if you can play in this case (except if you disabled the markings).
If you don't have a valid move to play, the calculator will warn you that you must pass your turn.
When the 89 is thinking, a horizontal line at the bottom of a case indicates what was the last move.
To have a more precise outline of this game and of its stategy, read this introduction to Othello.
|
v2.53 - 04/02/04 - 19 404 octets (42 KB uncompressed)
- Now distributed under the GPL license!
- Compilation with TI-GCC 0.95b6.
- New presentation for the documentation.
- TI-89 Titanium supported!
v2.5 - 12/05/01 - 19 335 bytes (42 KB uncompressed)
- Possibility to have some sound (I've auto-pirated Flib's source ;-), but it's still not perfect, especially on HW2 (due to gray levels).
- Speeded up the graphical part (you can see it in stupid-stupid games), notably by programming myself some sprite functions.
- Solved all the message problems, mostly when you took your move back when the game was finished (Liquid wins the dollar).
- Fixed the game loading, changed the save format for more security.
- The contrast can now be changed at any moment with the parenthesis keys.
- Finaly, several details that will remain unnoticed...
Anniversary.3 Release - 23-04-01 - 18 635 bytes (41 KB uncompressed)
- Fixed all the keyboard problems : it was the timer interrupt (and not even the timers themselves, it's so vicious) who was interfering with my keyboard routine. Well, now I don't use timers any more, except during the reflection : disc rotation speed and APD (now fixed to about 3 minutes) are now adjusted manually.
- Fixed a few 'bounce' problems with the ESC key.
Anniversary.2 Release - 15-03-01 - 18 632 bytes (41 KB uncompressed)
- I totally re-wrote the keyboard sub-routines, so I could disable all the unnecessary interrupts and speed up the engine by 15 %. Moreover, I find the keyboard more responsive and agreeable now.
- CLEAR is now again usable during reflection.
- There was ONE bug, and I found it: in some cases, the move back didn't work right in human/ti mode, it's fixed now.
- Fixed all the keyboard problems for the 92+ version, but it still has a 89 interface.
- Added an introduction to Othello. by Emmanuel Lazard.
- Compiled using the new beta-release of TI-GCC.
Anniversary.1 Release - 02-27-01 - 18 779 bytes (42 KB uncompressed)
- Now, the calculator picks up a random opening instead of playing always the same way.
- Slightly changed the reflection's coefficients (they will be personalisable in next release).
- The calculator disps a message when it is certain to win.
- The nod counter now displays in round figures (more aesthetic) and counts correctly the nods in the endgame.
- A few fixes : corrected use of key '+', the calculator now underlines properly the last move, and one or to more details.
- I renew the prize of 1$ for the first person who'll notice me of the least little bug...
Anniversary Release - 02-15-01 - 18 520 bytes (34 KB uncompressed)
- This day last year, I released the first version of Othello II ! This new version is here to celebrate this anniversary.
- Now use of opening books, presently 256 lines for more than 4 000 moves.
- I've adapted a more recent reflection engine of THOR, release 3.4, sent to me by its author Sylvain Quin.
- Now in nostub mode, and the program is compressed using the Exepack technology of the TIGCC Tool Suite, thanks to Thomas Nussbaumer and Marco Lopez.
- Suppor
t of new flicker-less gray levels for HW2.
- Nice introduction picture, thanks to TATMF.
- Possibility to undo a take-back, and correction of the take-back option, possibility to take back even when the game is finished.
- A few other little things, I
- David Teitlebaum wins 1 $ for being the first (and the only) person to report a potential bug in release 2.1...
v2.1 - 01-27-01 - 23 415 bytes
- I've corrected all the little forgettings and bugs of the previous release, I'm ready to give 1$ (!) to the first one who finds the least little bug !
- I've decreased the thinking time to make the reflection level reasonable, and you can now access to statistics of the Ti's reflection by pressing F1.
- And finally, I'm proud to present the source code, very neat I think.
v2.1 beta - 01-27-01 - 23 739 bytes
- Finally ! I've passed to version 2.1, even though the version 2.0 never reached its final stage.
- I've totally re-written the source code, to make it cleaner, reduce size of the program, and above all to make it very easily adaptable to any platform.
- I've adapted the reflection engine of THOR 2.1, an Othello program by Sylvain Quin; the program is now very strong, and the thinking time is only determined by the timer. There is no looser mode any more.
- But since the source is still a little limping and still minor problems are left, a more finished version is soon to arrive. So I haven't included the source in this release, the previous one can be found on my web page.
v2.0 b4 - 10-21-00 - 17 323 bytes
Now that the interface is correct, I've worked a little on the reflection engine : 30% faster. So I've added a harder level, and changed the names of the other.
v2.0 b3 - 10-01-00 - 17 620 bytes
I've recompiled the program with the new release of Zeljko Juric's libraries, so the gray levels should less flicker on HW2. I've also modified the reflection's coefficients, and now APPS does the same thing as ENTER, so you don't have to stretch you fingers any more.
v2.0 b2 - 09-20-00 - 17 205 bytes
I've corrected all the little bugs and forgettings of the previous release.
v2.0 b1 - 07-17-00 - 16 913 bytes
Finally ! It was a long time since I wished to change the interface, and it is only at the release of Ti-Chess 3.01 - when I saw their terrific graphics - that I found the courage to start the work. So I have totally re-drawn the interface, and integrated gray levels everywhere.
The previous release was incompatible with ROM 2.04 and 2.05, I discovered that a TIOS function (for the timers, to be precise), had been changed, so I had to reprogram all the keyboard sub-routines; there is no more auto-repeat, but apd is enabled, and the CLEAR key is available everywhere.
Finally, I corrected an old bug in the take-back function, and I translated the whole documentation in html.
v1.47 - 07-24-00 - 13 769 bytes
I added a counter of the number of moves examined by the 89. It is refreshed during the reflection, as well as 'eval'.
Added a 92+ version.
v1.45 - 06-10-00 - 13 389 bytes
You can now go as many moves back as you want, the reflection is slightly improved and well speeded up, and I've cleaned and separated the source in several files, thanks to TI-GCC's IDE.
v1.4 - 04-09-00 - 13 037 bytes
It's finally beginning to look like what I had imagined when I started this program : I've added gray levels in the (new) starting menu, several options, an info page, speeded up the engine and cleaned my source so people who are interested can look at it.
v1.32 - 03-25-00 - 11 890 bytes
I hadn't looked at my program for several days because I was programming flib. Anyway, I felt worried because I knew Othello II was still buggy, but I understood where the error was while doing Flib. Consequence: a smaller program who works with all existing kernels, and who never crashes !
v1.31 - 03-11-00 - 12 325 bytes
I have finally found the stupid bug that caused my game to crash often at the beginning! Sorry for all those who had to reset when testing release 1.3 :-(
v1.3 - 03-08-00 - 12 476 bytes
Doors mode, two minor bugs fixed, pretty reflection bar, reflection made much better with mobility, English translation, a few general improvements.
v1.2 - 02-20-00 - 12 383 bytes
Possibility to load a saved game, a starting menu much prettier with rotating discs, many general improvements.
v1.1 - 02-17-00 - 11 387 bytes
Most functionalities are now finished, but the starting menu is still quite dirty.
v1.0 - 02-15-00 - 9 541 bytes
My first program in C, one week of fierce work for a very passable result :-)
|