MM Reversi 1.0 (since 2004) and 1.1, 1.21 (since 2011)
Here you can test/play the older version 1.0 online (Java/Applet enabled?!)
Takes some time to load Applet and perhaps to install SUN plugin...
Do you search for a quick and strong Java Phone Reversi Version (which works on Android too, see below)?!
Here you can find my English-Version 1.0 (Deutsche/German Version hier). The new English touchscreen version 1.1 (2011) you can find here. And here is the latest version 1.2 (2011) with opening book, opening names, complete undo- function, correct start position a.s.o. (see description).
It works on Android phones or tablets too, look here on my Samsung Galaxy S5570 and Galaxy Tab with Android 2.2 (all you need is the free phoneME software, (c) by Sun Microsystems, Inc., now Oracle - for example look here):
The newer version 1.21 contains the same game engine i wrote in 2004. It only has more functionality, touchscreen support, supports screen rotation, has a small opening book (so is perhaps a little bit stronger;-)). Now it's available at Nokias ovi store too (works for all phone types, S40, S60, Symbian 3 a.s.o.).
It beats all the other Phone Java Reversi programs, like A-Reversi 1.1.8, Ultimate Reversi 1.1.0, simatro Reversi 1.0, ReverseIT 1.0, manastone Othello 1.0.4, jtReversi 0.87.00, Deep Pocket Reversi 2.2.3, ... (and compiled Symbian OS Versions too, like HandyReversi or Red & Blue). These games are older, i tested it in 2004. Today (2011) you can get many other and stronger Reversi games for different platforms (but often much bigger size). I think it's one of the smallest but stronger programs which works on nearly every device or platform, independend of manufacturer.
This Version works on every Java Phone with 200 KByte Heapmemory (64 KByte linear accessible, older Siemens Phones not), like Nokia 6610, 7250, 6610i, 7250i, 3650, 3660, 7650, 6230, Sony T610/T630 and many many other... But not only on Phones, Palm, PocketPC and PC with emulator too (read this page). It has six levels, last two levels need a quick Java Virtual Machine (for example 6230, 3650, 3660, 7650, K700i or K500i).
At the moment (DEC 2004) the quickest phones for MM Reversi are the Sony-Ericsson K700i or K500i (cheaper version) - in comparison with Nokia 6230 (7650, 3650, 3660 are a little bit slower) it works with double speed and bigger screensize!
For example Nokia's 7210, 6610(i), 7250(i) or Sony's T610, T630 are nearly 8-times slower than 6230 and 15-times slower than Sony K500/700i (by the way, if your K500i firmware/java has a screen- refresh problem choose 128x129 for screen- resolution: MM Reversi -> More -> Screen -> Userdefined -> 128,129).
For example you will find the complete version at www.handango.com too and some further information.
Look at these screenshots:
You can use a PocketPC or Palm (ARM Processor for IBM's WebSphere VM) with a JVM (Java Virtual Machine) which is able to run .jar files too - look at the screenshots of my Asus PocketPC and PalmOne Zire 31:
I'm using IBM's WebSphere JVM (once again you can find at IBM's site) - it perfectly works on my Palm and PocketPC. Registration is necessary and after download and installation you can copy the .cab file to your PocketPC or the .prc file to your Palm (look in your installation directory). Copy the MMReversi.jar file to your device and start it!
Some Mobilephone links:
www.handango.com, www.clickgamer.com, www.mobile2day.de (German site), www.smartsam.de (German site), or use Google.com to search for "MM Reversi".
games.handango.com (PocketPC Version)
games.handango.com (Palm Version)
Last but not least a short personal info to this Game:
This was my first program for Phones. It took three weeks to create it (beneath my normal work) and i think it plays well enough (i'm no expert for this game, but i like it). I used Java because i have a Nokia 6230 and all the other Java Phone Reversi programs were poor or much to slow (the 6230 is quick enough to play all levels in acceptable time). Java is very portable (this was my reason to use it), but much slower than C++ (perhaps 20 times, it's only interpreted). For example if a move takes 20 seconds, nearly same C++ code perhaps only takes 1 second - have it in mind when playing. If i have some time i will increase its strongness, there's much more possible without increasing calculation time! At the moment highest level only looks 4 moves ahead (11 for perfect endgame), but i'm able to double it. I think much more isn't necessary - then it will beat 99% of the real Othello Players and perhaps 90% of other AI Reversi's;-)! The algorithms and datastructures of this program are very compact and efficient, for example it uses 4 Bits of an Byte Array as index to an edgetable with 16 different values - the other Bits for mobility or other things (altogehter 130 KByte Heapmemory + 70 KByte for Java environment - not much and the only condition for phones/devices). Edgetable, Mobility, Stonedifference and other game- relevant information are pre- calculated before drawing the board - one request during the game gives answer to these information. The board description is not an Array, it uses horizontal, vertical and diagonal information, one integer as mask with a bit for black/white/blank to describe it. This integer/mask is used as index to directly get the game- relevant information. By the way it's not necessary to allocate a new board for each test- move, it completely works in situ (same board during recursion/move) - the information if there is a possible move and how many stones are invertible is pre- calculated too. At the moment it always calculates the complete game tree, not very efficient i think. Next time i will change my evaluation function (it's very special and some little parts only work for complete trees), because then it's possible to use a kind of alpha- beta search with nearly double searchdepth (now it only works for the endgame, 11 moves ahead). It's just a question of my time...
Have in mind that this program should work on nearly every (small and restricted) mobile phone, so some things are a little bit more difficult to do - it's not a Windows PC with 512 MB and 2.4 GHz;-)!
Feel free to tell me your opinion or your suggestion, my email: MatthiasMetzger@gmx.de