Skip to content

CryptoDungeonCrawl is a text-based dungeon crawler game where the in-game environment is dynamically influenced by real-world external information, such as the price of Bitcoin. As external factors change, the game world adapts, introducing new challenges, enemies, and rewards.

Notifications You must be signed in to change notification settings

MarcBTHT/CryptoDungeonCrawl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CryptoDungeonCrawl

CryptoDungeonCrawl is a text-based dungeon crawler game where the in-game environment is dynamically influenced by real-world external information, such as the price of Bitcoin. As external factors change, the game world adapts, introducing new challenges, enemies, and rewards.

Features

  • Dynamic Environment: The game world changes based on real-time external information.
  • Bitcoin Influence: Fluctuations in Bitcoin prices affect in-game events, mobs, and rewards.
  • Text-Based Adventure: Immerse yourself in a classic dungeon crawler experience with a focus on storytelling.

Roadmap

  1. API Integration

    • Set up API to collect real-time market data, such as Bitcoin prices.
  2. Dungeon Game Development

    • Build a Dungeon Crawler

      • Storing the dungeon map.
      • Adding the adventurer.
      • Create a real-time game.
      • Building a dungeon.
    • Compose Dungeon Denizens

      • Composing entities.
      • Installing and using Legion (an ECS library).
      • Composing the player.
      • Managing complexity with systems.
      • Adding monsters.
      • Collision detection.
    • Take Turns with the Monsters

      • Making monsters wander randomly.
      • !!!! Moving entities in real-time !!!! Commit
        • I replaced random_move with monsters_move, where all monsters move 1 square in the player's direction (basic algorithm, you could do an A* algo).
        • Then I split the program, because before the monsters logic was in the ECS system, which is executed every turn (every player input).
          • I divided it into main_schedule and periodic schedule (mod.rs).
          • Then, in the tick function (main.rs), I call the periodic schedule, which moves every 1s (after which it changes according to the BTC price) and the main schedule as before.
    • Health and Melee Combat

      • Giving entities hit points.
      • Adding a heads-up display.
      • Implementing combat: I implement my own solution:
        • I modify collisions.rs. I strungle because we can't borrow *ecs as mutable because it's also borrowed as immutable mutable borrowing occurs. And I add other difficulties. And I had other difficulties.
  3. API and Game Integration

    • Establish a connection between the API and the game.
    • Develop mechanisms to dynamically adjust in-game elements based on real-world market data:
      • Depending on the price of BTC, the speed of monsters changes
  4. Multiplayer Integration

    • Add multiplayer functionality to the game.
    • Implement multiplayer interactions, such as cooperative gameplay or competitive challenges.
  5. Player-driven Actions

    • Enable players to perform external actions that influence the game.
    • Define a set of actions players can take outside the game to disadvantage or challenge other players.

Demo

CryptoDungeonCrawl.mp4

About

CryptoDungeonCrawl is a text-based dungeon crawler game where the in-game environment is dynamically influenced by real-world external information, such as the price of Bitcoin. As external factors change, the game world adapts, introducing new challenges, enemies, and rewards.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages