OpenTESArena
OpenTESArena est un interpréteur moderne développé en clean room pour rejouer The Elder Scrolls: Arena (1994), initialement conçu pour DOS. Contrairement à une émulation classique, il reconstruit le moteur du jeu depuis ses bases, en intégrant des améliorations de qualité de vie (comme le fast travel ou une interface simplifiée) tout en préservant la fidélité aux mécaniques originales. Les fonctionnalités implémentées incluent les combats, l’équipement, les quêtes basiques, les PNJ interactifs et la création de personnage (sauf la génération de classe). Les éléments manquants (comme les sorts, les quêtes avancées ou les matériaux d’objets) sont listés dans le dépôt officiel.
Bien que le projet soit principalement développé pour Windows et Linux, aucune version officielle pour macOS (y compris Apple Silicon) n’est actuellement disponible. Les utilisateurs macOS doivent donc s’appuyer sur des solutions alternatives comme DOSbox ou Wine pour exécuter le binaire Windows. Les contrôles proposent deux modes (moderne avec mouselook ou classique avec clavier), et les options de configuration permettent d’adapter le jeu à des préférences spécifiques. Les assets du jeu (modèles, sons, textures) restent à fournir par l’utilisateur via les fichiers originaux.
Dernière mise à jour :
Plateformes
Architecture
Mac OS X - macOS
Apple Silicon
64 bits
SDL Library
Téléchargement et liens
Historique des versions
v0.18.0
-
Nouveautés majeures :
- Ajout d’un système de combat IA pour les ennemis, de niveaux et d’expérience, et de conversations avec les PNJ (y compris des indications sur l’automap).
- Introduction du mode vol (hotkey P) avec pickpocketing, effraction de serrures et risques d’affrontements avec les gardes.
- Services des marchands : achat/vente d’objets, location de chambres d’auberge, soins et guérisons (fonctionnalités supplémentaires en cours d’ajout).
- Mécaniques de combat réalistes : génération de butin et d’or conforme à l’original, calcul des chances de coup, effets de maladie/paralysie, et mort possible lors des voyages rapides si malade.
- Équipement et gestion d’inventaire (équipement/déséquipement, chute d’objets), vitesse de déplacement liée à l’encumbrance et aux attributs, ainsi que nage/grimpes différenciées par race/classe.
- Améliorations visuelles/sonores : effets à l’écran lors de dégâts, dégradés de couleurs pour les états (maladie, ivresse), gestion des sons (.wav) et amélioration du rendu par défaut (Vulkan).
-
Corrections critiques :
- Résolution de bugs liés aux serrures (clé non consommée après usage), aux entrées de dénes et aux textures de plafonds dans les donjons.
- Correction de l’affichage des noms d’auberges en extérieur et de la spécification des textures (murs, ciel).
- Synchronisation des rates de fatigue et de temps en jeu avec l’original.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.17.0
-
Nouveau moteur graphique Vulkan : amélioration significative des performances par rapport au rendu logiciel (à activer manuellement dans les options).
-
Optimisations majeures :
- Combinaison des voxels en maillages plus grands pour réduire les appels de dessin et les formes de collision.
- Passage du système d’éclairage forward à tiled forward pour supprimer la limite de lumières par maillage (nécessaire pour les scènes avec 16+ lumières).
- Ajout de l’effet de brouillard épais aléatoire lié à la météo (résolution d’un mystère du jeu original).
-
Améliorations techniques :
- Ajout d’un floating origin pour limiter les artefacts de Z-fighting et les scintillements.
- Dialogues des patrons de taverne implémentés.
- Augmentation de la fréquence des mises à jour physiques pour fluidifier les mouvements.
- Support natif du format .OBJ pour les voxels.
- Option d’inversion du mouse look (sensibilité de la souris inversée).
- Activation des couches de validation Vulkan (si installées) pour le débogage.
-
Corrections critiques :
- Hauteur de la caméra en natation corrigée.
- Bug des textures de chasm (abîme) en dehors des limites de la ville résolu.
- Performances de rendu des flaques d’eau optimisées.
- Réflexion des entités dans les flaques maintenant fonctionnelle entre chunks adjacents.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.16.0
-
Intégration de la physique Jolt : amélioration majeure des déplacements du joueur (escalade, sauts, natation) et mécaniques de base du gameplay (prise d’objets, utilisation de clés, ennemis neutralisables sans IA, mort par chute, feu ou noyade).
-
Corrections critiques :
- Collision diagonale des murs et calcul des nœuds de la quadtree (visibilité des voxels).
- Stabilisation du balancement des armes (indépendant de la FPS).
- Correction des variations d’éclairage et des noms de bâtiments intérieurs pour correspondre au jeu original.
-
Améliorations spécifiques à macOS :
- Meilleure gestion des bibliothèques
.dylibdans les builds macOS, réduisant les risques de plantage au démarrage.
- Meilleure gestion des bibliothèques
-
Nouveautés mineures :
- Système de nommage aléatoire pour les PNJ, sonorités (marche en intérieur, natation), musique adaptative et fanfare pour les objets de quête.
- Interface moderne avec réticule cliquable (bouton droit pour attaquer).
-
Fonctionnalités techniques :
- Réparation des fichiers audio VOC (suppression de pops/clicks) et modding du temps de jeu via fichiers de configuration.
- Allocation d’attributs et stats en création de personnage (non fonctionnels en gameplay).
Changelog complet
v0.15.0
-
Nouveau moteur graphique 3D : refonte complète du rendu pour un rendu plus fidèle à l’original, avec gestion des meshes, shaders et appels de dessin (OpenGL/Vulkan-like), tout en respectant la palette de 256 couleurs et l’éclairage du jeu d’origine (collaboration avec @Carmina16).
-
Prise en charge officielle d’Apple Silicon (ARM64) : builds natifs pour macOS, incluant des correctifs pour une meilleure stabilité sur les processeurs M1/M2/M3.
-
Suppression d’options obsolètes : retrait du mode DebugFast (remplacé par ReleaseGenericNoLTO) et de l’option de time scale, ainsi que du mode de collision debug (remplacé par un ghost mode permettant de voler).
-
Améliorations mineures mais notables :
- Détection améliorée des fichiers Arena (incluant les installations Steam par défaut sous Windows).
- Ajout d’un mode fullscreen exclusif et d’une correction des pixels tall (pour les écrans haute résolution).
- Travaux préliminaires sur les attributs des joueurs (contribution de @gazorpo).
- Sauvegarde des captures d’écran optimisée.
-
Corrections critiques :
- Bugs visuels corrigés (couleur de la brume dans Elden Grove et Murkwood, voix de Ria Silmane dans la version CD).
- Problème de texture de remplacement de sol lors de la suppression de voxels.
- Mise à jour de SDL 2.0.10 pour éliminer les lag périodiques liés à SDL_PollEvent().
-
Contraintes techniques :
- Performances en baisse (FPS moyen) en raison d’appels de dessin non optimisés et d’un rasterisateur peu efficace (optimisations futures prévues, notamment via un voxel quadtree pour le test de visibilité).
- Problèmes persistants : collisions basiques, rendu coûteux des flaques d’eau, incohérences de textures extérieures/sky selon le temps, et brouillard en screen-space non finalisé.
Changelog complet
v0.14.0
-
Ajout de systèmes météorologiques complets (pluie, neige, orages) avec une implémentation redessinée du système d’UI et d’entrée, basée sur un modèle MVC et une refonte des mécanismes de rendu de texte et d’allocation de textures, ouvrant la voie à des interfaces utilisateur alternatives et à des remappages de touches plus flexibles.
-
Corrections critiques :
- Résolution d’un problème de palette incorrecte sur certaines séquences d’introduction.
- Fix du crash lors de la fin non-skippée de la cinématique Ria Silmane dans la version CD (lié au système de chunks).
- Correction des couleurs de l’automap qui incluaient des voxels hors des limites des villes (non représentatifs).
-
Améliorations techniques :
- Mise à jour des bibliothèques utilisées (SDL 2.0.9, OpenAL Soft 1.19.1, WildMIDI 0.4.4).
- Optimisation des configurations de build via CMake (suppression des builds intermédiaires comme RelWithDebInfo).
- Ajout de la prise en charge DPI-native sous Windows (résolutions adaptatives pour écrans haute densité).
-
Problèmes connus persistants (non liés à macOS) :
- Sélection instable de voxels ou objets à travers les frontières de chunks.
- Désynchronisation partielle de noms de bâtiments/interieurs avec le jeu original.
- Bug visuel temporaire (monde vide) après un fast travel, notamment avec les pop-ups d’arrivée.
Changelog complet
v0.13.0
-
Nouveau système de chunks :
- Les intérieurs, villes et zones sauvages s’étendent désormais "à l’infini" avec des chunks par défaut (intérieurs vides, villes avec répétition de sol, wilderness basée sur des IDs de chunks avec fallback hors de la zone originale 64×64).
- Amélioration de la simulation du monde pour un meilleur alignement avec le jeu original.
-
Optimisation du système de textures :
- Redesign indépendant du rendu (format
TextureBuilderIDet référencesTextureAssetReference) pour un chargement différé et une meilleure gestion de la mémoire (chargement unique depuis le disque, conservation en RAM). - Facilitation future de l’ajout de formats comme PNG.
- Redesign indépendant du rendu (format
-
Corrections majeures :
- Résolution de la surconsommation RAM liée aux animations des citoyens (plus ~2,5 Go).
- Correction d’un deadlock dans le rendu logiciel.
- Réajustement des positions du soleil/lune (proche mais pas encore parfaitement fidèle).
- Citoyens ne s’ennuient plus en mouvement ou avec une arme non gainée (meilleure cohérence avec l’IA originale).
-
Problèmes connus :
- Écran d’intro avec palette incorrecte dans certains cas.
- Noms de bâtiments en wilderness et tavernes (Imperial City) non conformes à l’original.
- Bugs visuels (voxels automap hors limites, textures de parois de chasms, artefacts translucides liés au multi-threading).
- Crash possible lors de la cinématique de Ria Silmane (version CD) si non sautée (lié au système de chunks).
Changelog complet
v0.12.0
-
Nouveautés majeures :
- Ajout de citoyens errants dans les villes et la nature, inactifs si le joueur a son arme gainée.
- Système de musique personnalisable via
MusicDefinitions.txt(soutien des noms de fichiers MIDI personnalisés). - Redessine du système d’animations d’entités et améliorations du gestionnaire de textures (préparation pour les textures générées en temps réel).
-
Corrections importantes :
- Correction du nom affiché du boss final (remplace le "TODO" par le nom officiel).
- Ajout de la musique OverSnow à la playlist des conditions météo neigeuse (musique précédemment inutilisée).
-
Problèmes connus (impactant la stabilité ou l’expérience) :
- Consommation mémoire élevée (>2,5 Go) due aux animations en vrai-couleur des citoyens, rendant les builds 32-bit inutilisables.
- Gel possible du rendu (deadlock) : réduire le nombre de threads de rendu pour éviter les freezes.
- Artéfacts visuels sur les entités translucides (lignes verticales liées au multithreading).
- Position incorrecte des lunes dans le ciel.
- Noms des tavernes dans la Cité Impériale affichés de manière erronée.
Changelog complet
v0.11.0
-
Nouveautés majeures :
- Ajout du chargement des entités originales (NPC statiques, créatures, arbres, meubles, règles des palais, etc.), améliorant la fidélité du monde en jeu.
- Implémentation du rendu des lumières, de l’eau, de la lave et des entités translucides, pour un rendu plus réaliste.
- Intégration du raycasting pour la sélection d’éléments avec une option pixel-perfect et du son 3D positionnel pour une immersion sonore améliorée.
-
Corrections critiques :
- Correction des pixels incorrects des nuages (transparence partielle appliquée).
- Résolution d’un bug bloquant le voyage rapide vers les donjons via
VoxelEnter.
-
Problèmes connus (impactant l’expérience utilisateur) :
- Certains éclairages publics (streetlights) ne réagissent pas correctement aux cycles jour/nuit.
- Artéfacts visuels verticaux sur les entités translucides (liés au multithreading).
- Risque de deadlock du rendu (solution : réduire le nombre de threads de rendu).
- Position incorrecte des lunes et noms erronés des tavernes dans Imperial City.
Changelog complet
v0.10.0
-
Nouveautés majeures :
- Génération et exploration des zones sauvages (wilderness), incluant une carte automatique dédiée et des transitions entre villes et wilderness via les portes de ville.
- Affichage de la position du joueur en wilderness avec la touche F2.
- Support des versions du jeu sur CD-ROM.
-
Fonctionnalités en développement :
- Travail initial sur les emplacements d’inventaire (non finalisés).
-
Corrections importantes :
- Correction des noms incorrects des tavernes dans Imperial City.
- Collisions des murs diagonaux alignées sur celles des murs droits (bug connu).
-
Limites techniques :
- Les sprites originaux ne sont pas encore chargés.
- Position incorrecte des lunes dans le ciel.
Changelog complet
v0.9.0
-
Nouveautés graphiques majeures :
- Ajout d’un rendu à distance pour les terres, le ciel et l’espace, avec une prise en compte de la latitude du joueur pour le rendu spatial.
- Intégration d’un dégradé de ciel et de graphismes pour les entrées de palais et les portes.
-
Améliorations techniques :
- Optimisation du multi-threading dans le rendu pour une meilleure performance.
- Correction du sommeil des threads sur les frames terminées avant le temps cible, réduisant les latences.
-
Corrections de bugs critiques :
- Résolution du problème de hauteur négative affectant l’arme Morning Star dans le rendu.
-
Améliorations textuelles :
- Réajustement de l’affichage du texte avec une meilleure gestion de la mise en page et de la distribution des retours à la ligne.
Changelog complet
v0.8.0
-
Nouveautés majeures :
- Ajout de la possibilité d’entrer et sortir des bâtiments et d’interagir avec les portes (fonctionnalités clés pour l’immersion dans les environnements intérieurs).
- Mise en œuvre d’un buffer d’occlusion réduisant significativement le overdraw (calculs graphiques inutiles) et amélioration des plateformes surélevées dans les intérieurs.
- Mode "Modern" avec vue en free-look inspiré des jeux ultérieurs de la série (meilleure ergonomie pour la navigation).
- Option de mise à l’échelle temporelle pour simuler la vitesse de DOSBox à des cadences réduites (utile pour les performances sur matériel moderne).
-
Corrections importantes :
- Correction d’un bug lié à la trailing slash dans le chemin
ArenaPath(évite les erreurs de chargement des fichiers). - Amélioration des rapports d’erreurs pour WildMIDI (meilleure détection des échecs de initialisation).
- Correction d’un bug lié à la trailing slash dans le chemin
-
Contraintes et limitations :
- La wilderness (zones sauvages) et les sprites originaux ne sont pas encore implémentés (fonctionnalités absentes pour cette version).
Changelog complet
v0.7.0
-
Génération de monde étendue : Ajout de la génération automatique de villes, donjons et zones sauvages (état préliminaire), avec des climats originaux (tempéré, montagneux, désert) et des transitions entre niveaux intérieurs via des voxels.
-
Améliorations majeures de l’interface utilisateur : Système de voyage rapide, messages d’arrivée en ville, améliorations de l’automap (couleurs pour les ascensions/descensions de niveau, entrées de bâtiments, noms de localisation) et suivi de la position sur la carte provinciale.
-
Préparation des fonctionnalités manquantes : Support préliminaire des sauvegardes originales (via
ArenaSavePath), améliorations des voxels (collisions pour haies, linge suspendu, enseignes de magasin) et gestion des noms de fichiers sensibles à la casse (ex. :Arrows.cifpour les curseurs). -
Stabilité et gestion des erreurs : Meilleure gestion des exceptions et des messages d’erreur, ainsi qu’une optimisation du chargement des données exécutables via la classe
ExeData. -
Fonctionnalités absentes ou incomplètes : Pas de mention spécifique pour macOS (pas de build
.dmg, pas de support Apple Silicon, pas de correctifs ou de compatibilité macOS ciblée dans ce changelog).
Changelog complet
v0.6.0
-
Nouveautés majeures :
- Ajout de plusieurs lieux testables depuis le menu principal (uniquement des données voxel pour l’instant, les entités et objets prévus ultérieurement).
- Intégration de déclencheurs audio (bruits, gouttes) et de textes narratifs (lore).
- Amélioration visuelle avec des textures de lumière nocturne sur les bâtiments et un support étendu pour les types de voxels (diagonales, abîmes, arêtes).
- Optimisations de performance pour l’interface utilisateur et le rendu logiciel.
-
Corrections importantes :
- Correction d’une erreur critique (
alcOpenDevice()) dans la build Win64, permettant à l’émulateur de continuer en cas d’échec d’initialisation audio.
- Correction d’une erreur critique (
-
Spécifique macOS :
- Publication d’une build officielle pour macOS (sans support MIDI, donc pas de musique pour l’instant).
Changelog complet
v0.5.0
-
Ajout de fonctionnalités majeures :
- Support du son (fichiers .VOC), améliorant l'immersion sonore.
- Cycle jour/nuit avec ciel et éclairage dynamiques (simplifié), ainsi qu’un affichage du temps et de la date dans une popup en jeu (sans poids ni santé pour l’instant).
- Animations d’armes étendues et automap améliorée (défilement, orientation du joueur).
-
Corrections et optimisations techniques :
- Détection partielle des collisions (pas encore de saut ou de chute).
- Calcul plus précis du mouse look (souris) et ajustements du menu d’options (échelle de la souris, ratio letterbox, sensibilité du regard).
-
Améliorations mineures et outils :
- Messages de débogage enrichis (avec nom de fichier et numéro de ligne).
- Icônes de localisation sur les cartes de province (fonctionnalité de déplacement non encore implémentée).
Changelog complet
v0.4.0
-
Interface moderne optionnelle : ajout d’un mode visuel contemporain avec vue libre (3D) et animations basiques d’armes (poings uniquement), accompagné d’un automap et d’un menu d’options élargi (échelle de résolution, FOV, bascule entre interfaces classique/moderne).
-
Correction majeure : résolution d’un problème lié à la construction de WildMIDI sur Windows (fichiers
.dllmanquants commeVCRUNTIME140D.dll), évitant des erreurs d’initialisation pour les utilisateurs concernés.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.3.0
-
Nouveauté majeure : Remplacement du moteur de rendu OpenCL par un prototype de rendu logiciel (software renderer), conçu pour être plus simple et maintenable, afin de recentrer le développement sur d’autres fonctionnalités.
-
Amélioration technique : Intégration d’un décompresseur PKLITE v1.12 pour les fichiers
.AEXE, permettant de charger dynamiquement des données comme les emplacements et les noms (merci à @Dozayon pour la spécification technique).
(Aucune mention spécifique à macOS dans ce changelog.)
Changelog complet
v0.2.0
-
Nouveautés majeures :
- Ajout d’une première implémentation de rendu de sprites et de lumières ponctuelles (point lights), améliorant visuellement l’affichage des éléments graphiques.
- Possibilité de passer d’un moteur de rendu OpenCL à un rendu logiciel pour accélérer le développement, en cas de limitations techniques.
-
Corrections importantes :
- Stabilisation générale de l’interface et correction de bugs affectant la réactivité et la cohérence du jeu.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
v0.1.0
-
Première version pré-alpha : Projet encore en phase de démonstration technique avec des fonctionnalités limitées (menus partiels et exploration basique dans un monde de test), mais non garanti fonctionnel.
-
Exigences techniques :
- Paquets Linux compatibles uniquement avec des systèmes Ubuntu Trusty (14.04 LTS).
- Code source nécessite GCC 4.9 ou supérieur pour la compilation.
-
Aucune mention spécifique à macOS : Pas de build officiel (.dmg, support Apple Silicon, ou version minimale de macOS) ni de correctifs dédiés dans cette version.
Changelog complet
Captures d'écran