Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

jhowl

5
Posts
3
Topics
7
Followers
A member registered Feb 02, 2018 · View creator page →

Creator of

Recent community posts

(5 edits)

Started Sunday 01/03/2020 10:00 GMT. Submitted Saturday 07/03/2020 about 14:30 GMT.

Two Button Berserker is a dungeon crawler with only two keys. What they do depends on the situation:

  • Use Z to fight, explore and dive deeper into the dungeon.
  • Use X to use scrolls, potions and equipment, increasing your likelihood of survival.

The gameplay is based on classes like the Berserker in Crawl, which mainly alternates between two states: auto-fighting and auto-exploring, and realizing that you're in danger and need to use an item or ability or something.

This is a game where each of those states is mapped to a key. The catch is that you get stronger the more you press the auto-attack button. If you use an item, you'll calm down and lose that strength, so you might end up in more danger than before!

I used Python again, but this time I used BearLibTerminal and Esper. Both libraries were really nice to work with, and the executable is smaller because it doesn't depend on NumPy. I reused the map generator from Critical Keep and adapted it for a bigger map, as this is my first game where the viewport tracks the player. Code quality is not where I would have liked it, but I may come back and clean it up in a post-7DRL release.


(3 edits)

Critical Keep

Started 02/03/2019 13:00 GMT, submitted 09/03/2019 about 09:00 GMT.

I based this 7DRL around a few themes:

  • The combat is decided by random numbers, but the next random number that each creature will draw is known to the player. There is a a simple mechanic (swapping) to reorder the random numbers in their favour.
  • The aim is to swap low (good) numbers to yourself while keeping high (bad) numbers on the enemies. You can swap and use items as much as you want without ending your turn, but you are limited by the numbers visible on screen.
  • The combat results are shown in multiple places. As well as the panel in the top right, the next random number for each visible creature is shown and colour-coded by whether they will miss, hit or critically hit. The creatures are also colour-coded on the map.
  • All corridors are two tiles wide, making it more difficult difficult to engage one enemy at a time.
  • The use of smoke bombs as a panic button, reducing the accuracy of all visible enemies to zero for a few turns.

I used Python + NumPy + tcod as with last year. This time I used GitHub for version control.

This year I tried to separate out different systems in an approach that is part ECS (based on this tutorial). However, I ended up redoing the action queue and map generation part-way through (which cost me about a day and a half) so the code is not as clean as I would have liked. I may come back and clean up the code in a post-7DRL update while fixing any bugs that emerge.


Thanks for the feedback! Do ":" and ";" work instead of "<" and ">"?

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.

(2 edits)

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!