Cette année 2026 marque mon retour à la programmation en C++. Je m'étais éloigné du développement pendant 18 mois et j'avais besoin d'un bon projet (lisez : complexe mais fun) avec lequel mettre de nouveau mes mains dans le camboui, et ce de manière extensive.
Ainsi donc, j'ai décidé de m'attaquer à un projet dormant depuis ma tendre adolescence : développer mon propre émulateur pour Lineage 2. Puisque mon expertise est principalement axée autour de C++, j'ai d'abord effectué quelques recherches en ligne pour voir si un tel projet existait déjà – sachant que de nombreuses versions en Java sont en circulation depuis 20 ans.
Il existe effectivement un émulateur en C++ nommé L2Adena, mais il est abandonné depuis longtemps et son usage du C++ est vraiment daté, donc je l'ai vite déconsidéré. Mais rapidement, je suis tombé sur un article de blog d'un gars qui développait sa propre version en C ! Il m'a pointé vers différentes ressources relatant du protocole client-serveur, et de là, ma quête était lancée.
Des petits projets comme celui-ci sont une mine d'or parce qu'ils vont au plus direct sans s'encombrer de trop de complexité, ce qui permet de se concentrer sur les basiques. Son code m'a donné toutes les infos dont j'avais besoin concernant la cryptographie utilisée par le jeu afin de démarrer ma propre version sans bêtement copier. Tout ceci, bien sûr, après avoir dûment cloné, compilé et lancé son code pour explorer jusqu'où il était allé.
Dans un billet futur, je plongerai davantage dans les détails techniques du démarrage de ce voyage que j'entreprends. À la prochaine !