Yarlig

Yet Another Rogue-Like in Godot

What is it?

This game is based on the original 1980s Rogue. "Based" is used loosely. "Game" is used loosely. The visual design was also inspired by Dwarf Fortress and Cataclysm.

This game is a continuation of Yallig for Hyper Game Dev's 7th Game-like Jam .

How do I play?

You are @. Use arrow keys to move. Walk into M mobs to attack. Go deeper by stepping into the down stairs v. Backspace to start a new game.

What is interesting about it?

Not much about gameplay itself is interesting. There might be more interesting under the hood though. The game barely uses Godot resources.

Besides a black background ColorRect, all elements in Godot are RichTextLabels. Animations are performed using a sort of double buffer of 2 RichTextLabels whose visibility are cycled between. The Renderer ensures the RichTextLabels always contain 25x80 (rows x columns) for display.

The world is tracked in a custom list of lists built as an Array2D class, which has an additional wrapper of a CenteredArray2D class so we can use x/y coordinates instead of rows and columns.

Why is zoom broken?

Try entering full screen. Try exiting and re-entering full screen. Try zooming out and zooming in again. It's a little silly.

Roadmap

In no particular order:

  • fix zoom reliability, especially in browser.
  • map generation by choosing angles from center and projecting path/room out into available space (it's a chaos theory algorithm, forgot the name)
  • mobs path find towards player
  • weapons, armor, potions, etc
  • more refactoring (nothing comes to mind but this file must have more copy/paste given its length)
  • visibility (currently the entire map is visible always irrespective of location, walls, etc)
  • rewire using ECS

Can I has source?

Yup. It's on Github!

Development log

Leave a comment

Log in with itch.io to leave a comment.