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.
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.
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.
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.