Sequoia Activity Summary

If you have taken a look at our recent dev blog entries, you may have noticed that the last technical dev blog was back in June 2020, which focused on progress made on the client up until that point. Since then, our dev blogs have covered various aspects related to game design, without any technical dev blogs whatsoever. Today is the day we bring you up to speed with the current state of development for Selene, along with our next plans. ![Sequoia logo](https://i.imgur.com/bjrGziZ.png) # Sequoia Overview Many of you are likely already aware that we will be using our own custom server software, [Sequoia](https://playselene.com/features/source/), but just as a quick reminder: Sequoia is our custom server emulator that aims to be the definitive pre-BB server source, providing a stable gameplay experience for multiple pre-BB versions, including v62, v83, and v92. Creating a source from scratch allows us to do this cleanly and avoid dealing with years of technical debt in existing Odin-based sources. Occasionally, people in our Discord have asked what version Selene will be. While Selene is a pre-BB inspired server, it is not tied to any specific pre-BB version. No existing vanilla client will be able to connect to Selene when we launch due to our custom version. Thanks to our work on Sequoia, we are able to build off of the same codebase despite not using one of the vanilla Maple versions. This means that any work we do on the core Sequoia codebase will benefit vanilla versions along with our custom version. Overall, our core philosophy when it comes to development is this: we would rather spend more time creating a stable, high-quality product that requires little maintenance instead of rushing to release with a low-quality public source that has constant downtime and requires continuous maintenance. # Progress Overview Shortly after we published the last technical dev blog, we came to the realization that Sequoia was not quite at a state we liked yet. Most of the missing work at that point was related to internal code rather than feature-related code, which explains why we have not had any dev blogs about it up until now. Now, however, we are in a much better state both internally and feature-wise. Some notable changes include: The groundwork for **multiple channel servers** is complete (although support isn't fully added quite yet). This will allow us to: - Split the load of channels across multiple physical servers, which will help performance with a large player base. - Host channels in different regions, lowering latency for players who would otherwise have high ping in the main channels. **Standalone "SequoiaUtils" project** which exposes Sequoia-related functionality such as registration, voting, rankings, etc., even if the game server itself is offline. This will be used for our website but will also be released along with the open-source release of Sequoia in the future. **WIP v92 support** v92 is the last version before the big bang update. As the last pre-BB update, it serves as a good "base" for Sequoia since features can then be disabled and/or backported for earlier versions. Our rough timeline of features for vanilla Sequoia is this: - Support all v62 content on v92, v83, and v62 clients - Support all v83 content on v92 and v83 clients - Support all v92 content on the v92 client - From here, we may then add support for other versions, such as v84 (Evan introduction) - It is unsure whether we will make post-BB Sequoia versions. For now, at least, it's definitely not a priority - When we do eventually open-source Sequoia, we aim to have full v62 and v83 support in order to provide a better alternative to existing public sources Additionally, we've managed to do some **stress testing**, allowing us to fix a number of bugs and optimize some parts of the code. Sequoia is quickly approaching feature parity with existing public sources while being far more stable based on our testing. ![Sequoia project commits graph](https://i.imgur.com/qSNfT0L.png) # What's Next Thanks to all of this recent work on Sequoia, it is in a much better place feature-wise, which will now allow us to transition back into client development. Even though client development was almost entirely stagnant since the last technical dev blog, we still took the time to revise the list of development milestones we hope to accomplish in the coming months. Our next goal is to start tackling these milestones, releasing progress updates in the process, with the ultimate goal of officially starting the internal alpha testing phase for Selene. While we still are not comfortable with releasing any ETAs, rest assured that we have a plan and are working hard to bring Selene closer to fruition. If you have any questions or comments, feel free to share them in our [Discord](https://discord.playselene.com/)!

Back