I completely restructured the entire project, including the website, this time opting for VueJS, all while providing training along the way. This architectural overhaul has empowered the Flavibot's author to develop in a modular fashion, resulting in significant performance improvements.
As of today, Flavibot is in use on over 215,000 servers, serving a user base of over 20 million users. It is notably featured on the Rocket League France server, as well as those of Kotei and Kameto, among many others.
To address this gap, I developed a matchmaking algorithm within a tournament management system. This platform provides a comprehensive range of options for organizing various types of tournaments. Furthermore, it allows participants to link their accounts to Riot Games, enabling the site to retrieve their profiles and perform automatic balancing based on their ranking (elo) and role preferences (lanes).
This project is developped with separated backend and frontend. The backend uses NodeJS and Express, while the backend uses NodeJS and Angular.
C++ 2D/3D Engine
My primary objective is to gain a deep understanding of the inner workings of existing 3D engines, focusing on algorithm optimization, shader programming, lighting techniques, and other critical aspects encountered in engines like Unreal Engine and Unity.
This endeavor involves creating a potentially stable and reusable engine suitable for various 2D and 3D projects, with an emphasis on optimizing performance and resource utilization while keeping complexity in check. To guide my efforts, I draw inspiration from the structure of the THREE.js library, which leverages WebGL for rendering.
League of Legends website
The website also allows visitors to view a player's profile. The profile includes four informative tabs: the history of their games, mastery of their champions, recent rune pages, as well as details of the ongoing game. Furthermore, the site displays the player's ranking and in-game statistics.
Lastly, a fun feature called "Ultimate Bravery" is available, allowing players to randomly generate a consistent build, runes, spells, lane, and champion to spice up their matches.
To keep the information up to date, the site automatically updates data based on the latest game patch, thanks to a cron system.
Runeterra 7 families
An earlier version of this game is available online on my GitHub account, using Firebase and PHP for its functionality, but it doesn't work well. Currently, a new version is in development, based on NodeJS and incorporating Socket.io for enhanced features.
Soraka Discord bot
This bot has been offline for five years now, but the GitHub repository is still accessible.
The project involved the creation of a wallpaper website, allowing users to download, upload, and share wallpapers, accessible both on PC and mobile devices. Unfortunately, the website is no longer active due to a lack of user activity.
PHP base template
www/ : The visible part of the website. api/ : The backend, if needed. developer/ : A graphical interface for inspecting and testing various API endpoints. engine/ and common/ : Fundamental structural elements of these directories.
The structure draws inspiration from ExpressJS, particularly for the MVC (Model-View-Controller) pattern, controllers, and routing. It also incorporates a guard system inspired by Angular. The design of the RESTful API and the developer section is influenced by Riot Games' developer API.
I used this template for a university project, and the new version of my website benefits from it.
While I haven't created a wiki for using this template yet, I plan to do so in the near future.
C / C++ project script
It handles project structure configuration, library integration, compilation, and execution.
This script is a tool I use in most of my projects when developing on Linux with Visual Studio Code.
I have made it publicly available for anyone to benefit from when needed.
You can configure Visual Studio Code to launch the debugger with this script, making debugging an easy process.
Over time, I added utility functions (such as time-based transition functions), classes (like Vector, Matrix, Time, Quadtree, PerlinNoise, and Color), and even a camera system and plugin management.
It finally evolved into a small library that makes it quick and easy to develop simulations or games.
I've made this library publicly available for others to use. An NPM package is also available.