Looks pretty nice too
tvnalad
Creator of
Recent community posts
I had a technical problem with the lights on each side of the stairways if they were on walls, it would spill light behind the walls as well
You don’t have to put the actual light source on the walls. You could do the light as it already is, and just put a sprite of the torch on the wall, and maybe just apply some effects to the sprite to make it look like it’s glowing
Okay so I finished this game recently in about two days and feel the need to share my thoughts. Do note that I haven’t played a lot of rogue-likes, DRPGs or dungeon crawlers, so it can be literal skill issue on my end. Only ones that I can say I played are the Rogue from 1980s and TES: Daggerfall.
I played the game as some random classes on hardcore at first, since I just assumed that the game is short. After getting my ass whooped, I started playing as a musketeer on standard.
Oh yeah, if you haven’t played the game yet, play it first before reading this comment! It’s a great game and I don’t want to ruin it for you xd
Furthest I’ve got playing on hardcore is the first room of the Parish, getting killed by the dream eater guy. Which is my first issue with the game. I don’t know if I missed something, but I think that guy is just impossible to kill xd. Getting killed by him on standard and reloading removes him from the level completely. He would always spawn once when getting into a new section (except in the archives I think?), kill me, and not spawn in that section anymore.
Another enemy that I found hard to deal with at first were Shamblers. On the very first encounter with one, I got soft locked by one at the entrance of the level. I tried to leave and re-enter, hoping that the game would reset his position, but getting back it was still in front of me entrance. I was stuck in place because I couldn’t move because of the fireplace stuff being on the sides. Maybe replace those with torches instead? It would also be nice to have torches around the levels too actually, since there’s not that many points in the game where you get to use the tinderbox. Maybe you could balance that item how Amnesia TDD does, making the lantern run out a lot faster, forcing you to light up candles and stuff.
It would also be nice if we could speed up the animations. Attacking, rotating and pickup/drop animations were a bit slow for my taste.
And the bosses were pretty easy to deal with, at least for me. Only the final boss was a little bit challenging, because I had to move around to avoid attacks and stuff. But then again, I played as a musketeer, I was just stacking the pistol with upgrades and shooting everyone away xd
And that’s about it, that’s the main stuff I wanted to mention.
Unlike other commenters here, I haven’t really gotten any cursed items in my runs. I think how Rogue 1980 handled that was curse just stopping after some time, letting you take the item off (and re-curse you if you put it on I think?).
Also, I can make music for your if you want me to. I’ve been making music for about 4 years now. Last year I started considering doing music for games, and would actually love to help you out on this, to also get my music resume going xd
Oh the problem isn't if the backend supports the file picker or not, portals just weren't working for me properly. I had this problem when using Chromium for example, where the file dialog would never open. XDG portals should, if the backend doesn't have a file picker, fall back to the system's default one.
In my case I have moved `.Xauthority` file to a different place (AGES ago), and the portals backend would just refuse to work because it couldn't find the file (and it woulnd't fall back to the default one). I just had to tell the portals where the file was and it started working XD
Also I didn't notice the edit you made, or the fact that `popup_` methods didn't return anything for an exception. My bad on that xd.
I would also probably close or rewrite the github issue you left to something simple like "backup file dialog if system's file dialog breaks". It's not the issue with Godot or the game, but the OS's.
Sorry for getting this lengthy yet again, just trying to explain what's going on so there's no confusion xd
Before I get to any point, I just want to let you know that I've fixed the problem on my end, so you don't have to worry anymore xd
First I will write what I did explaining the FileDialog thing, then under that will be the XDG related stuff. But as I said, no need to worry anymore
---
When I cloned the project from GitHub, running it would give me this error:
E 0:00:18:0957 Controller.gd:237 @ show_file_dialog(): Failed to send DBus message: Could not activate remote peer 'org.freedesktop.portal.Desktop': activation request failed: unit is masked
<C++ Source> platform/linuxbsd/freedesktop_portal_desktop.cpp:460 @ file_dialog_show()
<Stack Trace> Controller.gd:237 @ show_file_dialog()
IOManager.gd:122 @ load_ceol_song()
IOManager.gd:136 @ <anonymous lambda>()
WindowPopup.gd:161 @ <anonymous lambda>()
What I meant with "Godot's FileDialog" is to use the in-game node. So what I did first was make the node via code (`FileDialog.new()` and so on), and wrote some basic logic. At the moment the function only tries to use the native file picker and does nothing if popup_centered() errors out (now, I haven't read the rest of the code related to file dialog, there might be better place of coding the fallback thing xd)
XDG portals are just this "new" standard that helps applications access resources:
- https://wiki.archlinux.org/title/XDG_Desktop_Portal
- https://flatpak.github.io/xdg-desktop-portal/
"Masking out" is essentially stopping the systemd service from ever starting (either on boot or by an application)
I had problems with XDG portals for a while not on my system and never got around on fixing them — until now! You pretty much don't have to do anything really... but a fallback would still be nice tho
Saving doesn't seem to work on Linux
ERROR: Signal 'file_selected' is already connected to given callable 'RefCounted(IOManager.gd)::_save_ceol_song_confirmed' in that object. at: connect (core/object/object.cpp:1402) ERROR: Can't add child '@FileDialog@153' to 'root', already has a parent 'root'. at: add_child (scene/main/node.cpp:1562) ERROR: Failed to send DBus message: Could not activate remote peer 'org.freedesktop.portal.Desktop': activation request failed: unit is masked at: file_dialog_show (platform/linuxbsd/freedesktop_portal_desktop.cpp:460)
All file-related errors look like that actually. Loading, saving, importing and exporting
EDIT: Figured it out, on my system I have masked out the XDG portals because it's broken. Now I know I might be asking for a lot, but it would be nice if Godot's FileDialog was used instead (or even better, to fall back to it if the `dialog.open_centered()` errors out).
Thanks for checking it out!
tldr: Stuff is the way it is because I prefer small downloads, tho I will package everything into a single file and add a browser export (soon hopefully xd).
I set it up this way to keep download sizes small. Future volumes might include animated backgrounds, which could increase the game's size if I'm not careful (the current backgrounds are just static renders made in Quake 1). I also considered a browser export since I expected people having trouble setting stuff up, but Godot 4.2's browser export was broken (4.3 came out like days ago and it fixes that problem)
As for the controls being that way, it's mostly so I don't accidentally skip a song while recording the screen xD. That's why this "game" even exists, I just find coding stuff out faster and simpler than video editing.
I noticed you guys mentioned adding more interactivity to the game during the stream. I actually feel that would take away from the atmosphere and story I want to tell. Standing still is one way to represent the themes I'm going for I guess
Don't store scores and settings in the home directory, on Linux at least. You should follow XDG base directories for that. You should do something like XDG_CONFIG_HOME/sandtrix/settings.properties for settings, and XDG_DATA_HOME/sandtrix/highscores.data for high scores.
If you still want to name directories with the game's version, do something like XDG_CONFIG_HOME/sandtrix/1.4/settings.properties.
For MAC, follow this. And for Windows systems, you should do something like this.
There's nothing that I could add here, everyone said everything that there is to say. Concept is great, you can make a great rythm game with it. Unfortunately, controls are the biggest offender here in my oppinion. It's difficult because of them really, they just don't feel right when following shapes on the screen. One thing I want to offer for the controls is to order them differently on the screen, something like letter C on it's back. Idk how to explain so here you go like this xd:
Q R
W E
There are two Godot robots, Robbie mascot and that dude made out of Godot icons. I'm assuming you referred to the latter one and in that case, yes xD
I love these kinds of games, where devs just let you jump wherever on the map and not giving you the strict paths. The game's aesthetics are beautiful and charming, while the music is complimenting it.
The only complaint I have that the controls are a little bit stiff, there are not that many options for control while in jumping state, NES Ninja Gaiden imo has that perfect movement for this kind of game.
But all in all, it was a great experience!
Played it, it's pretty good. Don't know where you got stuck while making it, I'll assume it's the visuals. If you kept it a little bit simpler, I think you would have time for maybe 2-3 more levels. Anyways, good music, cute aesthetics & good idea! Hope you'll work on it a little bit more after the gamejam
Pretty fun game with some pretty sweet looking graphics and banging music!
In the comments below you said that you planned to put timer that records your longest run, but what if I told you that you can go for infinity like that by just sitting in one place and mashing right click. I don't know how would you go with solving that problem, think bailing water by holding to put it in the bucket and holding to throw it out would fix it.
I think IneffableTryx28 said everything, think I should add that atmosphere is really well done and really strong.
I don't think I necessarily had a lot of ideas, I think it's just me being lazy, losing motivation and being inpatient. Eventho I've been making games for 6 years (yes, that long, have been using godot for like 4 months?) I haven't gotten used to finishing them. I've tried to follow that 4:44 rule. Took me 3 hours to think about this thing, sat down for 30 minutes to code some basic stuff and went to bed. Next morning I've continued with coding and it took me something like 3 hours to get to this current point (also tried to change up movement and some other stuff, turned out it was just a massive waste of time). When I was done with what I've planned so far, my brain just shut down, couldn't think of anything else to throw in this game that would work with sanity system (It seems like I really like to talk about it :/ ) and didn't even try to work that last day.
I tried out your project starter, looks pretty much like mine. The only difference is that I have a simple options menu (not intended for browser games) and a character select menu (heavy usage of singletons). And thank you for providing it, I always thought that I needed to throw some more stuff to it, you proved me that I was in wrong.
I think I will try to jam from time to time just so I can get myself into the habit of finishing my games. This one doesn't count!
Thank you so much for your comment and good luck to you!



