Skip to main content

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

Critical Keep

A topic by jhowl created Mar 09, 2019 Views: 232
Viewing posts 1 to 1
(3 edits) (+10)

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.