Discord | Arciae Itch

Rogue Absorb

A traditional roguelike, where you dive into the dungeon with Guardians, Inhabitants, and Numbers. You can Revive Yourself.

Lore:

In the Graveyard of Gods, they said:
Dive into Dungeon, Retrieve the Amulet, and You shall become God.

They seems to forget to mention that you have to return to Altar.

Controls:

tldr: 8 way movement, supports vi, keypad, and WASD with X to wait a turn.
Detailed version follows.

Combat:

Larger number absorbs smaller number, 6 + 3 = 9   7 + 5 = 3;
You can absorb equal numbers.

*** Absorbee only add their numbers to you and you don't need to be higher than Absorbee to absorb them. ***

Creature Types:

Absorbee: Friendly, step on them to add their numbers to you.
Guardian: Chase you when you see them.
Hunter: Hunt you across the map.
Neutrual Inhabitant: They would not attack you, but you have to be larger than them to absorb them. They were happy in the dungeon.

Hall of Fame:

CatPlusPlus: Becomes God, Revived 12 times.

Anonymous: Becomes God, Revived 0 times.

Tell me if you have Become God! ;)

Technical Details:

I intended to write a more detailed post about the process in developing this game, this is a random draft version I wrote after I haven't slept for 2 days for continious developing.

For this submission to 7DRL 2024 which I made in 3 days, I wanted to try web stack frameworks, before this game, I had zero knowledge about JavaScript.

So, after finding out multiple people are using rot.js to make their roguelike games, I started to think maybe this is the opportunity for me to incorporate game development and web development, to finally set foot into this rabbit hole. So I learned TypeScript, shockingly, it was easier and more elegant than I thought, although due to early days of JavaScript there are many quirks, I actually feel confident enough to build my future projects with them.

Although, with rot.js, you can just click and play .html files in your browser, but nowadays everything requires a local server and html module does not support CORS in file protocol, so if you download the game hosted in this page, you need a local web server to run it. Luckily, there is a plugin for Vite.js to create single page offline .html, I might upload them sometime in the future with Source Code.

The project is built with Vite.js, because file protocol does not support JS modules due to arbitary limitation on CORS. So in order to use TypeScript's type system with Node.js modules, I have to use a local server.

I learnt a lot, and compared to my previous years, this 3DRL feels a lot more smooth, they weren't kidding when they say you will indeed improve your coding skills. I remember my first roguelike Afterdice, written in C++ with my Custom Engine™, and Lua as Gameplay language, everything feels rather convoluted and it took me quite some time to achieve the result. Moral of the Story: practice makes perfect.

Detailed Control Scheme:

Move Up/Left/Down/Right: W/A/S/D | 8/4/2/6 | K/H/J/L

Diagonal Move: Q/E/Z/C | 7/9/1/3 | Y/U/B/N

Wait a Turn: X | 5 | ;  OR Space

Grab: G | g | Enter

Touch: T | t | Enter

Go Upstairs: < | Enter

Go Downstairs: > | Enter

Click on tiles to see its information.


Illustration generated by AikonCWD with ❤️ and AI

I have a Physics Game:

Industrial Sort

Thanks for playing!

Arciae Artiae

Comments

Log in with itch.io to leave a comment.

I have to say, the idea of adding math into my roguelike didn't appeal to me until I tried it.  Very fun.  I'm definitely going to revisit this one several times.  Amazing for 3 days of development.

Great game, Arciae! Simple premise yet works out quite well, and the balance and decion-making process is nice overall. I would say it could use faster difficulty progression, though, since it ramps up rather slow, 20 whole floors when one has to move somewhat carefully to avoid accidental deaths in order to remain at 0 revives on a win. I tried, and was well on that path actually (made it to 15 without reviving) and likely would've won, but ended up introducing the game on stream while I was mid-game (I had left it running in the background overnight), and not paying attention while watching chat got me killed xD. My bad, oh well. It's the kind of thing I'd do another run for just to win if it were half as long, but it's kinda time-consuming to make the optimal decisions to ensure a flawless victory. Not too hard, but it does make you think!

Thanks for the good 7DRL :)