Divination — Fortunes

0 Comments | This entry was posted on Mar 04 2012
Wheel of Fortune

What does the future hold?

There is a for fun Divination aspect to our game fortunes where at the end of the game you get a future generated by how the game went. Since the game play is mostly solid yesterday was working on making this a little bit more visual.

Visual Kei

No, not exactly what I meant...

A problem we ran into is the fact that the layouts are pretty large. We have to make the cards tiny to fit on screen or have you scroll forever. So what I’ve tentatively done is to just have a picture of the layout with boxes for the cards which you click to reveal the detail of the card for that position.

divination layout

This is a layout for a fortune...

clicking on one of the boxes gives you…

Close up

Ignore the silly text, its a place holder just like the art.

For reference the old, boring wall of text version looked like this:

good fortune

This is a good fortune we promise

So what do you all think? Is this change an improvement? I may add colors or something to distinguish the separate categories within the layout to make it pop a bit more but visual aspects are not my strongest point. As you can tell by looking at the website! Well if you read this far thanks for reading and please share your thoughts.

AI for fortunes

1 Comment | This entry was posted on Feb 11 2012
an exposed face robot

Let's open it up and do some tweaks.

Working out what to do for the AI has been a bit interesting. I’ve never done AI for a card game before. I was initially thinking of trying to do a min-max tree but quickly came to the decision that the branching factor and uncertainty would cause that method to be a bit unwieldy.

a robot in control

So After some rethinking and discussion with James we can upon our current idea. Basically we are going to have two weighted factors to decide which card to play. One being the likelihood of the card to win the current trick and the second the strength of the hand hand that was left afterwards.

building a hand

building a strong hand

These aren’t static weights, at least they won’t be once I’ve implemented them shifting over time. In the beginning the AI will favor building a stronger hand and near the end they will care more about winning the trick immediately. This two factor AI should deal with things like not wasting a strong card when a weaker one would just as easily win the trick.

Sometimes shortcuts can be found

Sometimes shortcuts can be found

Of course with the way the rules of fortunes work I couldn’t just use the rank of the cards for how valuable it was for a hand. Since tricks can be either High or Low we have to use the distance from the center instead.

foreach(Card c in newHand){
if(c.suit != Card.suits.stars){
if(c.rank > 7)
score += c.rank - 7;
score += Mathf.Abs(c.rank-8);
} else {
if(c.rank > 10)
score += c.rank - 10;
score += Mathf.Abs(c.rank-11);

Sorry wordpress didn’t preserve my indentation. Anyway The Major Arcana are slightly more valuable since they can switch a hand from low to high or vice versa, but this is hopefully captured in the slightly higher range of values for Major Arcana from 0 to 10 instead of 0 to 7 like the minor Arcana.

Thanks for listening to me ramble about AI here. If you think I’m way off base and have a suggestion, or just have a question about what I’m doing, share in the comments below.

Fortunes Screenshot redux

0 Comments | This entry was posted on Feb 11 2012

Most of the updates have been to AI for fortunes but there are some visible updates.

Fortunes gameplay

Stock art for now until our artist is done

So here we have a bit of how it will look like with card art, although this isn’t the art we will use in the end. Also there are toggles in the upper corner for toggling sound effects and music.

Development #3

0 Comments | This entry was posted on Dec 12 2011

Slow progress this week

progress we've been making

Please pardon our Progress

I’ve had multiple family events, a wedding and a rehearsal dinner distracting me this week, and getting the logistics involved for both. That combined with the fact that networking is a bit of a weak-point of mine, lead to a little bit of a drudge since last time.

MYSQL woes

database tables

Pictured above, somebody else's tables

Trying to use alternate processing when a player reconnects has lead to some interesting sql errors. Deciphering these is a completely unexpected challenge.


unraveling yarn

This is what it feels like

This last bit has been especially frustrating because it seems like instead of coming together like earlier its falling apart. Its necessary to make the final product better but its still a little disheartening to see the apparent stability of your project decrease as you try and make underlying problems more visible so you can fix them.

Keep on Slogging
In the end I have to remember that I can do it if I keep on slogging.

What about you?
What projects are you working on? How are they going?

Development #2

0 Comments | This entry was posted on Dec 05 2011

Got testing mostly worked out. Updates to smartfoxserver revealed a way to create NPCs serverside so I took some time meddling with that to get it to work with our purposes. Successfully got my two NPCs Hudson and Geoffrey playing the game together.

Now that the testing framework is good my next focus is dealing with server connectability and reliability. Right now if you lose connection you’re kind of in a limbo state and I want ot change that so the system handles losing connection as gracefully as possible.

What are some of the best ways you’ve seen computer programs deal with connectivity issues? What are things you’ve seen them do that aggravated you?

Development #1

0 Comments | This entry was posted on Nov 29 2011

So I’ve read woot commstoday and they mentioned 5 great reasons to start a developer diary. My favorite of these are staying sane, and feedback.

In the past I’ve written slightly more but about more broad general things, the industry and concepts instead of concrete things like what I’m working on. I think that, in part, is why there has been trouble trying to get engagement. So here we will try and foray into the more concrete. I know way to bury the lead huh?

I’ve been working on an android app we are calling Marco Polo for now. Apparently the name is taken and we’ll have to come up with something else when we release but it works as a working title. It’s kind of a mess as its my first time working with android and despite knowing java I’ve still been learning a lot.

I’m currently working on testing framework which I probably should have done much earlier in the project to try and help debug and polish the mostly functional code at this point. Debugging smart fox server has been an interesting challenge. I spent some time with Junit and the client software to implement fake users but hit a snafu when trying to use more then one fake user at once. Fortunately updating my version of smart fox server provided some NPC functionality on the server side. The past few week or so has been trying to shape that to what I need it to do.

We are also planning on incorporating a neat service called kiip, which is basically attaching real world rewards to achievements in games. So when we get this integrated properly people will be able to get free stuff for doing awesome things in our game, and we may be able to make enough to cover server costs.

Things are really starting to come together and I’m really glad to have my business partner James and my fiancee Gina believing in me and helping me keep slogging on in the dips and lagging periods of this project.

We are also plotting our next android project which will be based onthe card game fortunes. The game is a tie in to the “The Way of the Gods” book series by Barbara Friend Ish which if you like fantasy you should go check out a copy.

I promise I’ll work on making these less ramble-y in the future.


0 Comments | This entry was posted on Oct 04 2011

No, not the one with Alex Mercer.

I’m coming to a strange stage with the current project. It needs to be given to other people to start testing but I can’t help but want to make it better before letting others see it.

That’s not the point of a prototype.

As James reminded me, “Yes it’s going to break, that’s the point of a prototype.” Really I can look back at earlier stages of this project and see where some testing could have been helpful earlier on too, I may not have spent so long in some stages and/or might have noticed and resolved things earlier in the design.

So James is going to do his talky thing and try and convince people to try and help us do some alpha testing. If anyone out there is chomping at the bit you can let me know and maybe you can help test too.

Here’s to the scary future and letting go of my work to letting others see it.

90% syndrome

0 Comments | This entry was posted on Jun 16 2011

The software developers among readers should all know exactly what I mean with this title. You get a project going, get some great momentum, and get almost done. Then bam, well this isn’t quite right and you need to back up, or boom you need to slow down and polish that a little bit, etc.

So it is with pleasure and pain that I say that Marco Polo is approximately 90% complete with its first iteration. A slew of issues seem to have veritably conspired to slow me down including some hard drive problems(Thank god for svn).

Please forgive the bluriness

Marco Polo on an actual phone

Despite the slow down this is still very exciting times. In the next few months we will finish up our alpha version of Marco Polo, head down to birmingham for play on con and begin formalizing our designs for the next game(we have at least 4 more planned out but we can start hammering out more specific details based on what we learn from the current project).

So readers, where do you usually get android apps from? Let us know in the comments!


0 Comments | This entry was posted on Apr 04 2011


I’ve been working on a real graphical interface for our current game and dealing with some quirks of android in the way of things I’m trying to do. I meant to put up some screenshots a week or two ago but need to borrow a camera or find a way to do screenshots on the phone. We’re shooting to have the core of this done by june and then we can start putting on polish and some fancy extra features. Exciting times my friends.