Othello Master 0.7.8
Othello Master project is a 3-D Othello (Reversi) gaming environment.
Othello Master is a sophisticated 3-D game engine for the game of Othello. It boasts many viewing angles, various strategies and levels of difficulty, research capabilities, and automation options.
Here are some key features of "Othello Master":
· Allow an Othello game to be played by the predefined rules and deal with all exceptions.
· Allow the inclusion of extra features such as load/save game, logging the board state, different difficulty levels, 2 player game, etc.
· Make use of alpha-beta pruning and make it easily changeable.
· Enable itself to teach itself how to play better (possibly by fine-tuning and alternating the functions used to compute one move).
· Convert the application into a package that:
· Provides mode for player vs. CPU mode with different levels of difficulty corresponding to different approaches and algorithms.
· Provides multiplayer mode.
· Allows watching the CPU plays itself in different levels.
· Generates logs of a given game with basic analysis.
· Generates statistical reports automatically for many consecutive games.
What's New in This Release:
· The evaluation function now takes into account the sequences of stones on the board.
· Diagonal sequences are taken care of as well.
· Incomplete sequences are taken into account and are credited accordingly.
· Components within the evaluation function can now be switched on and off very easily.
· New menu entries for customising the computation.
· New difficulty level added.
· Width search is now available.
· A new function to retrieve the Nth best move.
· Getting mobility for a given color in a given board is now now possible in a direct function.
· Many functions are broken down to several inner functions.
· Difficulty modification in command prompt.
· CPU can play itself.
· CPU can play itself at all available difficulties. Currently 5 difficulties are available, so 25 tests are available.
· Neat organised reports are generated automatically for each game that takes place.
· A batch file omstats.bat was created to automatically generate up-to-date reports to all possible (25) games between CPU and CPU.
· Severe bug with get_Nth_best_move() has been traced and debugged.
· Non-deterministic move algorithms are built up for all difficulty levels so games end differently given random seeding.
· Log files now include a final board state expressed as ASCII.
· Saved game format has been upgraded as well as the appropriate version identifier.
· A report file infrastructure has been established yet currently not anything sophisticated is generated. The report file should be used to gather a large amounts of information condensed to allow game analysis.
· Saved game bug found and resolved.
· Generation reports using batch files to analyze a sample of non-deterministic games. Currently only beginner has been covered.
· Randomisation enhanced to make games even less predictable. The seeding is performed by srandom().
· Internal code change - all callback values are defined as preprocessor values for readability.
· Full and detailed comments in callbacks.c.
· View changes interface to enumeration for readability.
· Full and detailed comments in loaders.c.
· Late file close in loaders.c spotted and corrected.
· Instructions for debugging mode have been added.
· Upgrade the debugging mode interface.
· Annotation of objects in drawing.c - the scene description module.
· Comments added to misc.c to complete code documentation.
· 2 new options added to command line - hiding grid and hiding the game meters.
· omcore.c, the main procedure, is not fully commented.
· Documentation of computation.c
· Command line option for debugging with instructions and without instructions.
· Explanation of difficulty constraints added.
· Detailed documentation of computation.
· Undo implemented, but still not tested.
· Editing tool created to change the layout of the board during the game.
· Visual indication of whether program in editing mode or not added.
· Command line options now include control of computation. This feature is useful for automatic gathering and analysis of the program's behaviour.
· Inefficiency issue in texture processing addressed and now FPS rate has gone up.
· Screen cleared in ASCII mode at every iteration.
· Dynamix game view added.
· Log file includes corners count.
· Report file includes the score gap between the two sides.
· Submenu for algorithm description has been added.
· Algorithm descriptions added.
· Opening libraries added with command-line and menu options.
· Version 0.7.6: Extra illumination options.
· Version 0.7.8: Windows version is finally released and code cleaning process has been completed.