Catfish Escape
Catfish Escape: An oldschool roguelike dungeon crawler.
Awards
Scores
Ratings (show detail)
Overall: 3.1
Fun: 3.2
Production: 3.3
Innovation: 2.8
Files
File | Uploader | Date |
---|---|---|
Catfish_Escape.zip
— final
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 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

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.
