Image courtesy of AOne Games

From kicks to crossplay: How Omen of Sorrow connects communities with Epic Online Services

February 21, 2022
In November 2018, indie developer AOne Games released its first ever game, a 2.5D versus-style fighter titled Omen of Sorrow, featuring characters inspired by film and mythology. For a new IP released without the backing of a major publisher, cutting through the noise wasn’t easy, but three years on, the game continues to thrive.

Along with its initial PlayStation 4 launch (that was a timed exclusive), Omen of Sorrow has since been released on the Epic Games Store and Xbox One, with further plans to port the game to every platform. And as if shipping on all platforms as an indie developer wasn’t enough, AOne plans to connect their player base into one community via crossplay after their final port is in the wild.

So what did it take to unite different ecosystems?...Well, years of work and rebuilding the entire online functionality. Thankfully, Epic Online Services (EOS) was made to speed things up.

Building a better monster

Based in Santiago, Chile, AOne Games was founded in 2015 by a group of talented people that shared a love of horror films, heavy metal music, and old-school fighting games. That connection led to the creation of Omen of Sorrow, a game that features characters inspired by classic horror icons like Dracula, the Wolfman, Frankenstein’s Monster, the Mummy, and more.

The team chose Unreal Engine to help create the distinctive graphics and bring their characters to life. Typical fighting games will use at least 100 animation clips for character animation, but in the case of Omen of Sorrow, they added 300 per character with complex combat scripts, all intricately tested for balance. “We really wanted to push the envelope in fighting games enabling players to feel the motion, agility, and force of the characters,” said Sebastián Gana, Co-Founder and Technical Director of AOne Games.
Image courtesy of AOne Games

In the end, the devs ended up taking advantage of Unreal Engine’s open source code and creating their own custom engine, “Nemo.” Using Nemo, Omen of Sorrow‘s vision really came to life. They were able to favor movement and spacing over precision execution in the design and leverage the skill levels of individual players. This made the game accessible to anyone, delivering immediate fun and hard-to-master combat mechanics.

A fork in the road

The game was developed under two tracks: The first contained the gameplay, characters, and all the essentials needed to play Omen of Sorrow; the second focused on online functionality.

With work on the gameplay well in hand, the devs began to create their online matchmaking using the programming language Erlang. The game was first set to be released as a PS4 exclusive, but their plans evolved to build a PC port via the Epic Games Store with crossplay between the two. Of course, when AOne started development of its game in 2015, crossplay wasn’t a thing. Most publishers didn’t support it, platform makers were against it, and a lot of technical sophistication was required to pull it off. So, to connect Omen of Sorrow’s PS4 players with those on PC, AOne developed its own proprietary matchmaking system, along with crossplay character selection and leaderboards.

After successfully launching Omen of Sorrow on PS4 and PC, AOne began looking at other potential platforms, starting with the Xbox One. To ensure the fastest possible response time for an online match, most fighting games—including Omen of Sorrow—use peer-to-peer (P2P) online functionality. This connects players through a P2P interface, enabling them to share packets of information with each other directly. For a competitive online fighting game, even a slight delay can cost the match. An issue that can easily take down a fighting game’s online community.
Image courtesy of AOne Games

Xbox requires a “relay server” system, which also connects players through a P2P interface, but throws in an additional stop at a relay server, which is meant to avoid any NAT traversal problems. For any future ports intended for Xbox consoles—including the new Xbox Series X/S—the developers would need to take that into account. It also created a major roadblock for crossplay between the platforms that use the relay server system and those that don’t.

For most devs with limited resources, adapting an existing system to accept different types of online formats is no small feat. That left the team with a difficult decision: abandon the idea of porting it for crossplay, or scrap what it had already done (including years of customized, proprietary work) and start over. It chose the latter, and reached out to Epic about replacing Omen of Sorrow’s online system with Epic’s online cross-platform services.

Out with the old, in with the new

“At first, moving to EOS felt risky,” said Gana. “The game had to be taken out of a ‘stable’ state for a large amount of time. However, it was necessary.”

Although daunting, switching to EOS proved to be necessary for AOne and the future of Omen of Sorrow. Along with adding the Xbox and PC ecosystem, switching to EOS also meant future-proofing the game for the next generation of consoles (which at the time had been confirmed but not released). There were other benefits, as well.

Along with solving the relay server issue immediately, there were other reasons for AOne to replace its own online system with the EOS SDK. To begin with, the cost of maintaining its own matchmaking system was very high, and EOS was free. EOS was also born out of Fortnite, so it had been battle tested with huge volumes of players and cross-platform play.
Image courtesy of AOne Games

Still, implementing a new online system required a significant amount of work. To begin with, at the time EOS’ online subsystems weren’t fully integrated into Unreal Engine, nor were there any available plugins. That led AOne to work directly with the EOS team to build their own plugin.

“During the EOS integration stage, Epic was very responsive on the hard technical side and even opened a Slack channel to directly offer support,” says Gana. “They had a lot of patience during the process, and I was given the opportunity to exchange knowledge with people who had a lot of experience.”

After completing the plugin, they needed to adapt EOS to Omen of Sorrow’s “quickmatch” system, a proprietary feature designed to search for players and create sessions with a single click. This enabled them to quickly test if the game was fast and responsive across platforms, and offered a consistently smooth experience.

Image courtesy of AOne Games

To avoid the dreaded lag, AOne combined the EOS P2P interface with a third-party software known as GGPO (short for “Good Game Peace Out”), a piece of middleware developed specifically for fighting games to create a near lag-free online experience. That enabled AOne to use EOS’s P2P interface to send those packets between players (including Xbox and the relay servers) and keep the online experience seamless.

“The simple and honest answer to how we overcame all the challenges of redeveloping the online functionality was that everyone involved, both old and new people, contributed with knowledge, experience, and investigation,” said Gana. “I think the key was having the freedom to make mistakes, which helped us to realize the correct path. East Asia Soft also came on board as a publisher during this port, which put even more wind in our sails.”

While the gameplay needed to be uniform across all platforms—including a solid 60 fps on each system—that uniformity needed to extend to all aspects of the online experience, including things like leaderboards and character selection (character selection was faster in some platforms, which needed balancing). There were also individual console requirements—despite EOS offering a unified approach for multi-platform development, exceptions required individual coding.

AOne resolved everything from the session creation to the online chat, while also positioning the new EOS functionality to include future ports of the game. With everything working, the devs saw their hard work pay off, and Omen of Sorrow was released on September 14, 2021 for Xbox One.

Image courtesy of AOne Games

The future is connected

Despite having just celebrated its third birthday, Omen of Sorrow still has several major announcements on the horizon. Along with crossplay for Xbox, AOne is also preparing ports for Nintendo Switch, PlayStation 5, and Xbox Series X/S. A Steam launch has also been confirmed, and building one connected community remains top of mind.

“We have learned so many things through this experience, and EOS helped to simplify development,” said Gana. “We now have a huge amount of cross-platform experience, which is great because crossplay is definitely a trend of the future.”

    We succeed when you succeed

    Epic believes in an open, integrated games community. By offering our online services to everyone for free, we aim to empower more developers to serve their own player communities.