March 18, 2025Mar 18 Hey everyone,As we push forward and prepare for the first release of Horizon, it is crucial for us to protect and maintain several rules and strict guidelines shaping the code written in the software. Software can't be written without rules and impositions which create a generic and obedient command over the software and its structure. We cannot disobey the logic followed when the application of concepts and philosophies in our software are imposed, and we cannot create transgression when building software. Transgressed software is detrimental to our concerns and will illogically provide us bugs and details of unethical conduct of manner which we cannot permit in software. We want our manner to be behaved and rules to be followed. To help us get to this extensive requirement of identifying flaws and areas for improvement we require a team of reviewers or a Software Review Committee who need to create powerful structures and code of conduct within the developer community.Here are the rules that the committee should seek upon adding to our codebase and its developers alike -[For Core Development]Core development is the foundation and the foothold of the software that agrees with the top and structural "machina" of the software. The architecture of the core creates a founding control and stability over the structures and systems that are created above it. The core decides whether the software is sound, stable and right in its design and architecture, while the structures above give it shape and nothing but little structure to understand its design requirements. The core of the software or the foundations comprise of its kernel, and the additional components that make the kernel work and function as a whole. The kernel provides the system above a large foundation to be built on top of. The system doesn't rely on any underlying architecture except for some libraries and dependencies which are outside the scope of the software being built. The core or foundation of the software will guarantee that the structures above don't fail and are provided with what they require to function.[For Support Development]Support development is the framework and surrounding structure development of software built on top of its core framework. The support developer team will focus on the business requirements of the software not the founding architectural needs or the dependencies. Support architecture is less focused on when building support systems. The need for several features are important in support development such as the Game requirements or the game logic that functions the business needs and the functioning of game components. For example support developers need to focus on features such as - Player objects, Map objects, Search algorithms, Monster behavior and core technology that will help them function. Additional examples include UI related requests to the server, the UI needs to be made functional by implementing support algorithms and features that will enable the functionality on the client. This is the requirement of the Support Developers that the Review Committee should be well aware of.[For Script Development]Script development includes the building of Lua scripts to extend and modify the behavior of the entire software. We have designed scripts to be an extension to almost all parts of Horizon and are welcoming developers to share their ideas on extending areas of the software that we haven't explored yet. For script development, the Lua Review Commitee is a team designated to work with the developers and provide them with the guidelines and help the require to frame and shape Horizon's script codebase.Guidelines For Each Review Committee MemberAs a Review Committee team member you are required to assess the changes (Pull Requests and Merges) that are made by all the core developers and the support developers. We on the review team decide how the software is shaped and how it functions. The Review Committee team will abide by the following rules in reviewing software -Ensuring Architectural Congruence and Systemic Integrity: The committee serves as an agreement on architectural modifications, meticulously evaluating proposed code to ascertain an adherence with the laws and congruence to the overall architectural blueprint of the software.Cultivating Codebase Homogeneity and Maintainability: Through rigorous scrutiny of coding style, conventions, and best practices, the review committee fosters a cohesive and uniform codebase, thereby significantly enhancing its long-term maintainability, reducing cognitive load for developers, and mitigating the accumulation of technical debt.Facilitating Proactive Bug Identification and Mitigation: Functioning as a critical quality assurance layer, the committee diligently examines code for logical flaws, potential edge cases, and latent bugs, thereby enabling the early detection and rectification of defects before they propagate into production environments, ensuring greater software robustness.Promoting Knowledge Dissemination and Collaborative Learning: The review process acts as a vital conduit for the cross-pollination of technical expertise and domain knowledge within the development team, affording opportunities for less experienced members to glean insights from seasoned professionals and fostering a culture of continuous learning and collective ownership of the codebase.Upholding Performance Efficacy and Resource Optimization: The committee critically assesses the efficiency and scalability implications of proposed code changes, identifying potential performance bottlenecks or resource-intensive implementations, thereby ensuring the software operates optimally under anticipated load and minimizes unnecessary resource consumption.Guarding Against Security Vulnerabilities and Ensuring Robustness: A crucial mandate of the review committee is the proactive identification and mitigation of potential security vulnerabilities embedded within the code, safeguarding the application and its data against malicious exploitation and ensuring the overall resilience of the software system.Verifying Test Adequacy and Quality Assurance Protocols: The committee extends its purview to the evaluation of accompanying test suites, ensuring comprehensive test coverage and adherence to established quality assurance protocols, thereby bolstering confidence in the reliability and correctness of the implemented features.Enforcing Adherence to Project Standards and Regulatory Compliance: The review committee plays a pivotal role in ensuring that all code contributions comply with predefined project standards, industry best practices, and any relevant regulatory requirements, thereby mitigating potential legal and operational risks.Serving as a Repository of Collective Wisdom and Best Practices: Over time, the deliberations and decisions of the review committee establish a valuable institutional memory of coding standards, architectural rationale, and effective problem-solving techniques, contributing to the ongoing evolution and refinement of the development process.How to apply?There are 3 review committees in Horizon's Development Team -The Core Review CommitteeThe Support Review CommitteeThe Script Review CommitteeTo apply, send in your application as a personal message to @Sephus here on the forums with the following form filled -Review Committee Application FormName:Designation: (Which committee are you applying to):Date of Birth:Occupation:Credentials / Qualifications (Work that would make you an ideal candidate for being on the desired review committee):How many days/months/years will you dedicate to our project? (More days are preferred)Best of luck, Sephus
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.