I've been working on Nemesis Mode, Miranda's new multiplayer matchmaking system for the next Early Access monthly update. (Learn more about Early Access and support Miranda's development here.) I had a bunch of ideas for the kind of multiplayer I wanted to have in Miranda, but I hadn't played much RTS multiplayer for quite a while so to figure out what modes and features I might have missed, I looked at all the RTS games that people rave about. And some others. I got a couple good ideas about features, but I was pretty shocked at what I discovered:
Deathmatch and Capture the Flag. That's it. Wait, what? Are you kidding me?
Nemesis Mode is planned to support from two to eight players in a match. Matches will play out in the regular world with other players around. Players will enable Nemesis Mode with a push of a button on Miranda's HUD and that will highlight them on the base layout map as seeking a match. Players will need to be within a certain range of each other to match. Once I have support for friends lists, the player will be able to specify games with only friends, or team only with friends on Miranda's settings screen. The settings screen will also allow players to opt out of specific game modes and set a time limit if they have a limited time to play. If players get disconnected due to a networking problem they will be able to rejoin their multiplayer game in-progress.
These are some of the multiplayer modes I'm working on for The Imperial Realm::Miranda's Nemesis Mode. This is a working list and some are variations on a theme, so don't get too attached! Not all of them may end up in the game, certainly only a small subset at first and others may be added. There are a lot of details I'm leaving out.
Winners will be rewarded with XP, loot, and a win in their stats.
Losers will gain XP, Loot and a loss point which is cashed in when you win for bonus loot. They also get a loss in their stats.
I'm adopting a system for quitters like League of Legends Leaver Buster. Players who disconnect and don't come back before the end of a match, or who go AFK for more than 5 minutes will have the match counted as a loss (even if their team wins) and won't gain XP. They will also be penalized:
Players will need to complete five Nemesis Mode games without a quit to reset the matchmaking delay.
So after reading all that you're probably thinking "wow, that's a lot of stuff." Yes it really is. I wanted to do matchmaking in the first monthly Early Access update because I think it is super important to help players interact with each other. But after I spent two weeks of my month fixing bugs in the Early Access release to make it stable, I suspected it would be more than I could do in the remaining time, and I was right. But I did it anyway. I had planned the next update for June 13th, and I'm working hard, but I'm not sure quite yet when Nemesis Mode will be ready for players. Sorry about that.
I've been working on the server side, creating the matchmaker and a new service to manage the individual game sessions and integrating those into the game simulation, build pipeline and tools. I still have to add support for the new game modes to the client and server, add some UI screens to start and end matches, add the objectives list to the HUD, add new team and match channels to the chat, and make some additions to the map. There are a few other things I'm still considering and some of the things described here may still change. Whew.
I've also been teaching myself computational geometry! Ick. One of the tricky problems with matchmaking is figuring out which players to group. You can't just put one player at the centre of the circle and include everyone in a given radius. The circle around the players in the match has to be of a specific size but the players can be anywhere within it and you want as many players as you can get. First I thought I needed the Smallest Enclosing Circle algorithm, but after some thought, I realized I actually need an algorithm for finding the circle which encloses the maximum number of points. And I need a weighting system so friends are more valuable. The algorithms for that that are fast are all super-mathy with no codey type examples, so at this point I'm planning to use a moderately mathy O(n^3) algorithm I figured out while I was reading my daughter Terry Brooks Witch Wraith tonight.
Questions? Comments? Helpful suggestions?
We were unable to retrieve our cookie from your web browser. If pressing F5 once to reload this page does not get rid of this message, please read this to learn more.
You will not be able to post until you resolve this problem.
Homepage: onemanmmo.com email:one at onemanmmo dot com
Homepage: email:
Conceivably there also should be some method to dig yourself out of the hole (twice as many validly participated games as the number you ditched? three times?).
Consider your stereotypical teenage gamer: playing their favourite RTS MMO when Mom pops in and tells them to take out the garbage. 6 minutes later, they're back at their computer to find their reputation one step worse. Thought they had time for one more round, but have had their modem unplugged by Dad and told to sleep. Another black mark.
You have to have a light hand on punishment, because with the net there are countless cases of legitimate unplanned loss of connection.
Homepage: onemanmmo.com email:one at onemanmmo dot com
Players who play 5 games in a row without ditching will have their timer reset.
I'll think some more about the teenager problem, thanks for the feedback.