Rogue: Exploring the Dungeons of Doom

I am happy to let everyone know that I am releasing a port of Rogue: Exploring the Dungeons of Doom to the PicoCalc today.

Rogue is a text-based top-down adventure dungeon game that started the genre of roguelike games.

From the help page:

Exploring The Dungeons of Doom

Rogue is a computer fantasy game with a new twist. It is crt oriented and the object of the game is to survive the attacks of various monsters and get a lot of gold, rather than the puzzle solving orientation of most computer fantasy games.

To get started you really only need to know two commands. The command ? will give you a list of the available commands and the command / will identify the things you see on the screen.

To win the game (as opposed to merely playing to beat other people’s high scores) you must locate the Amulet of Yendor which is somewhere below the 20th level of the dungeon and get it out. Nobody has achieved this yet and if somebody does, they will probably go down in history as a hero among heroes.

When the game ends, either by your death, when you quit, or if you (by some miracle) manage to win, rogue will give you a list of the top-ten scorers. The scoring is based entirely upon how much gold you get. There is a 10% penalty for getting yourself killed.


Please read the README page and A Guide to the Dungeons of Doom.


18 Likes

The first release, v0.1 is pretty rough around the edges, but it does work. Feedback is always appreciated.


3 Likes

Rogue!!! Amazing!

I immediately downloaded “picocalc-rogue-v0.1-pico.uf2” to my Raspberry Pi PICO, explored the dungeon, and after struggling for a while, finally met my end.
It’s truly amazing. Thank you so much for porting Rogue to PicoCalc.

By the way, the screen says [Press return to continue], but what should I enter here?
Nothing happens when I press [Enter].

2 Likes

Yes, one of the rough edges. :frowning:

Right now you need to turn off the PicoCalc and back on again. I hope to have that fixed in the next couple of days.

Awesome! You made it to level 6!

2 Likes

Awesome, porting a rogue like was on my to-do list. You even ported the original.

1 Like

Good timing! I get mine in the mail in the next day or two so definitely checking this out.

1 Like

I have released version 0.2 of the PicoCalc port:

  • Fix options screen
  • Add title page with top ten scores and option to start a new game or last saved

1 Like

What do you use the _w uf2 variants for? Uploading scores?

Absolutely nothing! I just do that as per my process. Maybe the most I would do is get the current date time for the file system and the tombstone for completeness.

Release v0.3 is now available.

This release adds support for setting environment variables, in particular, ROGUEOPTS. See how this works in the GUIDE.md document.

I also took to heart @Ben comments, and I only created Pico and Pico 2 uf2’s for this release.


3 Likes

v0.3 is stuck on the intro screen with an empty list of names and scores. I don’t know what to do next and no key seems to work.

– edit –

same on v0.2

tried on pimoroni pico 2 plus w if that matters

1 Like

This is probably my fault.

Do you have a /Rogue directory on the SD card?

I am looking into this tonight.

I am using the same board.

Is New Game highlighted and nothing happens if you press Enter or space?

Do you see the battery indicator at the bottom right?

The bottom of the screen is not drawn and I don’t have a Rogue folder on my sdcard. I’ll give it another try tonight.

1 Like

I may have found the problem. @Ben, that description really helped track down the bug. Hopefully, that is! I will do a release and hopefully this fix will work.

Release v0.4 is out, hoping to fix the problem @Ben found.


2 Likes

Yes, v0.4 works, and it even saves scores when the /Rogue directory exists. I did get one run to freeze on going downstairs, but there was nothing obvious that would explain it.

2 Likes

Thank you for the update!
I’m playing V0.4 on Raspberry Pi Pico and Pico 2, and it seems that when picocalc-rogue-v0.4-pico.uf2 is installed on Raspberry Pi PICO, the following issue may occur.

The workaround is to press “SW101” on the board.

This may be due to my environment, but it may not be. (Note that the PicoCalc keyboard firmware is v1.2.)

When picocalc-rogue-v0.4-pico2.uf2 is installed on a Raspberry Pi PICO 2, the above problem does not appear to occur, so I continue playing with the Pico 2.

1 Like

Thank you for the feedback about the Pico!

Unfortunately, I don’t have a PicoCalc with a Pico to test with. Since every time one opens the PicoCalc there is a risk of cracking the screen, I only do so when absolutely necessary.

The SW101 switch looks to be the reset switch for the south bridge (STM32).

The firmware on that microcontroller is self-initialising. I talk to it through a small set of registers after it initialises itself. If you see 0% battery that means that the south bridge is not functioning correctly or something has gone wrong when communicating over i2C.

In that case, there is nothing I can do. 1.4 of the firmware does allow me to reset the PicoCalc through software, but if I cannot communicate to it, I cannot reset it.

I have noticed that on a very rare occasion the STM32 glitches (others have too) and one needs to power cycle to recover.

The lockup also may be caused because I do not use timeouts when communicating over I2C. So it the I2C goes down in a certain way, it will appear to lock up.

Please let me know if it starts becoming a hassle and I can look into trying to make the code more fault tolerant.

1 Like

That will be a keyboard firmware bug; SW101 resets the stm32.

None of the keyboard firmwares are particularly robust, and the different applications tend to tickle it in different ways. I’m actively having to stop myself from looking at it while I still have uf2loader tasks on my plate… :sweat_smile:

2 Likes