Starisland est une map Garry's Mod DarkRP à ciel ouvert (notez le c'est important), sur le thème de Miami et de GTA Vice City.
Comment résumer environ 2,5 années de travail semées d'embûches... Commençons par le commencement. Mais avant, j'aimerai vous donner un peu de contexte. :)
Nous sommes en 2016, plus précisément en mars (ou avril). Cette année est pour moi l'année où je passe le brevet, c'est pour dire à quel point ça remonte. À l'heure où je vous parle, je suis sur le point de terminer en master 2, soit 5 années après le bac. :')
Après avoir passé à peut près 3 mois à essayer de compiler la map Rockford V2(b), je réussi enfin à apporter mes propres modifications et à les proposer à mes potes. Pour moi, c'est le début du map making sur Source Engine. À l'origine, je n'avais absolument aucune ambition. L'idée était simplement de modifier Rockford pour ajouter des rampes, sur lesquels moi et mon cousin pourrions faire des cascades en voiture. Oui c'est aussi nul que ça. C'était faisable via les addons, j'aurais pu simplement poser des formes, des modèles proposés par Garry's Mod sans même avoir besoin de passer par le Workshop, mais j'ai décidé de modifier la map. xD
En réalité, je sentais qu'un potentiel plus grand s'ouvrirait à moi si je réussissais à compiler la map. Ça m'a pris ~3 mois, c'est bien la pire chose que je recommanderai de faire à quelqu'un. Toutefois, j'ai réussi. :)
À ce stade, les seules manipulations que j'étais en mesure de faire étaient des modifications assez simples de la map. Changer des textures ici, rallonger un mur par là... Cependant, avec le temps qui passe, j'ai appris à mieux appréhender l'éditeur de niveau, Hammer World Editor. Je suis alors mis à faire des modifications de plus en plus poussées. C'est alors que je me suis dit que ça serait une super bonne idée de faire une vidéo YouTube où j'expliquais comment compiler la map Rockford. 🤡
Et oui car à cette époque là, je maintenais une chaîne YouTube (qui existe toujours) et c'était jusque là l'un de mes principaux passe temps. J'ai alors eu beaucoup de commentaires, beaucoup de personnes ont souhaiter me contacter, ce qui honnêtement était assez inédit pour moi. Aujourd'hui, j'ai supprimé cette vidéo car très honnêtement, c'était un concentré de tout ce qu'il ne faut surtout pas faire. J'avais même fait une seconde vidéo censée être un peu plus claire pour ceux qui n'avaient pas bien compris. 😂
Enfin voilà. Parmi ces rencontres se trouve quelqu'un avec qui je me suis bien entendu et avec qui je suis vite devenu pote (ouai je dis pote), Loïc Dekeyser. :D Sans rentrer dans les détails (car il y en a beaucoup 😂), il me proposer de créer avec lui un serveur DarkRP sur lequel on pourrait faire notre propre map. Et honnêtement, l'idée m'avait beaucoup emballée. Il apportait le serveur dédié et les plugins, j'apportais la map. C'est comme ça qu'est née ma toute première map publique, la Rockford Actu-Gamework (en référence à mon site de l'époque). Je ne vais pas présenter cette map sur ce site car c'est pour moi une erreur de parcours, mais qui a été une étape obligatoire selon moi pour en arriver là où j'en suis aujourd'hui. 🥲 Je vous laisse libre d'aller visiter le lien vers mon ancien site, avec tout son vieux sel de 2018.
Cependant voilà, cette Rockford modifiée, mutante même puisqu'en réalité, c'est une map reconstituée avec plusieurs bouts d'autres maps, et bien elle m'a causée plus d'un problème. Est-ce que vous connaissez le principe de propriété intellectuelle ? Ou peut-être encore le principe du respect du travail d'autrui ? Parce que le Sofiane de 2016 il ne les connaissait pas trop. :)
Le Workshop était pour moi une bibliothèque géante où je pouvais puiser des idées, des ressources, tout ce qui pouvait m'être utile pour améliorer la map. S'il est vrai qu'il s'agit en fait du principe même du Workshop, en tout cas pour les joueurs, il n'empêche que l'utiliser comme tel pour la création de contenu est douteux. Les moddeurs, qui me paraissaient alors comme étant des personnes inaccessibles souvent anglophones, m'ont parues beaucoup moins lointaines lorsqu'elles sont venues se plaindre de la map, après que j'ai décidé de la présenter sur l'ancien forum MtxServ. 😂
Le message était passé, il fallait que je me mette à faire ma propre map si je voulais laver mon honneur. 🤣 (oui c'est très chevaleresque)
Enfin non, parce que là je vous parle d'évènements qui se sont produits en 2016. Et si vous avez fait attention aux informations de la map, elle est sortie en 2019. 🤔
En fait c'est un peu compliqué car, pour plusieurs raisons, j'ai dû arrêter la création de cette Rockford Actu-Gamework assez tardivement. Loïc étant en train de créer le serveur, je ne pouvais le lâcher avec une map abandonnée sur les bras. C'est comme çà que je suis arrivé jusqu'à la version v3d. Vous pouvez la retrouver sur internet assez facilement, elle avait fuité.
Tout ça pour dire que je n'ai vraiment commencé à travailler sur Starisland qu'à partir de la toute fin de l'année 2016, pendant les vacances de Noël. Les premières builds dont je dispose encore datent de janvier 2017.
Le plan original de la map était relativement simple et reposait principalement sur une map murée de toute part, un peu comme l'est Evocity v33x. D'ailleurs, la première version est sortie comme prévue, en mars 2017. Mais si vous avez bien suivi, la map est sortie plus de deux ans après. :)
Ce qui s'est passé c'est que Starisland, dans son plan original, ne me plaisait pas. Je n'étais pas satisfait du travail final. Au départ je travaillais conjointement avec Loïc sur Starisland, ce que faisait qu'il y avait des désaccord au niveau artistique (en plus des différentes manière de créer la map). Alors j'ai très vite pensé à la version suivante, Starisland v2, que j'ai réalisé seul. La première version était murée de toute part, la deuxième sera plus ouverte. La première était plutôt petite, la deuxième ouvre plus d'espace. Et c'est comme ça qu'on commencé deux longues années de création effrénées. Je ne vais pas faire durer le suspens, Starisland v2 n'est jamais sorti, ni la v3, ni la v4, ni la v5... En réalité, ce sont bien 6 versions qui auront été pensées. D'ailleurs, j'ai très vite arrêter d'utiliser le terme "versions" car en réalité il s'agissait beaucoup plus de prototypes.
Chaque changement majeur dans le plan résultait en un nouveau prototype. Ainsi, la première version de Starisland n'a quasiment plus rien en commun par rapport à la version finale publiée sur le Workshop... Si ce n'est un arbre que j'ai ironiquement nommé "Billy", longtemps oublié dans un coin de la map et gardé comme "easter egg" pour ceux ayant suivi les péripéties de la map. :) Pour ceux à qui ça intéresse, c'est l'arbre situé dans la cour intérieure de la caserne de pompier.
Seulement voilà. Si le premier plan de Starisland était relativement simple et facile à réaliser, les diverses améliorations que j'apporte complexifient grandement la map. Si au départ, l'optimisation n'était pas un problème, ça en devient un assez rapidement. Le moteur Source n'étant pas adapté aux maps complexes, et encore moins aux maps à ciel ouvert, j'ai très vite rencontré de sérieux problèmes pour continuer la création de Starisland. À tel point que j'avais pendant un temps, envisagé d'abandonner le projet. En effet, arrivé au prototype n°5, dans sa 7ème version (oui je ne versionnais pas sur git à l'époque), je me suis confronté face à l'impossibilité de pouvoir ajouter quoique ce soit d'autre sur la map sans dépasser les limitations du moteur Source. D'habitude je réussissais toujours à régler ces problèmes d'optimisations et de limites techniques, mais là c'était trop compliqué.
Fort heureusement, une belle aide de la part de Facepunch Studio est arrivé peu de temps après avoir constaté ce problème. Avec la mise à jour de février 2019, Facepunch avait doublé la plupart des limitations techniques de l'époque. Certaines limitations comme le nombre total de vertexes n'avait pas ou peu bougées, mais à cette époque là ce n'était pas un problème majeur. C'était génial. :D
Cette mise à jour gracieusement offerte m'a permis d'avoir un peu de sursis sur la création de la map. Tout en étant conscient que j'étais toujours très proches de certaines limitations techniques qui allaient me poser problème, j'ai décider de terminer le plan de la map en rajoutant une petite île en plus, prévue depuis longtemps. Toutefois, les plans ont été quelques peu modifiés. Si au départ il était convenu de réaliser un deuxième quartier d'habitation, plutôt défavorisé pour le plus grand bonheur du rp gang, j'ai dû couper dans les prévisions. Par exemple, pas d'immeuble habitable comme prévu. Celui qui avait été commencé a vite été rendu inaccessible. La centrale électrique n'est pas non plus accessible de l'intérieur, seul un magasin sur les deux ne sera ouvert et l'hôtel ne comportera pas de chambre à l'étage, pas de salle de service et le deuxième bâtiment sera condamné. Un dernier bâtiment normalement accessible sera également condamné.
C'est un bien triste destin qui sera réservé à cette petite île que j'ai nommé "Little Island", mais qui aura été nécessaire pour permettre à la map de sortir dans une version plus ou moins finale. 🥲
Et oui car on arrive en juin 2019, et je commence sérieusement à en avoir plus qu'assez de Starisland. Si autrefois je prenais chaque problème à coeur, je dois avouer que cette fois-ci, j'ai fais du tri sans chercher à trouver de bon compromis. Je suis allé au plus simple. D'ailleurs, vous noterez l'absence de vidéo promotionnelle pour la sortie de la map finale. Il y a bien eu un teasing datant du début de la création de la deuxième île, mais pas d'annonce pour la map finale.
Nous sommes le 13 juillet 2019, après une sortie bêta en petit comité, je décide non sans difficulté de sortir la map. Au départ, on peut dire qu'elle marche plutôt bien. L'illusion est parfaite. 😁
Les visuels, l'ambiance générale, le plan, le fait que ce soit une map à ciel ouvert, tout ça fait que la map marche plutôt bien vis à vis du public, sans pour autant atteindre le top Workshop (snif).
Mais voilà, il y a un problème qui est omniprésent. Il y a un gigantesque éléphant au milieu de la pièce ! Lequel est-il ? Mais mon dieu comme le framerate est affreux ! Et oui, c'est terrible à dire mais la map ne sera jamais utilisée par un seul serveur DarkRP en raison de ce problème. Quelques personnes auront bien essayé, mais elles ont toutes échouées.
Les raisons de ces mauvaises performances sont multiples. Déjà, comme je l'ai dit, le moteur Source n'est pas un moteur conçu pour les jeux open world. C'est un moteur de jeu à couloir basé sur le vieux principe des BSP. Un descendant directe de Doom ! Mais qu'est-ce que ça veut dire concrètement ? Et bien pour des raisons d'optimisation, l'espace de jeu est découpé en pièces. Toujours pour des raisons d'optimisation, le jeu charge tout le contenu d'une pièce. C'est très bien pour de petits environnements comme dans les jeux de Valve, mais pour des cartes aussi grosses avec autant de détail... Avec ça en tête, il ne fallait pas s'attendre à beaucoup plus. D'autant plus que la map en elle même a une optimisation plus que douteuse, il est déjà très impressionnant de voir jusqu'où la création de la map a pu aller.
Starisland reste pour moi une belle démonstration technique. C'est un concentré de tout ce qu'il ne faut pas faire, joliment assemblé et plutôt bien documenté. C'est aussi une belle démonstration de l'évolution des compétences de quelqu'un qui a commencé avec de maigres connaissance en mapping, et qui a terminé avec bien plus de connaissances et d'expériences. Clairement, cette map n'est pas un succès technique. Mais c'est pour moi, un bel accomplissement que je ne regrette en rien. :)
C'était aussi pour moi l'occasion de faire de belles rencontres, et d'exprimer ma vision artistique au travers d'une belle œuvre réalisée en 3D. C'est aussi ironiquement ma seule map entière de terminée, les maps ultérieures se résultant en de multiples abandons. 😅