Jump to content
View in the app

A better way to browse. Learn more.

Horizon Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Development Conversations

News and a conversation zone for topics related to the development of the Horizon software. Not something that we want to advertise or showcase but only discuss and seek opinions over.

Subforums

  1. Narratives which are likely to be the most common ways to bringing conversation to the table at Horizon.

  1. Multithreading is a key feature of Horizon and one of the main purposes of its creation was to leverage the ultimate power of multithreading and your computer's CPU hardware. We want to use as many cores as possible and be able to control the number of them running to balance the load of the server. With multiple cores come multiple responsibilities such as managing players, managing sockets, managing data and resources, managing multiple various technical controls which change into resourcefulness and add to the technical competence of the software in question. To read up on Multithreading and the benefits of it, linked below is a beginners guide to learning what is mult…

    • 0 replies
    • 297 views
  2. Started by Protos,

    Problem Identification And Solutions to Many Interdependent Architectural IssuesWith the program just being in its infancy, we are dealing with many architectural, design and build system issues. We're using the language's (C++) most practiced features and components. For example, we are using CMake as the build tool for the project as I've used other software which are game servers and have proven CMake to be industry standard. There are various features of CMake, GCC, Clang which we use to ensure that the software turns out to be of high quality. CMake provides CTest which is its Test Driver Program. Currently and actually throughout the software's lifetime we're writin…

    • 0 replies
    • 268 views
  3. On 12th March, 2025 we have reinstalled our runners. Runners are those which compile the project in its development environment and release key data that is crucial to the project's stability and testing. We are testing the project on 6 Linux VMs which compile the codebase in both GCC and Clang environments, each having Debug and Release configurations. Debug and Release configurations are the two different kind of configurations that the project can be compiled in. Debug means the project will hold debug information in its compiled state, while Release means a more optimized version of the software is compiled. Both these configuration was well as RelWithDebInfo are an i…

    • 0 replies
    • 187 views
  4. Started by Protos,

    Over the past week, I've been working on the walking and the attacking algorithms in the emulator. They had not been perfected in the previous releases. I wanted to work on the functional aspects of them. You can see in the videos I've posted on discord before there were some issues with the attacking algorithm when the character is away from the monster. It triggers a function called walk_to_unit which walks the character to the unit before attacking it. In our algorithm, the character only attacks the monster when it is at its destination. If it is not at the destination, the character keeps finding a path toward the destination of the monster before attacking it. When…

    • 0 replies
    • 108 views
  5. Here's a showcase of ASPD while damaging some mobs in mag_dun02. In this showcase we can see the attack formula applied with the damage defense, hit rate and correct calculations according to kRO's implementations. Recording 2024-09-23 171307- Dragonkilling199ASPD.mp4 Here's a video of CRIT Damage applications. When crit is applied, the damage is 1.4 times the amount of damage dealt. Recording 2024-09-24 142418-CRIT Test.mp4 â�¬Ã¡Here's a video of killing some monsters and an MVP. ASPD, Damage, HIT and FLEE tests.â�¬Ã¡ Recording 2024-09-23 184147-MVP.mp4 â�¬Ã¡ Here's me when I first coded in the ASPD calculations firing it…

    • 0 replies
    • 261 views
  6. Started by Protos,

    PBKDF2 (Password-Based Key Derivation Function 2) is a key derivation function that is part of the PKCS #5 standard. It is used to derive cryptographic keys from a password. PBKDF2 applies a pseudorandom function, such as HMAC (Hash-based Message Authentication Code), to the input password along with a salt value and repeats the process many times to produce a derived key. This process makes it computationally expensive to perform brute-force attacks. PBKDF2 was introduced in Horizon's newer releases for the safekeeping of passwords and user information. New commands were added in to the `auth` server along with this update - Command `reset-password <username> …

    • 0 replies
    • 181 views

Recently Browsing 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.