Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages