Final screenshot of Catfish Escape

Catfish Escape

Catfish Escape: An oldschool roguelike dungeon crawler.

github.com/Regarrzo/roguegame

Awards


Mathew Mercer Award for Dungeon Masters and Brave Adventurers
Presented by Anders

The 3d Maze of Twisty Passages Award for a Maze of Twisty Passages
Presented by ntoll

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.1
Fun: 3.2
Production: 3.3
Innovation: 2.8

Respondents: 11

Files

File Uploader Date
Catfish_Escape.zipfinal
Final game submission
regarrzo 2025/03/28 22:30
FinalScreenshot.png
Final screenshot of Catfish Escape
regarrzo 2025/03/28 22:15
visibility.png
Visibility system and basic combat
regarrzo 2025/03/26 15:15
Screenshot_2025-03-25_005853.png
Day 2 Screenshot
regarrzo 2025/03/24 23:59

Diary Entries

Day 1-2

First day was mainly spent implementing a simple entity component system. It's quite nice to work with but incredibly slow, hopefully that won't matter as everything is turn based anyways :]

Day two I implemented a lot of the core game logic and player controls. The player automatically pathfinds to the clicked location. Enemies will chase the player upon seeing them and will remember the their last position.

We've also decided on a setting: The player is a catfish warrior captured by evil elites to perform as a gladiator and must escape the castle and return to the ocean, following the rivers.

Day 2 Progress

Add a comment

Day 3-4

Today and yesterday I've implemented a visibility system with fog of war, i.e. you must first discover parts of the map to see them and you can only see entities that your character could actually see. I was actually surprised at how well my very naive implementation of this worked.

Essentially, to compute visibility, I just iterate all tiles in a circle around my character and use Bresenham's line drawing algorithm to draw a line to each square. If the line intersects a wall, that tile is not visible. If it doesn't, that tile is visible. This works really well aside from some tiles that are strangely disconnected in visibility because the lines produced by the algorithm just happened to avoid all the walls. But it works well enough, so I will not dwell on it further.

I've also implemented a simple combat system, hp bars, and I've had my first emergent behaviour: A goblin killed a rat to get closer to me. :P

Visibility System

Add a comment

Wrapping up, Day 5-6

The end is nigh, and my semester is starting. Therefore I didn't have as much time as I'd like to have to work on the game. I've still many things since the last version like
- A healing pickup
- A way to change levels
- Improved sprites
- Improved dungeon generation
- Damage numbers

I hope you all enjoy this entry. It might not be extremely fun to play, but it nontheless taught me a lot about programming, especially about programming within an ECS :)

Check out the code if you want. Especially at the beginning I tried to keep quality high. Most if it is probably pretty readable, although some of the system code is done quite hastily and without regard for maintainance as I just wanted to wrap things up.

I'm excited to play your games everybody, it was fun!

Bye bye.
Final entry screenshot.

Add a comment