GEEK Digital Board Games

Regular coverage of board game experiences on mobile, PC/MAC, Console and more.
Recommend
80 
 Thumb up
3.01
 tip
 Hide

Developer Post-Mortem: The Battle for Hill 218

Nils Hellberg
United Kingdom
Bristol
Avon
flag msg tools
Microbadge: Cthulhu Wars fan - cultist of the Yellow SignMicrobadge: 5 Year Geek VeteranMicrobadge: The Battle for Hill 218 fanMicrobadge: Video Game Developer
I've always wanted to make games. If it was up to me it would be what I did for a living. While it still isn't, with the release of The Battle for Hill 218 on the App Store the first step has been taken and through this piece I'd like to share my experience as a first-time game designer and publisher.

Obtaining the Rights
I've got tons of original game designs I'd love to release one day (something I'd imagine holds true for quite a few visitors to this site, be it board games or digital games) but after having started on several and never getting close to get them finished in the end I realised that with limited time on my hands it would make more sense to go with something already proven and published. After that decision was made, The Battle for Hill 218 was always my first choice being a game I had tremendously enjoyed myself and something of a manageable scale which should be a good fit for mobile. After a quick search turned up that there already existed plans to bring to the game to iOS but it also seemed like development had stalled and feeling I had nothing to lose I simply emailed Chad Ellis, the publisher, to find out if we could work something out. A couple of emails and a Skype call later we basically had an agreement in place and while it is always a bit scary to work out an agreement with someone who runs a negotiation blog Chad was actually super easy to get along with and we soon realised that first and foremost we both wanted to get the game out there (preferably without losing any money) and managed to work out a deal where both development costs and revenue were split between us in a way that both of us were happy with. Having full access to all existing graphical assets plus the existing (and very popular) Java AI was also essential in getting the project made with limited resources.

Getting it Done
Once the agreement with Chad was in place I started to draw up wireframes and to work on a Functional Specification. This document included all screens, all buttons and their functionality, all card interactions and animations, all sounds and also things like all Game Center achievements and their descriptions. Obviously having the actual rule set already done speeded things up considerably compared to making a game for scratch, but writing a good specification is still something that takes quite a bit of time and which is instrumental for a successful project. Looking back at it now there is very little that has changed compared to the final product and not having to go back and forth between design and implementation really made a huge difference getting the game done more or less on budget and time.

From gallery of ec8or


Next step was to find good (and not too expensive) people to work with. Writing specifications and hiring remote freelancers is pretty much what I do when not working on games but as it turned out this time I was able to hire someone local (being located in the game-making meccha that is Bristol, UK, has its advantages) as I was introduced to Ben Trewhella from Opposable Games who was happy to take on the project on a very reasonable budget as long as he got to retain the copyright for the code. Ben is a board and card gamer himself and after just having finished a big project of his own he was interested in doing something on a smaller scale and at the same time lay the foundations for a reusable card game framework which worked out perfectly. After making sure that we could still release bug fixes and updates even if he would disappear the code ownership issue wasn't a problem and Ben could start work.

I also brought in some other people to help out with the UI and music and sound effects but ended up doing quite a lot of work on this myself. With this being my first game I early one made a conscious decision not to log any hours for the project and still don't really know how much time I spent personally on it but it is pretty fair to say that, while the game has done well and I'm looking to make a small profit from the sales, the hourly pay would probably be down there with the cheaper South Asian alternatives you find on global job marketplaces. Still, with all the positive reviews and press received I think going with some established for your first game is a very good approach if you want to get into this type of work.

Problems
All in all, although things probably took a little longer than expected we never ran into any big problems that halted development. There were a few bugs, and in particular the AI proved hard to get right as it always felt it played slightly worse than the Java version by Andrew Gross. We had full access to Andrew's code and he had done quite a clever job in making the AI a very worthy opponent (to simplify things it basically accomplish this by mimicking Chad most of the time) but as there are a lot of special circumstances and exceptions in how the move points are calculated and with us using a different method of checking for supply we kept noticing small differences between the two versions. It wasn't until a few days before release me and Ben sat down and finally nailed it. It still does play slightly different from the Java version, but this is now mainly by design and I feel it actually sometimes even makes a better move than before.

Having a great coder is obviously a given, but having great testers is almost as important. We had about 20 people who contributed to the beta testing, with some putting in a lot more hours than others (hello Kelsey) and without their observations and the crash reports we would never have ended up with a virtually bug-free release build. In fact, more than one month in we haven't even had to release our first patch yet.

However, we did make one big mistake: going with synchronous multi-player. This was mainly my own fault, as I never saw Hill 218 as very suitable for asynchronous play. While I still believe this is to some extent true, I hugely over estimated the willingness and availability of players to connect live over Game Center and as a result we've had very few online games taking place at all. One of the problems is the way Game Center works in that you can't simply get a list of player that are live right now and challenge them to a game, and another was that if there was one area we never really did test properly it was the Game Center integration so we didn't quite clock that the process of finding and inviting your friends is quite cumbersome.

The other big issue we ran in to was how the game looked on non-retina devices, and in particular on the iPhone 3GS. While we had quite a few beta testers it wasn't until quite late in the testing we found out that the game was pretty much unplayable at this resolution and screen size (a layout that works for a real world-size card simple doesn't translate to well to something at this size) and after some deliberation we took the last minute decision to limit the release to be iPad-only.

From gallery of ec8or


What the Future Holds
Everything is well that ends well though, and we are currently working on an update that will introduce asynchronous multiplayer as well as make the app universal. Although we ultimately wanted to tweak the UI for phones, in the end we decided that the game runs well enough on retina displays as-is and catering for the very small percentage of 3GS owners just didn't make any sense at this point so the game will be released as a universal app using the same interface as for the iPad. Online play should also see a big boost now that people can take their turns in between family meals and putting babies to sleep which is very exciting and I can't wait to see the leaderboard fill up with player names and rankings.

While an Android version is also planned we're still quite a way off starting any real development there. Converting the online Java version does seem like a fairly straight-forward job now that all graphical assets are done but it is still a bigger job than it might seem as it would also require a separate solution for things like multi-player. Looking at the projected sales on Android it would probably be a break-even project at best, but it is still something both me and Chad wants to do and hopefully we should see something released at the end of Summer. If there are any young aspiring (i.e. cheap) Android developers out there that desperately wants something to do then please feel free to get in touch.

We've also secured the rights to our second game, which features the design of a minor (or major?) BGG celebrity in Todd Sanders. The game in question is Shadows Upon Lassadar: Siege at Dalnish which features some brilliant art and design and I feel it should be a very good fit for mobile. Look out for more updates on this as we start proper development work in the next few weeks.

Finally, I just want to say big thanks to everyone who has been involved in the project and to Brad and Neumann in particular for covering it and running this great blog. Also, if you haven't already bought the game but are still reading this I don't know what is wrong with you and you should sort it out right now. Also wanted to thank Kevin Sookocheft's for providing the inspiration for this article, if you haven't yet read his excellent write-up on developing Phantom Leader then go and do so right after you've bought the game.

Cheers
Nils
Large Visible Machine

http://largevisiblemachine.com
@VisibleMachine
Twitter Facebook
17 Comments
Subscribe sub options Mon May 13, 2013 4:51 pm
Post Rolls
  • [+] Dice rolls
Loading... | Locked Hide Show Unlock Lock Comment     View Previous {{limitCount(numprevitems_calculated,commentParams.showcount)}} 1 « Pg. {{commentParams.pageid}} » {{data.config.endpage}}
{{error.message}}
{{comment.error.message}}
    View More Comments {{limitCount(numnextitems_calculated,commentParams.showcount)}} / {{numnextitems_calculated}} 1 « Pg. {{commentParams.pageid}} » {{data.config.endpage}}