1 year 9 months ago
I’m a huge fan of FromSoftware’s trademark design philosophy, having played most of what they’ve made many times over, and yet, it took the announcement of a next-gen, Bluepoint-developed remake to finally give me the impetus to play through the original Demon’s Souls. Though massively excited by the idea of a next-gen Souls experience, one reimagined with unprecedented visual flourish and all the new shiny things next-gen can bring, I really wanted to play it within the context of the original. Playing the original Demon’s Souls was a terrific choice. While certainly less robust than what came after, often feeling like From’s Dark Souls dress rehearsal, once I’d dealt my final blow and made my decision as to the world’s fate, Demon’s Souls not only ranked super-highly for me amongst the other Souls games, but even helped me reconcile some of the lore elements I found less favourable in Dark Souls III. That said, I couldn’t help but feel something was missing. Though all Souls games are intentionally oppressive, lonely experiences, this one felt lonelier than usual. The reason? Its collective regional publishers—somewhat understandably—decided the running costs of its online services were no longer viable with dwindling users and, having already extended its life longer than intended, finally called time on its servers in February 2018. Because of that, my maiden playthrough of Demon’s Souls meant no in-game help from others - no messages from the community warning me of ambushes, no tips for upcoming enemies, and no trolls telling me to jump off ledges, which I secretly missed the most. Though in these games I usually opt not to call in help from other players (Darkeater Midir in Dark Souls III being the sole, ‘soul’-crushing exception), it felt weird having that cut-off as an option. It meant no tension from the possibility of invaders joining at inopportune moments, leaving me with occasional NPC ‘invasions’ that lacked the unpredictability of real humans, and I know that negatively affected the intended experience in one boss fight in particular. [poilib element="quoteBox" parameters="excerpt=The%20Archstones%20is%20a%20free%2C%20fan-created%20private%20server%20that%20restores%20the%20original%20Demon%E2%80%99s%20Souls%E2%80%99%20full%20online%20functionality%20for%20PS3%20and%20emulators..."] After talking about this on social media, a friend recommended I visit the The Archstones if I wanted that ‘true’ Demon’s Souls experience. And to my delight, I discovered a free, fan-created private server that restores the original Demon’s Souls’ full online functionality for PS3 and emulators, plus a 7,750 member-strong Discord community full of passionate Demon’s Souls fanatics that still actively obsess over the original game. Though my first playthough was over before I discovered this service, I couldn’t help but start a new game plus to see how it worked. Within seconds of a simple change to my PS3’s DNS settings I was stepping back in Boletaria, but this time with the comfort of seeing other player’s active, ghostly forms, their dying moments, and messages telling me that ‘the real Demon’s Souls starts here’. Indeed it did. [caption id="attachment_2433417" align="alignnone" width="1280"] A quick DNS change and I was in.[/caption] So how did this come to be? The Archstones is the work of Yuvi, a security engineer by trade, hailing from North America. Yuvi became a fan of Demon’s Souls with the western release, becoming aware of it with IGN’s own review but encouraged by the swelling positive buzz online. He wasn’t disappointed. “From the first 20 minutes, you knew exactly what you’re getting yourself into—a brutal and unforgiving game—but the difficulty never got to me, it only kept me going.” While Demon’s Souls focused on a dying world, it was the way its online elements made it feel alive that really captured him. “Demon’s Souls had some of the most memorable online moments I’ve ever had,” he says. “The world was alive thanks to bloodstains and messages. So many times I would believe a message only for it to lead to my death, or I’d watch someone else’s death play out and think ‘oh I can handle that’ and realise I was wrong.” [poilib element="quoteBox" parameters="excerpt=%E2%80%9CThe%20world%20was%20alive%20thanks%20to%20bloodstains%20and%20messages.%20So%20many%20times%20I%20would%20believe%20a%20message%20only%20for%20it%20to%20lead%20to%20my%20death%2C%20or%20I%E2%80%99d%20watch%20someone%20else%E2%80%99s%20death%20play%20out%20and%20think%20%E2%80%98oh%20I%20can%20handle%20that%E2%80%99%20and%20realise%20I%20was%20wrong.%E2%80%9D"] Like many others, he particularly enjoyed the invasion system and co-op. “I loved the thrill of invasions. I’m not usually a PVPer, but I always enjoy defending myself [in Souls games] and feel accomplished when I defeat the invader, or when I team up with others.” And this is why Yuvi felt the need to help save Demon’s Souls’ online functionality in the wake of its closure. “Demon’s Souls is an online-only game in my eyes,” he says. “From created a great world, but it’s a world enhanced by its online elements. They create fear and tension. Its interactions with allies and enemies are what made it really special.” [caption id="attachment_2433418" align="alignnone" width="1280"] Bloodstains and messages return![/caption] When the news spread of the then-upcoming server shutdown, Yuvi knew he had to do something. “It hit me pretty hard as the online was essential to Demon’s Souls. Without it, it’s not the same, it’s no longer alive and that’s not as enjoyable to me.” Thankfully Yuvi was no stranger to the preservation of online games. It’s a subject he’s been passionate about for close to a decade and a half, having worked on revival efforts for City of Heroes and helping with various fan-translation projects, and importantly, he wasn’t alone when it came to trying to keep Demon’s Souls online. A Reddit user known as ‘ymgve’ had started gathering network packet captures and other data needed to recreate the game’s servers. “I wasn’t actively a part of this project at that stage due to some big life changes, but I was keeping a close eye on it,” Yuvi says. Within hours of the official servers going offline, ymgve’s test server went live, but quickly indicated he had no intention making it permanent, and that’s when Yuvi stepped in. “Right away I pledged to create, host and manage the Demon’s Souls server, and started working immediately on a permanent home for the Demon’s Souls online community. I had my server up and running a day later. As soon as ymgve brought his server down, everyone came to mine.” But how do people like ymgve and Yuvi backwards engineer what Demon’s Soul was doing? [poilib element="quoteBox" parameters="excerpt=%E2%80%9COne%20of%20the%20great%20things%20about%20Demon%E2%80%99s%20Souls%20was%20that%20the%20network%20traffic%20was%20sent%20in%20almost%20plain%20text%2C%20which%20made%20it%20a%20lot%20easier%20to%20understand%20how%20its%20elements%20worked%20once%20you%E2%80%99d%20figured%20out%20the%20encryption.%22"] “One of the great things about Demon’s Souls was that the network traffic was sent in almost plain text, which made it a lot easier to understand how its elements worked once you’d figured out the encryption. For instance, it would periodically send ghost data to a ‘setwanderingghost.spd’ file on the server, with all the info it needed to then send it to other users in the same level, like coordinates.” “Using that same key, you could read all the data being sent to the server. From there it’s all about coding and replicating the information, and that’s what ymgve did using python2 and a sqlite database to house the player, message and bloodstain data. I still use ymgve’s code as a base to this day, though highly-customised and updated.” [caption id="attachment_2433419" align="alignnone" width="1280"] Now you do, buddy.[/caption] Though ymgve had done a lot of initial legwork there was still much to do, not only in understanding and replicating that work but also bringing more of Demon’s Souls’ functionality back from the dead. Thankfully, how the traffic moved between game and server was a huge help. “When I came in,” Yuvi says, “ymgve’s base emulator had the most visible features working, but I’ve since been able to finish off reimplementing more of the complex original features, such as ‘soul level restriction matchmaking’ and the dynamic global tendency.” World tendency was a subtle system where a combo of your actions, and the actions of others, could impact elements of your game world, such as opening otherwise closed areas or sending tougher ‘black phantom’ enemies your way.