Micropolis

Émulateur v2.0

Micropolis est une réinterprétation open-source du célèbre jeu SimCity, initialement développé par Will Wright. Il s’agit d’un clone fonctionnel, écrit en Java, qui reproduit la simulation urbaine de la version originale, avec une gestion avancée des infrastructures, des ressources et de la croissance d’une ville.

Pour fonctionner, il nécessite un environnement Java compatible. Bien que non officiellement optimisé pour macOS, il s’exécute sur les systèmes récents grâce à la compatibilité native de Java avec Apple Silicon et les versions modernes de macOS. Aucune émulation spécifique n’est requise, mais une installation de Java (JRE ou JDK) est indispensable. L’interface graphique et la simulation reposent sur une architecture modulaire, permettant des adaptations locales (comme des traductions).

Dernière mise à jour :

Plateformes

Interpréteurs

Architecture

Mac OS X - macOS Mac OS X - macOS Intel x86 Intel x86 Apple Silicon Apple Silicon 64 bits 64 bits

Téléchargement et liens

Historique des versions

v2.0.0
  • Améliorations graphiques majeures :

    • Séparation des couches graphiques pour les effets de fumée (zones IND) et la fumée de charbon, permettant une animation fluide et indépendante.
    • Optimisation du chargement des images et des tuiles via des refactorings (cachage, simplification du code, suppression des spécificités obsolètes comme les dimensions width/height).
  • Corrections critiques :

    • Résolution d’un bug majeur lié à la génération d’un "trou noir" dans les ponts (issue #56).
    • Correction du dysfonctionnement des notifications lors de l’apparition de monstres.
    • Fix du traitement incorrect des bits haut (hi-bits) dans le code de gestion des stades.
  • Optimisations techniques :

    • Calcul dynamique des tuiles ("tiles on the fly"), réduisant la charge mémoire et améliorant les performances.
    • Migration des chaînes de caractères et des ressources vers des fichiers dédiés (src/main/resources), avec suppression des dépendances inutiles (extlib).
    • Standardisation de la taille des tuiles (16px) via une constante (STD_SIZE) et suppression des redondances dans le code.
  • Documentation et maintenance :

    • Ajout de documentations détaillées pour les classes clés (CityRect, Tiles, Sprite), avec des commentaires en ligne.
    • Suppression des éléments obsolètes (icônes, outils de traduction intégrés au menu) et clarification des fichiers TODO.
    • Mise à jour des templates de rapports d’issues et création de fichiers CONTRIBUTING.md/CODE_OF_CONDUCT.md.
Changelog complet
dd2e055 Delete gradle.yml 8b36121 Create gradlepublish.yml 7165fb7 Add CI badge 333a3a5 Rename class with main method to Micropolis 0ab560c Create gradle.yml 3d7d245 Remove icons e590058 Remove TODO 9d65c11 Add links to original repositories in README.md 0806c10 Remove translation tool from menu 6184ee9 Update issue templates e56a483 Create CONTRIBUTING.md fec74e4 Create CODE_OF_CONDUCT.md 74609a8 Consolidate documentation and format as markdown 34d0a1c Encode french translation 5f8fe83 Build with Gradle f4ccbaa Calculate tiles on the fly 2b11c60 Reformat code 5cbf5bf Add EditorConfig d0c0590 Move strings to src/main/resources 98d2b47 Remove unused extlib directory dedcdda Move resources to src/main/resources dd352ef Move Java source to src/main/java a7decdf Use 1.7 as source and target version b216372 fix: issue 56, bridge generates a black hole 088ef16 fix: notification not works when monster 3f357d2 Merge branch 'master' into upstream aa77336 graphics: make smoke separate layer on four IND zones cd18f3c graphics: make coal-smoke a separate layer to animate 0db689d tiles.rc: update documentation of tiles.rc format 7128f93 api: fix use of hi-bits in stadium-handling code aa9fb81 MakeTiles: use constant (STD_SIZE) to represent standard tile size of 16px 88d5175 MakeTiles: refactor: load images at parse time d910ddd MakeTiles: refactor: pushing caching down a level 64d8732 api: setTile() no longer accepts upper bits c948683 cleanup: better to use 'tile' than 'rawTile' in TerrainBehavior b92f384 cleanup: remove superfluous assignment of .tile property 918525a graphics: change where images are loaded from when running the gui b1a8ea4 MakeTiles: output to a graphics directory instead of a specific file f7e404e MakeTiles: remove support for width/height specifier 26790c1 MakeTiles: write unique index for each output file f56f503 MakeTiles: allow non-integer tile names; generate an idx file e112c1c MakeTiles: refactor to simplify main() method body 65b2db9 tiles: add name property to spec 7147ea3 TODO file- document where to find original Scenario stuff f99fb29 docs: document the CityRect class cad14a6 docs: document the Tiles class a9abb4a docs: add inline documentation for various Sprite classes 9cc0a06 update TODO file 7053965 tools: make translation strings optional for tools 1213daf tools: define default tool colors

Captures d'écran

Screenshot de Micropolis