Skip to content

Game I am making using pure python, primarily with rich and some clever tricks

Notifications You must be signed in to change notification settings

odinmay/AdventureGame

Repository files navigation


Logo

TextAdventureGame

If only I could think of a name..

Well this is just a current passion project that I am working on. Something I have been wanting to do for a while now has been to make a text based game. I love Zork but didn't want to make something that played like it. After months waiting for an idea to come up I finally have it and this is my attempt at implementing it. I am building the game using Python with the help of a formatting framework called rich. The framework of the game is currently being developed and the process refined. The game draws the screens in a clever way and uses the keyboard library to handle key events which will drive the UI.

Report Bug · Request Feature

About The Project


Main Menu

Game Screenshot


Inventory(WIP)

Game Menu Screenshot


The basic idea:

  • The image above is super rough and incomplete but shows a prototype of the HUD below and the MAP above
  • I added some bars to the side in honor of 4:3, forever in our hearts, I think I will be using these for storing some information about the map, sort of like a legend.
  • The game as far as I can assume at the moment will be played similar to XCOM in top down 2D fashion. Think of the grid above as the tiles and indicators will go within each square to specify what the tile is and its properties.
  • The game will be more open ended than XCOM with the ability to loot things and have unique interactions depending on the tile. This will allow for a robust gameplay cycle that rewards exploration
  • Levels can be loaded on arrival at a specific spot or condition and there may be a world map of sorts and smaller locations that you can go to and load into them
  • There will be an economy, all items will have a value/weight and you will be able to buy and sell with traders
  • There may eventually be quests but that is low priority
  • There will be statistics for things like , objects looted , enemies killed. These will have their own class and get serialized and saved so they remain persistent.
  • I am unsure if there will be pitfalls to this, but I am considering a save system with serializes a main Game class that all other classes will be within, and saving that will allow the game to be loaded. gee, I hope that works.

(back to top)

Built With

These are the Python libraries I currently use for this game

(back to top)

Roadmap

  • Pause Menu Proof of concept
  • Create Main Game Layout
  • Implement a Boot screen
  • Implement Options menu with font/color option
  • Create a custom theme
    • Create a second theme
    • Implement a change theme option
  • Brainstorm a setting. (Post-apocolyptic)
  • Find standard grid boundaries
  • Implement a mapping/factory for assigning tile instances to the board grid
    • Get input for this factory method from a text file. This will allow levels to be saved as text codes into a file and read in line by line
  • Create an example map
    • Add spawn point for player
  • Implement logic for tiles knowing their location/neighbors
  • Character creation screen/prompts
  • Implement an inventory screen using rich Tables
    • Make inventory usable (navigate logic)
  • Create equip methods on player so equipable items/weapons can attach to player

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. It is VERY early currently so it will be hard to know where to contribute but if you have ideas or requests please reach out to me

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Odin May - Email Me! - [email protected]

Project Link: https://github.com/odinmay/AdventureGame



Acknowledgments

So I am taking a lot of inspiration from XCOM and the original Fallout as well as Zork which is the game that inspired the project in the first place. Another game that I think really triggered the idea was Ashes Afterglow, which is a Doom 2 total conversion WAD. The way I am going to approach levels comes largely from Doom WADS as well and their "Hub" style of connecting the world, if you are interested in any of these things I will include links below. Please enjoy!

(back to top)

About

Game I am making using pure python, primarily with rich and some clever tricks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages