How A PC Game Got Cross Platform Multiplayer With Wii U



Dark Roast Entertainment is looking to bring their card game Lucadian Chronicles to Steam. It’s out now on Wii U and if a PC version comes out the game will have cross platform multiplayer. We spoke with co-founders James Margaris and Fumi Shiraishi to find out how they connected players on Nintendo’s console and PC.


Lucadian Chronicles has online and asynchronous multiplayer on Wii U. As an indie developer, how complicated was it to add networking to your game?

James Margaris, Co-founder of Dark Roast Entertainment: We have our own servers that the clients communicate with. People talk about “the cloud” and “dedicated servers” like they are a new or exotic thing, but even a 2-person company like us can have our own tuft of cloud. Our servers have most of the game data and handle most of the game logic. That’s why we’re able to do things like change battle rules without a client patch.


I guess the answer to your question is “we have our own servers and database that handle multiplayer.” In retrospect it was biting off a lot – we use three different programming languages (C++ , C# and Python, not to mention some admin pages done with Javascript) and have to maintain and test a client, a server and a database. But online was very important to us – I don’t think the game would feel complete without it. Luckily both of us have a lot of experience in client-server programming so we were equipped to attempt it in a way many indie developers may not be.




Lucadian Chronicles is on Steam Greenlight and if a PC/Mac version is made it will have cross platform multiplayer with the Wii U version, which is uncommon for console games. How did you develop this?


When you start up the game in logs in to our servers by matching your Nintendo Network ID to our own internal account system. The PC version also logs into this same set of servers. Nearly all the game logic is handled on the servers – so if you’re playing on the Wii U with someone on the PC you’re never communicating with them directly (it’s not peer to peer), instead you’re both communicating with our server. Our server keeps track of things like which round of the draft you’re on, which cards you’ve picked, your league standing and matchmaking, etc.


Battles are also calculated on the server. The way the battles work is that when you submit a team the server plays out the battle and creates a record of everything that happened in the battle. That record is then sent to the client, which renders the battle as if it’s happening in real-time. But in reality the battle has already completely played out.


What the client gets from the server for battles is a list of events like:

"Guy A hit Guy B for 10 damage with a melee attack"

"Guy B used this special ability, lost 10 TP, and did 3 bonus damage with a ranged attack"

The client knows how to interpret these event descriptions and display the appropriate animations.


That’s part of the reason why we are able to dramatically change cards (for example we recently replaced Aether Shaper with a card that functions completely differently) without patching the client.


In same ways the technical implementation is similar to an MMO. You could play Final Fantasy XI on PC or PS2 with players from one platform interacting with players on the other, because that game was also server based, with the same server able to speak to a variety of clients. (Fumi, the other half of Dark Roast, worked on the PC implementation of FFXI)


Making the game cross-platform wasn’t particularly difficult for us, either technically or in terms of policy. I’m not sure if it’s different for PS4 and XB1, but Nintendo didn’t have any objections to this client/server model. There’s a certain level of complication making a client/server based game – we have to maintain a database, write separate server code, etc, but supporting multiple platforms with the same server doesn’t add much difficulty on top of that. The barrier is less technical and more in adhering to the policies of the different platform holders, but in this case Nintendo had no problem with the idea.


Dark Roast released Lucadian Chronicles for free and playerss can upgrade from the free game to a full game. Why did you decide to go for a free to play model and how has the experiment worked out?


Fumi Shiraishi, Co-founder of Dark Roast Entertainment: I think being the only game that does something is cool in itself, so that was definitely a factor. The main reason though, was that we wanted to get people to play. An online game like this is only fun if there are enough people playing it. To ensure that players, paying or not, had others to play against, we needed to make part of the game free.


JM: I think this was a good choice. A lot of people have downloaded the game. It’s a game with niche appeal so we didn’t expect high conversion numbers, but I think this strategy has worked out better than a conventional one would have, especially since our pricing isn’t in impulse-buy territory.


I should also say that going with this model was surprisingly easy. There was no institutional or infrastructural barrier.


What’s brewing inside Dark Roast now?


JM: For the most part we’re still focused on Lucadian Chronicles. During the certification back-and-forth we had some time to work on prototypes for next projects and I think we have some good ideas. But there’s still a lot of work to do on LC, so it will probably be a while before we revisit those prototypes and have something new to announce.


Lucadian Chronicles is looking for support on Steam Greenlight. If it gets enough votes, Dark Roast plans to release Lucadian Chronicles on PC and Mac this summer. You can vote for the game to get on Steam here.

Siliconera Staff
Sometimes we'll publish a story as a group. You'll find collaborative stories and some housekeeping announcements under this mysterious camel.