- Version fonctionnant en TI-BASIC sur les calculatrices TI-82, TI-83 et TI-83+, basée sur un jeu de simulation de commerce en BASIC pour IBM PC des années 1980
- Le joueur se déplace entre six villes pour acheter et vendre de la drogue, rembourser ses dettes et maximiser ses profits sur un mois, avec des événements aléatoires et des poursuites policières
- La communauté discute activement des méthodes d’installation et d’exécution, comme le partage de fichiers
.8xp, le transfert via TI CONNECT et la conversion avec TI-Coder, et produit de nombreuses versions modifiées
- L’analyse du code a révélé des bugs dus à la réutilisation de variables ainsi que des erreurs logiques, dont une boucle de profit infini ; plusieurs utilisateurs les ont corrigés et publié des versions compatibles TI-84 CE
- Le projet a ensuite évolué vers un remake en C/SDL, des portages sur Pico-8 et en C#, ainsi qu’une adaptation sur consoles Z80, élargissant la communauté autour de la restauration de jeux classiques sur calculatrice
Aperçu du jeu Drugwars pour TI-82/83/83+
- Drugwars, qui tourne sur les calculatrices TI-82, TI-83 et TI-83+, est un jeu de simulation de commerce basé sur un jeu BASIC pour IBM PC des années 1980
- Le joueur achète et vend de la drogue pour rembourser sa dette à un usurier et gagner le plus d’argent possible en un mois
- Le jeu est écrit en TI-BASIC et repose principalement sur les commandes
Lbl, Goto, Menu et Disp
- Au démarrage, le jeu initialise les variables de capital, dette, inventaire, capacité du trench-coat, etc.
- Exemple :
2000→Z (argent liquide), 5000→Y (dette), 100→K (espace disponible)
- La mention « ORIGINAL GAME FOR IBM BY JOHN E. DELL » s’affiche pour indiquer la source de l’œuvre originale
-
Structure de progression du jeu
- Le joueur effectue ses transactions en se déplaçant entre six villes : le Bronx, le ghetto, Central Park, Manhattan, Coney Island et Brooklyn
- Les actions se choisissent via le menu
Menu("DRUGWAR!", "SEE PRICES", "BUY", "SELL", "JET", "SEE LOAN SHARK", "VISIT BANK")
- Le prix de chaque drogue (cocaïne, héroïne, LSD, cannabis, speed, ludes) varie aléatoirement chaque jour
-
Système d’événements
- Les événements aléatoires sont générés avec la fonction
rand
- Ventes à bas prix par des dealers concurrents, descentes de police, flambées de prix, agression dans le métro, etc.
- Exemple : lorsque « YOU WERE MUGGED IN THE SUBWAY! » se produit, le joueur perd un tiers de son argent liquide
- Selon certaines conditions, il est possible d’acheter des armes, d’améliorer le trench-coat, d’effectuer des opérations bancaires et de rembourser l’usurier
-
Combat et poursuite policière
- Si le joueur possède une certaine quantité de drogue, la police (
OFFICER HARDASS) se lance à sa poursuite
- Le menu permet de choisir RUN ou FIGHT
- Sans arme, il est seulement possible de fuir, et si les points de vie (
J) atteignent 50 ou plus, le personnage est considéré comme mort
- Si tous les policiers sont éliminés, le joueur reçoit une récompense en argent
-
Fin de partie et calcul du score
- La partie se termine au bout de 31 jours
- Le score est calculé à partir de
(V+Z-Y), puis converti sur une échelle de 1 à 100
- Le résultat s’affiche avec le message « YOUR SCORE (ON A SCALE OF 1 TO 100) »
Discussions de la communauté et partage de versions améliorées
- Les discussions sur l’installation et l’exécution de Drugwars sur TI-82/83/83+ se sont multipliées
- Il est possible de saisir directement le code dans l’interpréteur BASIC de la calculatrice (
PRGM → New) ou de le convertir en fichier .8xp avec TI-Coder avant transfert
- Lors de la conversion, certaines modifications sont nécessaires, par exemple remplacer
≥ par >=, → par -> et θ par 0
- Le transfert du fichier du PC vers la calculatrice peut se faire via TI CONNECT ou un adaptateur USB pour TI-83
-
Conseils de gammalogic
- Il propose deux méthodes : acheter un adaptateur USB pour TI-83 afin de télécharger le jeu depuis un PC, ou saisir directement le code source
- Certains adaptateurs utilisent des pilotes pour Windows XP, ce qui peut poser des problèmes de compatibilité sur les versions récentes de Windows
- Il mentionne l’existence possible de pilotes libres pour Linux ou d’autres systèmes de type Unix
-
Mise à disposition du fichier .8xp par ileathan
- Un fichier
.8xp généré avec TI-Coder est partagé à l’adresse https://t7.vc/dl/DRUGWARS.8xp
- Il peut être transféré vers la calculatrice avec TI CONNECT et un adaptateur USB
-
Corrections et améliorations par darth-crunchus
- Il signale des erreurs de symboles d’inégalité lors de la conversion avec TI-Coder, ainsi que des problèmes de casse dans les noms de variables
- Les conditions de
Lbl 3 et Lbl 4 doivent être corrigées dans l’éditeur BASIC pour que le programme fonctionne correctement
- Il l’adapte pour qu’il fonctionne pleinement sur TI-84 Plus CE, en restaurant les événements aléatoires (chiens policiers, brownies, etc.), les prix des armes, l’amélioration du trench-coat et la randomisation de l’espace de stockage
- La taille finale du code atteint 6310B, puis jusqu’à 11429B dans une version mise à jour
- Pour se rapprocher de la version DOS originale, il ajoute une fonctionnalité de graine aléatoire pour
rand(
- Le code source le plus récent est publié sur https://pastebin.com/4dUuw0BR
-
Discussions autour de la saisie en TI-BASIC
- Dans les échanges sur la saisie alphanumérique, il est indiqué que TI-BASIC peut gérer les chaînes de caractères en longueur variable
- Lorsqu’un caractère est saisi dans une variable, c’est la valeur de ce caractère qui est transmise à la variable
-
Compatibilité et problèmes d’exécution
- Le jeu fonctionne sans modification sur les modèles TI-84 Plus CE et CE Python
- Certains utilisateurs signalent toutefois qu’une erreur de saisie lors de l’achat ou de la vente peut renvoyer vers MirageOS
-
Autres portages et idées
- Un projet de réécriture en application console C# est évoqué
- Un utilisateur indique avoir écrit lui-même une version Pico-8
- Un intérêt pour des portages Android ou PC est également mentionné
Structure du code et analyse des bugs
-
Analyse de la réutilisation des variables en TI-83 BASIC par tibbon
- La variable N est réutilisée pour deux rôles différents
- Quantité d’héroïne en stock :
0→N, (N+G)→N, (N-G)→N
- Suivi de position :
2→N (Bronx), 1→N (autres zones)
- Cela entraîne les bugs logiques suivants
- La quantité d’héroïne change lors des déplacements (par exemple, aller dans le Bronx fixe
N=2, ce qui est interprété comme 2 unités d’héroïne en stock)
- Lors d’une transaction sur l’héroïne, la valeur de position est écrasée, ce qui fausse la détection du Bronx
- Quand
N=0, les vérifications Bronx/hors Bronx échouent toutes les deux, ce qui supprime les restrictions d’accès à la banque et à l’usurier
- Se déplacer vers le Bronx fait apparaître automatiquement 2 unités d’héroïne, permettant une boucle de profit infini
- La formule d’inventaire
(T-M-N-O-P-Q-R)→K utilise la valeur de position, ce qui provoque des erreurs de calcul de capacité
-
Principaux cas d’exploitation
- Accès illimité à la banque et à l’usurier : contournement des restrictions de zone quand
N=0
- Génération infinie d’héroïne : vente répétée des 2 unités créées automatiquement à chaque arrivée dans le Bronx
- Incohérences d’inventaire : l’écrasement de la variable de position permet de dépasser la capacité du trench-coat
Source du code original et contexte historique
- gammalogic demande si le code provient bien de l’original en IBM BASIC, et mattmanning répond que « la version TI est basée sur le jeu IBM, mais ne peut pas être compilée pour d’autres plateformes ; elle convient surtout comme référence pour les règles et la logique du jeu »
- Il explique avoir trouvé le code sur Internet et s’être contenté d’en remettre en forme les caractères
- Le créateur original, John Dell, a conçu Drugwars en s’inspirant de Taipan, un jeu pour TRS-80
Élargissement de la communauté et activités ultérieures
- Certains utilisateurs ont signalé des erreurs d’exécution sur TI-84+, tandis que d’autres ont confirmé un fonctionnement normal sur émulateur TI-83+ et TI-84+
- Astuce partagée : ajouter
:: à la première ligne du code pour qu’il soit reconnu par MirageOS
- Il est également possible de saisir le code directement sur la calculatrice via
prgm -> new
- L’utilisateur DaSovietPotato a publié une version avec corrections de bugs compatible TI-84 dans un dépôt séparé
- gammalogic a partagé son projet de remake en C/SDL puis de portage vers des consoles à base de Z80 (Master System, NES, etc.)
- Une première démo C/SDL implémente une interface basée sur la résolution NES et des fonctions de remplacement des villes et des drogues
- Il mentionne l’intention d’étendre le projet en une future version « Drugwars 2.0 »
- Certains utilisateurs évoquent la nostalgie du jeu découvert au lycée et partagent leurs tentatives de réinstallation à l’aide d’un câble pour TI-83
- La communauté encourage le portage manuel à travers l’analyse du code et l’apprentissage du BASIC, et recommande de consulter le manuel TI-83
- Des commentaires continuent d’être ajoutés entre 2024 et 2026, avec des tentatives d’extension vers de nombreuses plateformes, notamment TI-84 CE, Pico-8 et C#
- Certains utilisateurs demandent ou s’échangent des fichiers
.8xp par e-mail
- Le projet évolue en initiative communautaire de restauration et d’amélioration de jeux classiques sur calculatrice
Aucun commentaire pour le moment.