Jump to content

Introduction

One of the most common questions that comes to mind when thinking of using a brand new emulator is - How is Horizon? and where does it stand as a software compared to rAthena, Hercules or any emulator of the eA family? Horizon came with the philosophy of creating a new emulator from scratch by -

  1. Understanding the code complexities of the previous generation and untangling the problems encountered in them within the new generation.

  2. Not repeating the same mistakes as which were created in the older generation.

  3. Using classes and structures to create a founding architecture that governed the superficial aspects of the program.

Horizon's Kernel

Writing code in Horizon's codebase is not an easy task. I untangled the logic of the previous generation of emulators, inspecting and analyzing how each of the components worked. By examining the components and their inter-linking I understood the cohesive and non-cohesive parts of the project. This created a sense of awareness of the types of sections or systems which were governing the game's mechanics. For Horizon's core logic, the fundamental parts of the previous generation were translated into a mainframe system of the new generation, one which incorporates a kernel and has many sub-components which can be profiled and controlled within the software application while it is running. So, keeping the fundamental aspects of the emulator in mind, I managed to decode the old code into a new systemized and grounded framework for which the software is capable of producing meaningful and correct information. This information tells us how the system is running, what is being performed and how well is it being performed. We need this to keep track of what's going on within Horizon and how well it performs.

Scalability and Load Balancing

Horizon's kernel is part of the system that keeps it different from the previous generation and also maintains a good control on multithreading within the system architecture. As seen in many of the posts on our forum and wiki, multithreading is a huge part of Horizon's scalable architecture fixated within the kernel of the program. The kernel manages several concurrently running modules which carry out different work within the software for its business needs which are more superficial. We've never seen a system with this capability before and neither will we see it in the future. Scalability is the key word which implies that the software is built for powerful workloads allowing system administrators to configure their choice of load capacities which the software will be handling. This is a powerful change from the previous generation of emulators. We have always wanted more control over the core processing power which run RO servers, and we have nailed it in Horizon.

Performance and Benchmarks

Horizon's performance cannot be noticed when played from one client. The importance of the software and the reason why we created it is noticed when a lot of clients are connected to the running software especially the Zone server. By creating stress test tools, we were able to benchmark the load on the server with 500 characters online, 1000 characters online, 5000 characters online and 10,000 characters online on a single server. The tool also made character walk and there was a significant awareness of stability in the server's current state in production. I like where we are with the production of it and that it can handle the player load that we had estimated in the beginning of the project. We can successfully estimate that it will be a success when the project is fully completed.

Customization and Extensibility

Horizon offers a high degree of customization and extensibility, allowing you to create a unique gaming experience for your players. You can easily add custom content, such as new items, maps, and quests, to make your server stand out. Horizon's support for Lua scripting allows you to write complex scripts for in-game events, NPC behavior, skills, game behavior and other game mechanics, all without needing to understand the underlying source code. The modular architecture of Horizon makes it easy to extend the server with new features and plugins, ensuring that you can continually enhance and evolve your server to keep your players engaged and entertained.

Future Prospects and Vision

The Horizon development team has ambitious plans for the future, with a vision to continually improve and expand the emulator's capabilities. Upcoming features and enhancements include better support for custom content, enhanced security measures, and further performance optimizations. The team is also exploring new technologies and techniques to ensure that Horizon remains at the forefront of Ragnarok Online emulation. By staying committed to innovation and excellence, Horizon aims to provide the best possible platform for server administrators and players alike. For the next 10 years of RO emulation, we want to be the most advanced emulator in development out there.

More Analysis on rAthena vs Horizon read topics in our category - Horizon vs rAthena vs Hercules

lov Sephus

User Feedback

Recommended Comments

There are no comments to display.