Category Archives: tech

tech

Back to the game ranking app

Finally after at least a couple of years I have returned to the rewrite of the ranking code I wrote.

I got a new copy of the data from the bgstat app that I use to record my game plays. The app also the master list of all the games that make up my game collection. And syncs all of that info back onto the bgg website for me.

The point I’m making is this new data file is different to the one I originally got from the app some six or seven years ago. Back then it was just a csv file of the game plays.

Now its a json file that contains all the apps data. So not only game results, list of games, locations, tags, etc.

Luckily using Python as the language of choice for this project means there is a nice json library I can import in to do all the heavy lifting for me to read in and process the json file I have.

Sadly for me the json used by bgstats is not a simple format. It contains arrays within arrays! A nightmare to code to get to the information that I need for this project, even with a json library.

Now if you had asked me before I had started this second attempt at a rewrite that the bits of data analysis I’ve been picking up (different projects) would be of use here. I would of been a bit sceptical.

However using the pandas library I found out I could use pandas to extract these arrays within arrays to get the data I want into a dataframe.

Having the data in a dataframe opens up all sorts of cool data analysis stuff I can do.

So not only can I do the paired comparisons, and top 10 lists, but also produce stats that not even the bgstats app currently does.

Ranking Engine Update

I feel like I have been doing lots to this project this week with not much to show for it.

As you can see I’ve just edged over the 25% mark for the number of pairwise comparisons that I need to do for my game ranking of my collection.

I’m not going to bore you with another “look at my current top 10”. Instead I’m going to bore you with my top 10 worker placement games based on my current rankings of games. 

What this really show cases is the start of the next stage of my stats engine. After a bit of behind the scenes rewriting of code, I’ve started a gui front end (see below). It’s an ugly, not designed gui. I’ll sketch something out over the weekend. 

But basically I can select a game mechanic and find all the games in my collection that have that mechanic. 

It then takes those results, and finds out how I’ve ranked them, followed by printing out the top ten. 

So before I add categories, designers and publishers I need to sort out the gui. That’s the major effort. 

Once that’s been done I’ll expand the stats to look at the bgg hotlist, followed by the bgg all time top 100. 

I then have more stuff on the road map. Wait did I just type that? That almost makes me sound like professional and I’ve planned it. But in reality I haven’t and I’m not. I’m making things up as I go along. I have ideas that I really should write down before they are lost. In away these posts are acting as my dev notebook. Well hopefully gentle reminders. 

Hopefully you can see things are progressing both code wise and rankings wise. I also hope you are finding the verses posts interesting. Which were a surprise spin off from this project.

Anyway I’ll see you in my next post.

Dead of Winter Companion App Out

Finally the Dead of Winter iOS app came out on the App Store. Last night to be precise about it.

For 79p of the realm or 99c of that funny money Americans use, you can buy this companion app for the hidden traitor, survival horror game Dead of Winter.

The companion app can be used instead of the crossroads deck of cards in the game. Crossroad cards are events that get triggered if the current player fulfills the cards criteria. However the current player doesn't know what those criteria are, only the player on the right of the current player who drew the card knows them. So the event may or may not get triggered.

The nice thing about the app is that it only presents the information as and when it's needed, which naturally the cards can't do. The place this is a great benefit is when it comes to deciding between the two options available. Players have to make a decision without knowing what the ramifications are. Which is cool, it makes the decision more authentic.

The other great thing about the app is that Eric Summerer from The Dice Tower reads all the flavour text. Eric has this incredibly rich voice that is made for radio and audiobooks, and is a delight to listen to. So your gaming group can be spared the poor attempts at amateur dramatics as the player reads out the flavour text of the crossroads card, trying to should like a Shakespearean actor.

For me this is how apps should be used with board games. If you remember I didn't like the fact that part of the X-Com game relied completely on having the app, no app, no game basically. Where as no Dead of Winter companion app, you can still play the game using the crossroads cards in the game. Having the app will just add to the experience of playing.

So a pretty cool addition for playing Dead of Winter, a must get really I would say.

Oh and for those misguided enough to own an Android device the app for your platform came out last weekend on Halloween.

 

My Webcam SetUp

I play Marvel DiceMasters, I love the game. I love the theme (Marvel superheroes!), the collectable aspect, the rolling of dice, the tactics/team building, basically everything about it. It's as if they specifically targeted the game at me (although FFG seem to have done that also with the X-Wing miniatures game too, am I that easy to hook in?)

Now my local gamestore (The Rift) runs organised play ( competitions with prizes) and has a few players there. However being 26 miles away not always the easiest most convient to get to or stay long enough to play lots of games ( parking also costs in Peterborough – or as I call it a shopping tax to push shoppers to out of town stores).

So what is so marvelous about DiceMasters is that it works so well as an online game using a webcam! So I now play regular games online with folks in the US and England ( I know there are one or two down under who are interested in playing but not played them yet).

Those playing use a variety of setups, using inbuilt webcams, mobiles/tablets, external webcams. Every now and then we get asked about what setups we use, and software. So I thought I'd write this post to answer that question from my side.

As the photo above shows my setup is the following:

Hardware

Software

The desk lamp gives me that nice overhead shot without getting in the way of playing. Basically when I got the lamp I stripped it down to what you see in the photo. Removed the shade and power cable, they aren't needed. I used the hitech solution of elastic bands to hold the webcam in place.

However the image from the camera is up side down and flipped. So that people can see the play area as I see it, ie it looks correct I needed to mirror and rotate the image from the webcam. Sadly the Logitech driver software doesn't allow you to do this. Luckily I found a solution in an app called iglasses. It's an amazing little app, which allows me to flip and mirror the image, zoom, set focus, even add filters. It's not free, but not that expensive and works great.

We use Google Hangouts to play the games. So people need a Google+ account to play. Nice thing is about Google Hangouts there can be multiple people on the hangout. But from time to time we use the on air side which broadcasts the session live, and then saves it on YouTube. So it allows us to put games up for others to watch at their own leisure.

When using Google Hangouts with this setup, instead of accessing the webcam directly you tell it to use the iglasses app as the webcam. Which then means you are getting the correct image being used in the hangout.

I hope people find this post useful in setting up their own webcam and join us soon in an online game of DiceMasters. There is a really friendly community of online gamers got DiceMasters and new comers are always welcome.

Epilogue

My next steps with this setup is to get picture in picture working using the built in webcam, and to make use of lower thirds. The lower thirds is apparently easy to do using hangouts. So will probably be the first to be done.