Tower Of Pain - Roguelike game in your pocket

TowerOfPain.ino.leonardo.hex (78.5 KB)

Tower Of Pain is a small roguelike game with simplified mechanics and small assets (very small assets)… made for fun only!! :slight_smile:

demo

You will find:

  • Lots of enemies
  • A sword, a shield, relics and potions
  • Tiny procedural generated floors

Source and hex files are available on Github (last version 1.2.2):

https://github.com/franalvarez21/TowerOfPain/releases

Important: If you are using an emulator, please be mindful about the sounds :+1: TOP sound is not compatible with emulators (for now).

At the core this is a small project to improve another one that I’m creating for Unity (Consider this a prototype of a prototype). I’m also working on other games for Arduboy, but this is the first one I release to the public. Let me know what you think, thanks!

13 Likes

Very nice! It’s rad that you are using it to prototype a bigger game!

2 Likes

Pretty damn cute, I love it! Also really like the narrative voice, it’s got some charm to it. “You hit with anger” is much better than just saying “Critical hit” in my opinion.

I like it! Favourite roguelike on the Arduboy so far.

Hi, I updated the game to v1.1.2 to improve the UI a little bit, and make the game a little less difficult (the idea is to reach the highest levels in the tower, not to get stuck in lower levels).

Any feedback is welcome, so thanks for the comments so far. All the versions and changes are listed in github, just in case :slight_smile:

2 Likes

My only feedback is that it looks really nice! :slight_smile:

Hi, v1.2.0 is out :raised_hands:

I’m currently working on another game for the arduboy… and I just learned how to make some simple effects… so I decided to incorporate some of them into Tower Of Pain… I think it gives a little more dynamism to it :slight_smile:

4 Likes

I would actually like to see even more of this game. But if you are done with it, it is still quite fun! :+1:

Really love this game. I’ve never enjoyed Rogue-like games before… but this just keeps pulling me back! Would love to see some basic stats and levelling up. Thanks for this great game :slight_smile:

hi there, i’m having a little problem trying to upload it to my diy arduboy, using @Mr.Blinky arduboy homemade package
i asume this means i don’t have the correct libraries installed, but trying with other games it works just fine, even with Virus LQP-79 that uses arduboy2audio and arduboy2base (if i’m not wrong)

PS: for what i could play here on the emulator, this game is just amazing

Arduino:1.8.13 (Windows 10), Tarjeta:"Homemade Arduboy, SparkFun Pro Micro 5V - Alternate wiring, Cathy3K (starts with menu), Arduboy optimized core, SH1106, Pin0/D2/Rx (original)"





















In file included from sketch\src/Game.h:18:0,

                 from E:\Users\diego\Desktop\programas\arduino\juegos\TowerOfPain\TowerOfPain.ino:2:

sketch\src/utils/Utils.h: In member function 'void Utils::changesoundFlag()':

sketch\src/utils/Utils.h:73:21: error: invalid use of non-static data member 'Arduboy2Base::audio'

       Arduboy2Base::audio.off();

                     ^~~~~

In file included from sketch\src/utils/Utils.h:6:0,

                 from sketch\src/Game.h:18,

                 from E:\Users\diego\Desktop\programas\arduino\juegos\TowerOfPain\TowerOfPain.ino:2:

C:\Users\diego\AppData\Local\Arduino15\packages\arduboy-homemade\hardware\avr\1.2.9\libraries\Arduboy2\src/Arduboy2.h:232:17: note: declared here

   Arduboy2Audio audio;

                 ^~~~~

In file included from sketch\src/Game.h:18:0,

                 from E:\Users\diego\Desktop\programas\arduino\juegos\TowerOfPain\TowerOfPain.ino:2:

sketch\src/utils/Utils.h:78:21: error: invalid use of non-static data member 'Arduboy2Base::audio'

       Arduboy2Base::audio.on();

                     ^~~~~

In file included from sketch\src/utils/Utils.h:6:0,

                 from sketch\src/Game.h:18,

                 from E:\Users\diego\Desktop\programas\arduino\juegos\TowerOfPain\TowerOfPain.ino:2:

C:\Users\diego\AppData\Local\Arduino15\packages\arduboy-homemade\hardware\avr\1.2.9\libraries\Arduboy2\src/Arduboy2.h:232:17: note: declared here

   Arduboy2Audio audio;

                 ^~~~~

exit status 1

Error compilando para la tarjeta Homemade Arduboy.



Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

A number of changes were recently made to Arduboy2.h and Arduboy2.cpp making the member functions static, I’ve had this issue before, and have a updated fork of the library available here.

1 Like

oh thanks for the answer!
but how can i use this fork? (and sorry if may be an stupid question, but literally have no idea haha)

1 Like

Oh! No worries. What you wanna do is clone the repo and go into Arduboy-Homemade-Package-master/board-package-source/libraries/Arduboy2/src and copy Arduboy2.h and Arduboy2.cpp. Now, to replace it on your computer so the IDE uses it you will need to find where it stores the board packages, as it’s not installed in the typical libraries location in the \Arduino folder. instead you will need to find a folder called Arduino15, .arduino15, or something similar. It might be hidden. From this directory, go to packages\arduboy-homemade\hardware\avr\[version]\libraries\Arduboy2\src and paste the two files from earlier. Click ‘yes’ when asked to overwrite the files. That’s it! :slight_smile: Restart the Arduino IDE and you should have no problem.

3 Likes

yay! super thanks for the answer, all working perfectly fine now

3 Likes

@poevoid thanks for the help! :raised_hands:
For what I understand there is no need to update the project itself (game) right? I will come back at one point to update some stuff but not yet :slight_smile: busy busy…
thanks again!

3 Likes

No need whatsoever :slight_smile:

1 Like

Have you considered making a PR so the changes could be incorporated into the ‘official’ version?

That would be the smart thing to do! I’m still getting used to github all this time later lol

Went ahead and created the pull request though :slight_smile:

1 Like