On Saturday we will have the first instance of our next public event: an alien invasion reminiscent of the massive invasions and task forces of City of Heroes. To prepare for this event, we’ve created a big battle simulator within Ship of Heroes to test and perfect a few elements for larger invasions and big battle situations. We call our simulated invasion “Operation Valhalla”, and we are using it to figure out how big a “big battle” can be in Ship of Heroes.
“Why are all the buildings in this city fireproof? Oh, no reason.”
The way it works is conceptually simple: we pit AI-controlled heroes against waves of AI-controlled enemies. The combat is recorded by one of our devs, who gives us a real FPS value. We run the battle on our rented high-intensity server in Seattle to test the real server-client communication. The dev who recorded this video is in Southeast Asia. We monitor performance in several ways:
- With the computer stats function built into the Epic Game’s Unreal 4 engine, which tells us what is happening in great detail.
- With the FPS meter in the upper left, as usual.
- With a UI box on the right hand side that shows the settings for the simulator and ongoing results from the battle.
- We also test for prolonged periods to assess network stability and functionality.
The resulting chaotic brawl is pretty cool – we’re not aware of any other pre-launch MMO that shows this sort of thing.
“Uh oh. That’s a lot of Nagdellians.”
Under the worst conditions, we can maintain 60 heroes and 90 Nagdellians in the same small area and still hold about 25-30 FPS on a client computer with a 1070 GTX graphics card, which seems to be the limiting factor in SoH and in other games for displaying large battles. 60 + 90 is one of the highest counts for big battles in any modern MMO, and we might be able to push even higher if there was enough popular demand for it. We can create raid with multiple simultaneous combat locations that can handle over 100 heroes and 200 Nagdellians in the same event.
Here the FPS is 53.1, but as more enemies and heroes fill the map the FPS will drop.
Big battles are a challenge for modern MMOs with superior graphics, like Ship of Heroes. We looked around to get some sense of the size of big battles in other MMOs; see the table below. Keep in mind that we spend most of our time developing SoH, so we may have some of these numbers wrong. These figures are just estimates, or what we’ve personally seen, while playing other games. If you have more detailed information, join the discussion on our forums.
|Game||Big Battle||PvE or PvP||Special Maps or Open World||Max Numbers of Players||Max Number of Characters (Players + NPCs)|
|1||City of Heroes||Mothership Raid||PvE||Open World||50||~70-100|
|2||Dark Age of Camelot||PvP Siege||PvP||Open World||50*||50*|
|3||SWTOR||World Boss Fight||PvE||Open World||24||40|
|4||Secret World||World Boss Fight||PvE||Open World (SW)
|5||Ship of Heroes||Operation Valhalla||PvE||Open World||60+||150+|
*Some battles can go above this number, but FPS falls rapidly.
We’re calling these tests “Operation Valhalla” after the home in Norse mythology for heroes who fight endlessly in the afterlife. We’ve chosen to use the location in Apotheosis City under the Arch as our test location. The Arch makes this area the most graphics-heavy spot for a big battle in the entire city, and it is also an important location in the lore of the game. If we can make a big battle work here, we can make it work anywhere.
We start by adding heroes and invaders. Every hero is an individually unique fighter created in our CCT. The enemies are standard Nagdellians that you’ll find in missions. We’ve added some new enemies to our roster, like melee and healing Nagdellians, and some additional powers, like AoE heals. As far as we can manage, this system replicates what real players will experience in-game. The next step will be real testing with real players; we’ll get to that starting on the 15th.
“We won! …Wait, is that another portal opening?”
Our current tests use graphics level two, a median level in our adjustable system; level one eliminates shadows, while level four is the highest graphical quality for things like taking screenshots. The FPS shown in the upper left is for one of our devs in Asia, running on a server in the US – another worst case. Every player is going to have different effects from hardware, software, internet connectivity, and location. Time of day will also matter. This is part of why we target 30 FPS: if you end up with 22 FPS in your location, it still won’t be too laggy to play. Note that recording the video takes client computer power, and lowers apparent FPS – something that real players will not have to experience.
The player simulation UI in the upper right shows how many are fighting on each side, and how many have been killed so far, as well as the target numbers for each side. Once the fight reaches full numbers, the computer starts resurrecting the dead and throwing them back into combat, keeping the number of active participants on each side close to the targeted level for as long as we choose to run the simulation.
Recording this video does lower the FPS a bit, so when we finished the video, we left the battle running and starting snapping screenshots with the video on and off so we could assess the effect on FPS of recording the fight. Some of these screenshots are below. Recording generally reduces the recorded framerate by about 3 FPS for us, so you can look at any portion of the video and assume the FPS would be higher by at least 3 if we were not recording.
No, that’s not your computer smoking. Probably.
What can a player expect in next week’s public event, which will be an upgraded version of this invasion? Well, here are a few things to know:
- The upcoming event is a test. We hope to see FPS numbers like this in the upcoming event, but there’s no way to be certain until it happens. That’s why we test so much.
- The fight you get to participate in will be different. We have a couple of invasion surprises for our testers.
- We’ll start with thirty or so heroes, if we get enough volunteers, and thirty Nagdellians. We’ll expand from there. We’ll likely be testing on multiple days as we discover bugs and issues, and then fix them.
- We’ll ask testers to record their FPS, computer hardware stats, and invasion observations in the forums for everyone to read.
But the bottom line is this: if we can make this work, Ship of Heroes will have one of the best big battle capabilities of any new MMORPG, and all of this fun will be available to new players. This is definitely not endgame content!
Please remember to power up responsibly before combat! These Nagdellians are not fooling around.
We’re excited about ramping up this capability, and hopefully joining the ranks of the best MMOs in the business, in terms of big battles. You can sign up for the invasion testing here on our website.
It is your donations to Ship of Heroes that power our development. Please support us if you can. Thank you all!
1. This video was created from a simulation of heroes vs Nagdellian invaders in Ship of Heroes. It’s as close as we can get to what a player would experience in a raid without actually running one. The video was recorded in a real client/server configuration.
2. Figures shown for other games in the table are our best guesses, and they may be wrong. If you have more detailed information to add, please let us know the correct number(s) with links to any documentation in our forums.
3. The powers, animations, and FX shown are getting better and better. Eighteen powersets are currently being displayed in this video.
4. In SoH, the mob sizes and levels of enemies in invasions automatically scale to the numbers of the heroes in the area, and to their average level. An invasion that attacks a hero group of seven players at level six is completely different from an invasion that attacks sixty heroes at level forty.
5. We’ve made alternative versions of this simulation that allow us to test powersets, and even individual powers, in a big battle to ensure that each power in every powerset is performing according to our specifications.
6. We set up a special high-intensity server with our server vendor for this video, and for future development. This was a difficult task in the current COVID environment, but we feel that this server better reflects the typical operating environment for MMOs. We will also conduct the community invasion tests on this high-intensity server.