Skip to content

A short roguelike game, based on the book 'The Ratcatcher' by Viktor Dyk.

Notifications You must be signed in to change notification settings

dsmordasov/dmitrijs_roguelike

Repository files navigation


Logo

Dmitrij's Roguelike

v0.1 The Ratcatcher

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

A short Roguelike game based on the book Krysař (The Ratcatcher) by Viktor Dyk, done as a hobby programming/game dev project by a student with definitely not enough free time to be doing such things.

I have hardly put away any time to play videogames since I started my studies in Aerospace Engineering, almost five years ago now, at TU Delft. So, if you've no time to play videogames, what better way for a busy student to replace it with an even more time-demanding pastime - videogame development!

Built With

The Ratcatcher?

I chose to base the v0.1 version of my Roguelike on the Czech novella Krysař (The Ratcatcher) by Viktor Dyk.

If you know me in real life, you might have noticed that I read a lot, and since this was supposed to be mainly a programming pastime, I chose to outsource the story and world creation to someone who is better at it than me. There are a plethora of fantastic universes I know I could base the game on, yet I did not need anything too large for my v0.1. To venture out into the worlds of say, Tolkien, Herbert or Sapkowski for such a small game... it would feel like going on an arduous pilgrimage to the largest shopping mall in your city, just to buy a pack of gum.

I would definitely recommend the book to an undoubted person of taste such as yourself (well, you did get this far into my readme, didn't you?). It is short, beautiful, and packs a punch. Most Czechs know it, as it is neither too difficult nor too long on one's reading list for the Maturita national high school exams. I drew it for mine.

On top of that, rats are an established RPG first enemy trope, so why not have a game with nothing but them?

Playing the game

To get the game up and running, just download one of the latest v0.1 release builds (Win, Mac and Linux friendly ❤️) here! I hope that requiring you to have a keyboard to play the game is not asking for too much.

Press Esc in-game to see a short tutorial. Menu screenshot Get down to the 5th dungeon level and face The Ratcatcher boss!

Game tips

Gamplay is heavily inspired by the original Rogue, so I wish you good luck - you will need it. The 'bumping' combat system can be cheesed a bit by waiting (click .) until the enemies come to you, so that you would have a guaranteed first hit.

Ingame screenshot

I made using items vital for the success of a dungeon delve. Do not forget to equip items! I recommend keeping rocks until you start encountering chonky rats in dungeon level 2 - by sniping them with a rock (hits closest enemy) from a distance, you can make sure that they don't get a single hit on you.

Ingame screenshot

As you level up, you can improve your constitution (HP), strength (damage) or agility (defense). Leveling up can save you in a tight fight by basically healing you, but you need increased damage and defense, as the enemies in the deeper dungeon levels are stronger and have thicker coats as well, absorbing more of the damage you cause, so choose wisely.

Do keep some items for the end-game boss, but watch out for his special attacks, and for the fact that he might be immune to a certain item!

The game's writing is no literary masterpiece, but some effort has been put into it, so for added context do read the story messages as you delve deeper into the dungeon!

Playing around with the code

I have included a requirements.txt file, so after cloning the GitHub repo there's everything you need to set up your own virtual environment. Once you do, run the game from main.py and play around with the code as much as you want!

If you want to build the game on your machine, just run

pip install pyinstaller

and once it's done,

pyinstaller build.spec

I have spent way too much time debugging and perfecting the build.spec file for PyInstaller, the meme that Python apps are completely undeployable is a filthy lie (as long as PyInstaller is sufficient for your small needs).

Lessons Learned

Whilst I have known about the concept of feature creep, this project taught me its essence by taking the concept and beating my head violently with it for days on end. The list of features I want to add is expanding almost as quick as the universe, and I have no idea how anyone with a serious project over at /r/roguelikedev gets anything done in their real life.

All in all though, I do have to say that it was a nice experience. An hour (or two, although usually few) spent once every evening improving another system of the game, designing the player experience or just plain debugging after programming wind turbine BEM aeroelastic codes and planning imaginary wind farms the whole day... it relaxed me more than I would think.

I have found out that Game development is the software equivalent of aerospace engineering - the systems you build are complex, need too much time frankly and make you want to go full-time immediately. I enjoy fine literature, photography and pick up my guitar/uke and sing which provides me with infinite joy, but to make a proper game, there is so much digital music, art and game design that one should learn, that I can see why indie game devs usually only succeed if they have some money put away so that they could sink a few years into their passion projects.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Having said that, hands off. This is a hobby project of mine, so no, I'm not letting you contribute without a good reason.

License

Uhhhh... Look, I know that it's not too difficult to just put up a CC license or something, but I choose to leave that problem for future Dmitrij. Steal me and sell me while you can (and good luck mate).

Acknowledgements

A big, warm thank you to:

About

A short roguelike game, based on the book 'The Ratcatcher' by Viktor Dyk.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages