City-Builder, OpenTTD ré-inventé ?

City-Builder, est-ce vraimment une nouvelle façon de jouer ?

Parmi les 200 serveurs multi-joueurs disponibles, 24 contiennent la mention "City Builder" dans leur description. City Builder ou constructeur de cité. Mais OpenTTD, ce n'est pas SimCity ?

Non, OpenTTD est bel et bien un système de simulation de transport de passagers et de marchandises. Les moyens de transport étant le train, les vehicules routiers, les avions, les bateaux ainsi que les tramways.

City-Builder cékoi ?

Cela fait bien longtemps que l'on connait ce mode de jeux : "City Builder" ou constructeur de cité.

Dans OpenTTD on transporte des marchandises ainsi que des passagers, voire des tourtistes d'une gare à  une autre. Faut-il encore la gare de destination accepte les éléments qu'on lui apporte afin de recevoir une somme d'argent. Ce montant dépend de la marchandise transportée, de la distance parcourue, mais aussi du temps mis à transporter. Chaque marchandise ayant sa courbe de dépréciation en fonction de la distance et du temps.

Lorsque l'on livre des marchandises dans une gare localisée dans une ville, la ville concernée peut se mettre à se développer. Pour cela il faut lui fournir au minimum des passagers et du courrier. Lorsque des biens sont aussi fournis, la croissance est plus rapide. Pour le climat désertique il faut aussi apporter de l'eau. Si on laisse le système fonctionner tout seul pendant suffisemment longtemps, la ville va se développer, construire des routes, des batiments, prendre de l'importance et la population va augmenter. Pour que la ville construise des nouveaux bâtiments il faut évidemment financer l'opération. Ce financement est réalisé par les joueurs au travers des actions disponibles pour la ville : "Financer de nouveaux bâtiments" 

Comme indiqué, cela stimule temporairement la croissance de la ville. Ce financement est rendu non nécessaire grâce au réglage "fund_buildings". La stimulation devient permanente. Pour modifier ce paramètre, tu ouvres la fenêtre de réglage des paramètre (menu Options et paramètre, choix paramètres), tu positionnes les bons filtres et tu recherches "finance" - le paramètre "Permetre le financement de bâtiments" devrait s'afficher :

Lorsqu'il est désactivé, plus besoin de payer, ça devient automatique.

Donc city-builder est un mode de jeu dont l'objectif est de développer des villes ou plus précisemment SA VILLE.

SA VILLE ? Comment est-ce possible ?

Dans ce mode de jeu, il faut "réclamer" une ville en construisant le siège de son entreprise de transport dans celle-ci. Vous allez me dire, facile ! Et hop, nouvelle compagnie, construire le siège dans une ville de préfénce une mégapole et construire une ligne d'approvisionnement de passagers, de mails, voire de biens et le tour est joué.

Dans un jeu normal, je dirais : Oui tu as raison. Mais en mode city-builder ce n'est pas aussi simple. Les villles se développent uniquement si les éléments demandés sont livrés en quantité suffisante et dans un délai imparti (habituellement 1 mois). Passé ce délai, si les quantités fournies ne sont pas à la hauteur de la demande, la ville ne se développe pas, voire régresse avec la difficulté supplémentare du besoin ou pas de financer les nouveaux bâtiments.

De plus, la demande de la ville va évoluer dans le temps en fonction de la population. Il va falloir, dans un premier temps, fournir des passagers régulièrement en quantité suffisante pour atteindre une certaine population, ensuite les besoins vont être complétés par du courier et des quantité plus importantes de passager, puis, selon la configuration NewGRF et du mode de jeu, de nouveaux besoins (biens, nouriture, ... ) et de nouvelles quantités vont apparaitre.

L'objectif final, le plus souvent, étant d'atteindre le premier, un seuil de population.

Tu as dis "le premier" ? ça veut dire que tu n'es pas tout seul ?

Oui, "le premier" et Oui, on peut ne pas être tout seul. Ce mode de jeu est implémenté sur un serveur multi-joueurs afin d'avoir de la concurence et de stimuler la progression.

Voici un exemple de besoins exprimés par la ville dans laquelle j'ai construit mon siège :

Actuellement la population de ma ville est de 2054 habitants répartis dans 44 maisons ou bâtiments.

La ville demande tous les mois :

Du fait de la fourniture de passagers qui ne correspond pas à la demande, la ville a arrêté de se développer et reprendra lorsque les quantités demandées seront fournies.

Il est indiqué aussi la prochaine demande (biens) lorsque la ville atteindra le seuil de population indiqué (2500).

Vue sur la fenêtre de la ville :

Cette vue indique qu'il manque encore 407 passagers et 40 courriers pour conserver la croissance. La nourriture est "OK" du fait des stocks mais aussi de la quantité livrée supérieure à la demande. Eh oui, certains marchandises sont "stockables". Il semblerait que les passagers et le courrier ne le sont pas.

Pour augmenter la difficulté, il est possible de régler certains paramètres de la partie comme le montant maximum de l'emprunt, la taille de la carte, le nombre de villes et d'industries et bien sur en apportant un modèle économique un peu plus complexe comme ECS ou FIRS.

Pour compléter, le développement des autres villes peut aussi être bloqué. Cela éviter que le nombre de passagers disponibles n'augmente pas contrairement à la demande et que le fait de ne pas être tout seul va impliquer le partage des ressources existantes.

C'est bien tout cela, mais comment active-t-on le mode '"city-builder" ?

Actuellement, le mode city-builder est disponible grâce à un Game Script. Il en existe plusieurs. Il est récupérable via le contenu en ligne et doit être activé et configuré. Oui il existe, selon les scripts, plusieurs paramètres qui permettent de modifier la difficulté.

Un "Game Script", mais c'est quoi cette chose ? Un "Game Script" est une sorte de petit programme qui vient modifier le fonctionnement du jeu selon ce qui a été prévu par les dévelopeurs. C'est à dire qu'il a accès à certains éléments de la map, comme par exemple le fait d'indiquer à une ville qu'elle ne se développe pas automatiquement ou d'indiquer à une ville les marchandises qu'elle doit accepter pour se développer. Il faut évidemment aussi s'assurer que la demande en marchandises pour les villes soit possible. Pour les passagers et le courrier, c'est assez simple, mais dès qu'il s'agit d'accepter des marchandises originale il faut avoir le bon bâtiment dans la zone d'influence de la gare. Le script se charge de créer le bon bâtiment sinon  il faudra financer la construction de l'industrie/bâtiment manquant.

Le Game Script est donc un petit programme qui fonctionne avant tout sur le serveur. Il fonctionne avec le même environnement que les "AI", sauf qu'une AI est en mode "compagnie" alors que le GameScript est plutôt en mode global. Pas sur qu'un Game Script puisse construire des éléments de compagnie.

Et avant l'apparition des Games Scripts ?

Avant l'apparition de la fonctionnalité "Game Script", eh bien il y avait "le patch serveur".

Cékoi un "patch serveur" ? : Un patch serveur consiste à modifier le comportement du serveur OpenTTD en modifiant le code source pour réaliser la foncionnalité souhaitée. Il est donc nécessaire de connaitre le fonctionnement d'OpenTTD, de ne pas modifier n'importe comment pout éviter les désynchronisations. Un exemple de patch sur les serveurs OpenTTD France est l'interdiction de construction si le mot de passe de compagnie n'est pas renseigné.

Un patch serveur, c'est beaucoup de temps à passer pour le mettre en place, le faire fonctionner et le maintenir à jour pour les nouvelles versions. C'est essentiellement pour cela que la fonctionnalité "Game Script" a été mise en place : pour éviter tout ce travail qui pourrait mettre en péril le fonctionnement d'OpenTTD et finir avec des désynchronisations.

Evidemment, cela va plus loin que la phase de jeu. Il est important aussi d'avoir un suivi des parties jouées, tracer les différents joueurs, leur progression, leur score pour fournir un classemment, le tout organisé autour d'un site internet et donc d'une communauté de joueurs. Là ça devient le rôle de la fonctionnalité "Admin Port" sur laquelle on vient brancher un joli Goulp-bot. Le bot faisant le lien entre les serveurs, les parties, les joueurs et une jolie base de données.

Tout cela pourquoi ? Eh bien tout cela est en cours de mise en place sur l'infrastructure "OpenTTD France" :

Ce qu'il me manque :

J'ai aussi :

N'hésite pas à te connecter pour esssayer cette façon de joueur à OpenTTD.

Mais comment je me connecte à ton serveur City-Builder ?

Tu vas dans le module "multi-joueurs", tu demandes à récupérer les serveurs "internet" et tu positionne le filtre sur "OpenTTD Fr". Actuellement le titre du serveur est 

[OpenTTD Fr] CITY-Builder-Simpleton-[1970-1995]-easy-FIRS-GVRTS-NoBreak-NoAir

ça veut dire quoi tout ce charabia ?

[OpenTTD Fr] ou [OpenTTD France] : indique que c'est un serveur de la communauté française

CITY-Builder-Simpleton : Mode de jeu "City-Builder" avec le script "Simpleton's City Builder"

[1970-1995] : indique l'année de départ et de fin de la partie. Cela permet d'avoir une indication sur les véhicules et les technologies de transport disponibles pendant la partie.

easy : indique la difficulté de la partie, dans ce cas, plutôt facile

FIRS-eGVRTS : indique la présence de module NewGRF dont FIRS et ensemble de véhicules eGVRTS.

NoBreak-NoAir : indique que les pannes sont désactivées ainsi que le mode de transport aérien.

Toutes les techniques sont possibles. A toi de trouver la meilleure. Et si tu veux regarder les concurents jouer, n'hésite pas à récupérer le Watch Company patch !


OpenTTD France
https://www.openttd.fr/article.php?story=20240407170948288