Skip to content

Yarmoski/Dungeons-and-Lizards

Repository files navigation

Note

Looking back at the code for this project with the additional knowledge I've accumulated over time, I can clearly see that the code for this project is flawed. The structure and organization is poor, which is understandable considering this was one of my first projects. I'm glad I am now able to recognize the mistakes that I have made here and I hope to keep learning more about Python and programming in general!

Dungeons-and-Lizards

Text-based Role Playing Game on the command line built using Python.

Explore a strange world as yourself! Start off with nothing but a little gold in your pocket, but slowly grow your strength through leveling up and utilizing items.

This game can be played by anyone! However, tread carefully since death is permanent...

The combat features timed inputs and a variety of possible combat actions to create a sense of intensity and a skill ceiling without borrowing code or using external libraries. Dungeons-and-Lizards works best on a windows PC.

How to play

Simply run the .exe file!

If this is not possible, the .exe or Python files can be converted to compatible formats using various free tools that can be found online. Contact Ted regarding any questions.

Motivation

I love video games and I am always interested in what goes into making an engaging experience for a user. I also wanted to learn about Python so I figured I could explore both interests by creating a Python RPG!

What I learned

As this was one of my first programming projects, there are many improvements and readability updates I could make. While going back to refactor the entire project is out of its scope, I've already gone ahead and made many improvements. I will continue to make these improvements as I learn more.

This project took me much longer than I expected, as I wanted to make sure the core mechanics were engaging and that locations were full of dialogue/text to read. One of my main goals with the project was to make it scalable and expandable, which I accomplished using a world system that can be added onto infinitely. I learned about challenges that come with user inputs, displaying strings, classes/attributes and much more. I also got to solidify my mastery of Python syntax as I had just learned Python when making this game.

Creating this game also taught me another important lesson about setting realisitc goals. With almost 2000 lines of code and excessive StackOverflow browsing, I may have been too ambitious in my goals for the game. However, I am glad that I stuck with it and created a working game with some depth to it!

As I learn more about better programming practices, I always look back at my past projects and think about how I could have done differently.

Roadmap

  • Tutorial! New players seem to be lost
  • Implement more ways to get gold (farming + selling crops, more fishing features, minigames)
  • QUESTS!
  • Finalize and implement the "corrupted demon" encounter/enemy, test whether the text effects work in the console
  • Design/finish lizard queen final boss fight to trigger after lizard dungeon encounter
  • Add more statistics and dramatic effect to death sequence
  • Saves and continue options (disable rogue-like mode)
  • Persistent progression (small stat bonuses, minor items, gold)
  • Add health meters to combat in addition to the number display
  • Use different text effects/colors to create different tones
  • Increase role of minions outside of combat (puzzles, quests)
  • More map zones + keys to access them
  • Add boss rush (progressively harder enemies) functionality to the hidden dojo area in the mountain pass, create unique rewards (dojo amulet ++monster affinity)

About

Python Text Role Playing Game on the command line.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages