Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Caves of Trash and Treasure

A topic by jhowl created Mar 10, 2018 Views: 407 Replies: 3
Viewing posts 1 to 2
(2 edits) (+1)

Link to Submission

Started 03/03/2018 14:00 GMT, submitted 10/03/2018 about 10:30 GMT (after re-upload to include license).

This is my first 7DRL and my first RL of any kind!

I based the game around a few ideas:

  • The objective is to escape with the highest total value of items in your inventory. Finding the Extremely Fragile Crystals (or indeed reaching the bottom of the cave) is optional!
  • The value of an item is roughly (depth - usefulness):
    • Powerful items are usually made from cheaper materials.
    • Gems are worth more, but waste an inventory slot.
    • The Extremely Fragile Crystals are worth the most, but they  waste an inventory slot and you can't use that slot for anything else without destroying the Crystal.
  • You only have four inventory slots, so you need to decide which items to take and which to leave behind. The game is short, but you can make it more challenging by trying to escape with a higher score.
  • As you explore the caves, other treasure hunters will arrive and take items for themselves, using them against you as you try to leave.

I used Python + tdl, and NumPy for a bit of the map generation (since it is a requirement of tdl anyway). I used the Revised Tutorial as a starting point for the game engine. I spent more time than planned familiarizing myself with the framework, but overall I'm happy with the result!


Sensei, please teach me how to create exe file for python3 + tdl. I have been tearing me hair out because of it

(+2)

No problem! I used cx_freeze to build the exe, there's an example on the tdl GitHub repo. I modified setup.py for my project and ran it from a Python virtualenv with the packages required to run the game.

It gave me an error the first time I tried to run. It looked like cx_freeze didn't copy across all the numpy modules that tdl needs. I added NumPy to the list of packages in setup.py and that solved the problem. I included the setup.py with the source if you want to take a look.

You're my hero