Category Archives: other games

Warhammer, Mafia and endless winter


Somehow it’s mid-April already and this blog has been growing a little neglected. The past month has been filled up with a pile of things other than working on Free Company, so that I can barely recall what I was doing on it last time I worked on it. Such is the chaos of life, we’ve had Ofsted inspections, blocked exterior drains, a mini Warhammer tournament and most recently I’ve been distracted by working on a helper utility for people who want to run variants of the party/forum trust game Mafia.

Last time I was talking about building a notification system for Free Company which is something I went ahead and did, you now get popup messages when you’ve finished researching lores and that kind of thing which helps keep you informed about what’s going on in the strategy layer. Some of the notifications are pretty elaborate; like the one you get after fighting a tactical battle  but most of them are fairly simple affairs and it’s easy to add more of them should the need arise.

Then I worked on the path-finding code again so that it could properly take account of the ‘zones of control’ around players and not try to navigate through them midway along a path as was happening before. Zones of control also became a much more interesting part of the combat system in that, now, if you try to leave one the owning player will get a free out of sequence attack against you. In practice this gives players a strong incentive to leave their mercenaries that are in close combat, in the fight and not run them out of it.

The lore system became ‘structurally’ complete in that you can now properly research every one of the planned technologies and they properly unlock when you obtain the correct prerequisite technologies and items. None of the technologies actually have any other game mechanical effects yet but we’re halfway there.

So that’s Free Company. I then spent an inordinate amount of time assembling, gluing & painting miniatures for a planned Warhammer mini-tournament against my brother. Warhammer is a game of fantasy table-top battles, there are hundreds of miniatures per side and they fight in large ranked units through a mixture of dice rolling luck and strategic calls made during the game over unit positioning and so on. I had a goal to try and make two completely painted armies this year after our tournament last year with two ‘fresh from the box’ unpainted sets that come with the Warhammer starter set. Unfortunately I didn’t quite manage to make it because damn, there are a lot of Skaven in a functional army, but I was definitely over halfway there with almost every unit having some painted stuff.

I won’t reveal the results of the tournament here because that will be the subject of a couple of lengthy battle reports with maps when I get the chance to make them.

Then we get to Mafia Helper. This is a utility I started tinkering with back in February after participating in particularly elaborate version of the game and getting a sense of how hard it is to balance games of this type due in part to the large quantity of variables but also due to the psychological variables of a trust game. So I decided to build a simulator that could attempt to run thousands of test games of Mafia with a given setup of players, teams and special powers and produce some odds on how likely each team in the game was to win. The idea is then to expose the ‘psychology’ variables so that each game runner can adjust them in line with his or her feelings about how players interact and gain or lose each other’s trust. So far I’m about halfway through the initial planned feature set from working on it here and there in between everything else.

The tool is also serving as a way to make a series of improvements to the cross program UI Library I created for Free Company. Mafia Helper is entirely UI so it serves as a great test bed for the kind of more complicated UI elements I use in Free Company without the chaos of Free Company’s other code getting in the way of debugging. I’ve already managed to make a couple of big improvements to the UI system that finally squashed an annoying bug with flickering  in UI elements that’s been in the code for possibly years, and there has been a host of smaller improvements to the functionality of the generic elements like buttons, text boxes, tool-tips and scrollable lists that help make the UI feel a lot more solid.

Finally, a word on the endless UK winter which has finally broken this week. Good riddance.

Lords of the Burning Hells


This year my regular work invigilating the school exam season coincided with the release of  one of my most nostalgically anticipated games; Diablo 3.  Suffice to say the combination of these two activities has kept me from much substantial development work for the past month, but bills gotta get paid (and Diablo gotta get played?).

I wonder sometimes if I might ever have got into game development if it wasn’t for the Diablo series, the original game and eventual it’s sequel introduced the barely teenage me for the first time to to the internet culture around games. I spent many hours engaged in crafting websites for guilds, getting involved in ridiculous guild politics and even knocking up micro fansites for speculating about Diablo 2 news and lore.

I recall that it was through a chat with an acquaintance of my Diablo era obsession that I first heard about some upcoming game called Half-Life that she thought might be the next big thing. Which for my convoluted path to proper  game development, via modding and QA, it definitely was. The atmospheric design of Diablo and it’s randomly generated levels were also a key design inspiration for Free Company. If I wanted to shorthand describe Free Company to someone  I might be tempted to say X-Com meets Diablo and Baldur’s Gate by way of HOMM (on acid).

So, Diablo 3 has a strange pull on me for those reasons even if for other, ethical and pure design reasons I have come to regard the core Diablo design as something to be slightly dubious of. Long term readers of this blog might recall me expounding on this a while back  but the short version is that the loot reward mechanic at the heart of most ARPG type games is uncomfortably similar to slot machines and inspires similar addictive behaviour that may or may not have a relationship with actual fun. Actually, Diablo 3 takes this slot machine analogy a step closer by allowing you to immediately and directly sell the items that pop out when you kill a monster for cold, hard cash.

I’ve been playing a lot of it regardless, and they have actually added a bunch of cool design things ontop of that core gambing mechanic that I’ve really liked. The best new thing is undoubtedly the deck building-alike skill system where you can have a ‘deck’ of six active skills  picked from a library of around a hundred possible individual skill variations (a smaller range of actual skills that are then each modified by a list of 6 so called ‘runes’, the modifications vary from tiny to dramatic). What this means is that instead of having to start a new character each time you want to try out a new skill as you had to in previous Diablos (and many other roguelikes) you can just hop over to a drag and drop menu and switch out the skill and have the best possible version of it without needing to spend hours carefully hoarding skill points or any other nonsense. It is a great change that allows you to creatively attack challenges when the game becomes too difficult or too stale.

There is some question as to whether or not all the available skills are equally balanced for the challenges of the endgame but there will be patches down the line and for most of the playtime you put into levelling up your character the skill system allows you plenty of freedom to experiment and just enjoy the full range of things your character type can do.

The other great improvement comes from the careful application of physics and animation to convey a feeling of solidity and power to your characters every movement. It’s hard not to enjoy the feeling of thwacking a zombie with such force that he flies across the terrain, smacking into obstacles as he goes, and Blizzard have got it just about perfect. Making every click as satisfying as possible is really important in a game where you are going to be doing a heck of a lot of it.

Anyway,  exam season is drawing to a close next week so this blog should resume it’s regular, irregular update cycle of progress updates on Free Company shortly. I totally programmed a function before writing this just to see if I still remembered how code works. Luckily, I did.