FlipIt - Othello/Reversi online play between Android and Applet

I’ve been hacking together a prototype over the last few days to test out running a turn based server on Google AppEngine. The idea was to allow players on Android handsets to play against those on the web (via Applet) making use of free backend technologies/services. I wimped out and chose Othello as the game since I know how to play and how to write a simple AI. Due to trademark restrictions the game is called “FlipIt”

Anyway, it seems to work, though I expect there are still lots of issues when the server is under load. You can try the applet version at:

FlipIt Applet

If you’re lucky enough to have an Android handset a mildy tested version (read my Hero only) is available here:

FlipIt Android

To register just enter login details and click register instead of login (your account will be created and you’ll be placed in the lobby).

Not terribly inspiring but this is what it looks like in game:

http://www.cokeandcode.com/aboid/othellograb.png

The rest is done with Swing/Android GUI components so looks suitably rough. I’ll be building an iPhone version but I guess I can’t distribute it easily (also quite a bit of framework to implement to support it). There’s a computer player available to practice on, hopefully someone will run in to each other to try out the network support.

Finally, here’s what I thought of AppEngine. In short, I like it.

If anyone plays computer or across the network, it’d be much appreciated. Any sort of feedback is great, but especially with oddities in game synchronization across network and Android faults on different handsets.

Thanks to anyone that gives it a go,

Kev

I played the applet. For starters, your program does not conform to the rules. In Reversi, black moves first. By forcing White to move first, this changes the standard opening sequence altogether. If that was your intention, then fine.

I played the game and won quite easily. I’d say you have some work to do in order to be competitive with other Reversi Applets on the net. If you want to the computer play to be competitive that is. But I liked the look and feel.

The GoogleAppEngine concept interests me, I’ll have to find out more about that. Perhaps I can take advantage of that with my chess applet.

regards.

That’s cool, I love things that mix up so many technologies. Congrats on getting it done, you have to be a real jack of all trades to pull all those pieces together.

The applet looks great. Can you play as an applet in the android browser?!

Yeah… It is pretty cool indeed!! I like the look n feel too… As fguy said it is pretty easy to beat (for example have played Reversi for Android a few times and it whips me every time). Mind u, its pretty refreshing to win now and again too :slight_smile:

After Registering (or Login after registration) I get a white Square on my HTC Magic (I assume this should be a list of people logged in but nothing shows here?) with the Challenge and Back buttons underneath. If ur not sure what this is will run thru debug when I get home… (I havent tried the online applet version yet)

[quote]The applet looks great. Can you play as an applet in the android browser?!
[/quote]
I tried this and it doesn’t work (also tried a few of my applets and didn’t work either). Didn’t investigate further (i.e whether you can install a Java Plugin or if this simply isnt allowed on the Android etc…)

Thats right, if other people were online you’d see them listed. Infact, I logged on and saw you listed for a split second… managed to send off the challenge but I imagine you’d already gone.

EDIT: Heh, left it logged on from my phone, you popped up for a sec but then disappeared. Maybe my dodgy phone connection here tho.

Kev

Sorry for the long pauses SteveyO, I’m context switching :slight_smile:

Kev

Ok, definitely need to add a ping to see if the other player has left/given up.

Kev

Sorry I lost you… Phone went on standby after 10 secs of inactivity and then when I hit menu button in the application had dissapeared. doh… Maybe have to change my phone settings. Yep ping a must :slight_smile:

Anyway… Yeah… Its pretty cool… Extremely impressed. A few ‘obvious’ things. If nobody is online you need a message informing them. The blank square gives the impression the application isn’t working. Also I got a challenge from sombody called ‘Andy’ but I couldnt see them online (only yourself) and I couldnt seem to click the button next to your name… (it didnt stay selected)… And most importantly is to remember the username/password if possible as annoying having to retype everytime using Android Keyboard (Applet version wouldn’t bother me)…

Other than that pretty cool, will definitely play again if it takes off. (I did get 1 Force Close when first starting up…but 2nd time worked fine, I get this in my app sometimes too, some annoying thread already started message, not sure if this was the cause for you too). If it happens again will debug…

No probs. Andy is me also on my phone (Andy the Android ;)) - however, it kept losing connection also - really bad signal here.

All points - yep - bit confused why you couldn’t select my name, it’s just a RadioGroup - how infuriating (seems to be a theme with Android recently).

Thanks for testing, next time we’ll finish - and I’ll win! :slight_smile:

Kev

lol… I thought i was in quite a commanding position… Never mind… Will never know.
Just checked my phone settings… My phone screen timeout was set to 30 seconds… When it timed out I was sure I hit the menu key… (maybe I hit the home key by mistake). Should re-test this later too.

OK, I’m a big fan of Reversi, so I registered as fguy. I can help out with testing if you want, or just play a game. I don’t have Android. I just use the web browser version.

Would be nice to give some sort of feedback/response to the player when they select their piece to move, etc.

Not sure what you mean. There isn’t any piece selection in othello.

Kev

Great! I’ve been working on a similar concept of Applet, Midlet and Android game client talking to App Engine game server for months, but just haven’t been able to make much progress. How on earth did you manage to churn this out so quickly? I’m just amazed at how fast some people are able to create games in their spare time, while I’m still working on games I started in 2005…
The game looks and plays great btw. Please change the swing buttons on the menu - they look too much like the ugly metal l&f.

Excellent!
I’m really impressed if you consider this a “hack” :slight_smile:

Will the source for this be available on www.cokeandcode.com?

Does your Applet/AppEngine solution use any special API for Applets or is the client/server communication regular http?

I’m also wondering about the login.
Would an Applet be able to use the UserService to associate an Applet with a Google user account?

Regards,
//Phear

Code for the server could be avaiable, unfortunately code for the client is based on a currently closed source API.

The Applet uses basic HTTP post to talk to the server.

The Applet could use the UserService I think. However, I didn’t want to use a different set of credentials on different devices - the idea being you can play with your same account from Android, iPhone or Applet. The login box was also my first test of the abstract HTTP stuff :slight_smile:

Thanks for the positives,

Kev