Per Nilsson

MechDuels by Challenge Games

MechDuels is a new type of game for Challenge Games. It's a synchronous game, where players play in real time against other online players. This presented some novel challenges for me as a developer and an interaction designer.

MechDuels Battle

Challenge Games make games that run in a player's web browser. Their games are role playing games and collectible card games, built as a web site with story development and player-vs-player action. Players battle each other asynchronously. Apart from the initial conditions (e.g. starter spell, card stacking order) the result of the fight is computed by the server, and players can watch the fight unfold at any time. MechDuels was conceived to break from the asynchronous nature of games like Duels and Warstorm, and start a new paradigm.

Design Process

  1. Game designer came up with story, environment, mode and rules of play.
  2. Based on the synchronous, time-sensitive mode of interaction between players, and listening to stories from frontend developers of our other games, I developed use requirements and technical requirements for the web application.
    1. It was important that players were notified directly of challenges and achievements, without having to navigate to a different page.
    2. Chat clients used for message pushing work best when they stay loaded in the web browser.
    3. The basic structure i devised for the site was a content panel, updated via AJAX, and a frame containing a chat client and navigation elements. This solved technical problems with chat, and as a bonus would reduce load on our web servers.
  3. Using input from stakeholders (game designer, producer, art director), I developed the information architecture, and delivered a site map to the visual designer.
    MechDuels SiteMap
  4. I made content-complete layouts for all screens, and storyboards for the more complex screens like the Mech Builder and the Battle Viewer.
MechDuels My Army Wireframe MechDuels My Army Final Comp

Lessons Learned

I learned a lot developing my own AJAX content loader, but the process would have been less painful and the results would have been more solid had I looked to Facebook's technology platform for inspiration.

When tackling a high-risk project, limit the amount of new or complex technologies being used. We envisioned the backend being able to interface more closely with the XMPP layer, but there just wasn't development time for all the neat solutions.

Make sure the entire team has a unified vision of the target users, early on in the project.