I have been spending a lot of time lately working on Reversi Magic, my Othello/Reversi game. Since the game was originally released last year, I have been spending time on optimizing the various parts of the game for AI, appearance, and also ensuring that it works on absolutely any device out there. The game has certainly come a long way since I originally started working on it!
The game’s AI functions make use of a NegaScout/PVS algorithm to determine the best possible moves based on a series of conditions, such as difficulty, board status and a few other things. The easy level is designed to be not too difficult, but good enough to keep you alert during play. As the levels get harder, the AI will step up it’s game and the Hard levels are quite tough to beat! I spent close to a full month working on AI code alone, and it was very educational for me. One day I should write up something on how the AI works, as someone else might find it useful in a different game.embedded by Embedded Video
Anyways, if you would like to give the Free version of the game a go, you can find it at your favourite App Store by clicking one of the links below:
Screenshot Gallery for Reversi Magic:
It has been a long time since I last worked on one of my own game projects, so it is nice to be able to say that I have finally released a new game 🙂 The game is called Twinz! and is based on an game I wrote back on the Commodore Amiga back in 1996 (HOL Link). The original game it was based on was written by Theo Develegas on the ZX Spectrum (WOS LINK) back in 1991, it was a covertape game that I liked to play and back then, I wanted to have a go at doing one myself. If you asked people to load games from cassette tape nowadays, they would have a heart attack! hehe.
The objective of the game is very simple, you turn over 2 tiles at a time to see if the pictures behind them match. If they do, then they stay open and you keep going. If they don’t match, they turn back over. The logic to the game comes from remembering the images behind each tile, so when you find it somewhere else you can turn it over at the right place. Points are awarded for better playing tactics (tiles that are not checked underneath lots of times) and pairs that are found in sequence (one after the other). The game features 5 levels, three difficulties, and an online high score sharing system where you can post your best scores directly from within the game.
Twinz is compatible on any mobile or tablet device. Releases coming for Kindle fire soon, along with iPhone/iPad and other markets. Stay tuned!
Twinz! Screenshots – Click any thumbnail to make it larger
Download Twinz! Now!
It’s been a while since I did any work on my games, which really is a shame as I still play my own games from time to time, and people are still buying them and playing them too. So, I have decided that I would motivate myself with a “New Game In 30 Days” type blogfest, where I port the old game to a brand new format in the space of a month!
The first game I picked to port is my popular Piles’o’Tiles Mahjong game, its been long overdue to be overhauled and is still fairly popular amongst players. On top of porting the game, within the same period of time I plan to develop a re-usable game framework that I will use in all of my games, so after Tiles I can easily jump in and start porting my other games such as Jelly-Othelly, Crazy Crystals and my unreleased WordHunter games. I also have some ideas for a few new games, but need the framework before I put together some experimental test versions, and see how bad the idea sucks when it’s played for real!
The plan is to have tiles in an almost-ready state by the end of the month, and from there I can fix any small issues, tweak a few bits and pieces and then release not too long after, if it even takes that long.
Today is Day 4, and most of the screen switching framework is in place, graphics are loading and being processed accordingly, and most menu/gadget functions are in and working. Once a few little things are fixed, the next steps are to start adding actual game code, such as level rendering and a few other parts critical to testing the rest of the game itself. Once they work, then I can start on the menus and level selectors etc. before finishing with the finer details.
I will keep you posted as to how it progresses, and when I am ready to find some beta testers to take a look at it! The plan is to try and get it released for Android & Desktops at the same time with an iPhone version to follow not too long afterwards. Thanks!
Over the last few weeks, I have been helping my friend Paul port some of his code over to Android. Currently he releases games for PC, Mac, and iPhone and so the move to Android is a good one. Most of my involvement was working on sound, and the C to Java handling code. Lots of stress when digging through the error logs, but it has coming along very nicely! We started the process aiming for an Android 1.6 target, to ensure we can support the most amount of users across all devices.
I have also been tinkering with some of my own Android projects, moreso converting some of the games I have written to work on the new platform. So far its working out well, I have the basis for my framework in and working, and I am hoping to have the first of my games ready in about 2 months. I’ll post more about them here as I get them ready for testing or release.
In the meantime, check out some of Paul’s great games at http://www.shoecakegames.com 🙂
The hard drive took a major dump in my laptop this weekend, left it backing up some stuff while I went to go see Tron, and when I got home it sounded like a DJ was scratching some kind of new rap tune. Needless to say, the drive was on its way out, but luckily I have been able to recover almost all of my data so far 🙂
After installing a replacement hard drive, I thought it was about time that I put a dedicated linux partition on this system as I have been using Kubuntu to do some Android development (installed via Wubi). While Wubi is nice for messing around, it isn’t the most stable system to be using and I have had a couple of disasters in the past with it messing up my virtual partitions. Wubi also has some known bugs, where after installing inside Windows, you’ll get a message about no root filesystem being defined and that you should fix it in the partition manager. Nice, if you can actually get there to do it!
So, I installed Windows 7, left 40gb of free space intentionally for Kubuntu. After the process of doing all the software installs and updates etc. for Windows I thought that I had better take a shot at installing the Linux side of things. Boy, what a mess 🙂 Firstly, there is something about the partition layout in Windows 7 that GPartEd just cannot see them (even using the GPartEd Live CD, or any LiveCD including Kubuntu). It thinks my hard drive is completely unpartitioned. Not what I was expecting, as I was hoping I could just throw some linux partitions into the free space, and then install. Very confusing 🙂 Adding any changes at this point would erase my new Windows 7 partition instantly.
I remember something a friend told me years ago about partitioning, that he had once used Linux to do the partitioning of his drives for some wierd XP install, as the Windows tools at the time were quite shit, so I figured that to get this to work the way I want it, I should probbably attempt something similar. I didnt really have much to lose (besides sitting through a few hundred megs of Windows Updates) so I went ahead and prepared the partition in GPartEd.
An important thing to remember here is the partition table. You must go into the Partition Table section and create a new ms-dos partition table, otherwise if you don’t it may try and use GPT by default (which won’t work with Windows 7). If you try to install Windows 7 without this partition type change, it will pop up a Warning message when you try to select the partition, and clicking Details will tell you that it cannot install on a GPT partition. So, after this step (which will completely zap your entire drive) I proceeded to create an NTFS partition, leaving 40gb free space for Linux later on. After applying the partition changes, booting the Windows 7 installer and installing windows by selecting the NTFS partition I just created, I was then able to reboot with a KUbuntu LiveCD and work with the free space on the drive correctly! It will even mount the Windows partition (just remember to hit Yes on the option to Unmount it duringi the Kubuntu install). Even grub works well and offers Windows 7 as an option in the boot menu.
When installing Linux with manual partitions, remember to add a swap partition at least 2x the size of the available ram in the machine, and the rest can then be an ext4 partition (that mounts to /) and thats the minimal that Kubuntu will need in order to boot correctly. Grub takes care of the rest of the issues with booting and selection etc. as most of Grub resides in the liunux part.
I am sure that several people have had problems trying to get the dual booting to work correctly, so I hope that this helps at least one human being out there who has struggled with this as long as I have.