tournaments and ladders, oh my
Monday, December 17th, 2007I know all of you duelists out there are patiently awaiting Duels 2.0. We’ve been quite ambitious with this one and right now we’re wrapping up on Tournaments and Ladders. We spent so much time focusing on the gameplay for these that we didn’t even imagine how many architecture changes would be necessary. I wanted to share some of the difficulties I’ve been facing during these late nights of work.
In Duels 1.0 a challenge is very simple. There’s a challenger and a defender and some settings for the loadouts, openers, and scrolls of the two players in the fight. The challenge doesn’t actually exist until the challenger issues it to the defender. The defender then responds with an accept or reject before the challenger cancels the challenge. Keep in mind that rejecting and canceling have no adverse effects.
In Duels 2.0 a challenge is much more complicated. In addition to Duels 1.0 settings and the new action sets which must be replenished before a fight, there’s the complication of Tournament and Ladder fights.
With a Tournament, a challenge must be issued to both players at the same time and their individual responses to the challenge must be tracked. You no longer have a reject or cancel response, but either duelist can explicitly forfeit by taking that action or implicitly forfeit by taking no action before the current round of the tournament ends.
Ladder challenges are even stranger. When you request a Ladder fight you are matched with another player. You accept the challenge and it gets sent off to the defender, or you forfeit and lose Ladder points that your would be defender now gains.
New data models are necessary to track these multiple responses and old data models have to be modified to allow challenges to exist even while missing most of the information that’s normally been required for the challenge to be a challenge. Then once you’ve got the data modeled correctly you have to update the functions throughout the system that interact with those models.
These 300+ challenge touch points throughout the system are then quite unstable and have to be examined thoroughly before they can even be trusted on beta servers where beta testers are still working through actions and balance changes. Once that’s taken care of there’s still the matter of building out the Tournament and Ladder features that required those architecture changes.
And that’s what I’m doing now, once again at 3am. I feel like Santa… err… Senter Klas putting the finishing touches on the toys before Christmas. For now I’ll leave you with a simple screenshot from one of the Ladder pages.
EDIT: I’ve also added a screenshot of our Tournament viewer in a 64 player Tournament that we simulated.

