Tag Archives: games

Project case study: Netboggle

This was perhaps the quickest thrown-together project I’ve ever produced.  It started off as a way to cheat at an online Boggle game a lot of my friends were playing in the ICT suite at college, and moved on to become much more.

What I eventually ended up creating was a multiplayer network implementation of the Boggle game, where a number of players have a set amount of time to find words in a grid of 5 x 5 letters.  One a word has been found, it can’t be scored by other players in the game.  Longer words get higher scores – the score awarded for any given word is it’s length to the power of 2.  Netboggle was written entirely in C# over a few of the closing weeks of my 7 years at Bolton School.  Apparently it’s still played occasionally even now, I like to feel it’s something of a legacy I’ve left there.

The Netboggle home screen - a familiar sight for Year 13s

It needed to be Peer to Peer because of the restrictive nature of the network at school, and also the fact that people would drop out randomly and might not be in the same room.  I started by writing the game engine, that is, the core logic that determines acceptable words using a dictionary and a given grid of letters.  This was then combined with a network engine that coordinates the game state across several peers, adding other options like the ability to request to skip a given game (for example, if the set of letters presented is terrible or similar to a previous run) and a chat system to entertain users waiting for the next game to start.Later I added other features like a high scores system (this became heavily contended and pointed to the requirement for some anti-cheat systems to try and avoid the use of the ever-present “Boggle-Solver“ websites – which perhaps ironically this game started out as).

The Netboggle game screen

The best thing about this project was that it was all able to run in the extremely harsh and restrictive environment of the Bolton School internal network.  Negotiation for the storage of high scores on external servers required authenticating with various proxies and the evasion of tedious NATs along the way, but it all worked out quite well.

I later added the ability to transfer a game state from one host to another, so if one user hosting a game disconnected, the game could resume on another machine within a few seconds and the players would notice little delay.

Unfortunately, due to the speed at which I wrote Netboggle (spending only lunchtimes and free periods in the ICT suite, coding away, surrounded by 3 or more computers just for me – another familiar sight for Bolton School sixth formers at the time), it isn’t particularly portable.  That is to say that it depends quite heavily on the specific network setup at school, for example it looks for certain proxy servers that are obviously not accessible outside of Bolton School.

It is a shame that it couldn’t continue in that form, but it is far too much of a copyright infringement for a start to even consider releasing it.  Until then, I suppose my small web-based implementation – NetWords – will have to do; but that’s another story for another time.

3 Privacy nightmares to make you forget about the iPhone location recording thing

First up, I need to express my surprise at the lack of a well-known name for this situation yet.  I’m wondering if somebody somewhere has already coined “Locationgate” –  however I dare not google it to avoid inevitable disappointment.

Story goes that there’s a little SQLite DB on the iPhone that collects together some latitudes and longitudes of places where it’s seen cell sites and WiFi networks.  While this is a little concerning – mainly in the case of it’s potential use as evidence of the owner’s location at a given time in my mind – it seems as usual that the media is going overboard on the issue.  More through omission than statement, the BBC lady on the news on the morning the story broke seemed to be implying that Apple itself is collecting all this wonderful information in some secret underground datacenter.  This isn’t the case, the data stays on the iPhone unless Location Services is turned on and is, once again, only a vague estimate of locations.  My personal logs (less than interesting) revealed some places I’ve never been to for example.

Places I've (apparently) been recently.

Places I've (apparently) been recently.

Anyway, I’ve come up with a few reasons to make Locationgate the least of your worries when it comes to privacy.  Read ‘em and weep…

Continue reading