Happy bnu’ying!
Xananax
Creator of
Recent community posts
Excellent art and style! I also like the music.
Issues:
- Can’t advance the tutorial on Firefox
- My keyboard won’t let me press 3 keys at the same time, so any move requiring more than 2 was off-limits for me. Maybe if I could rebind some moves to the mouse. For example, I don’t think there are moves requiring 3 keys if the arms are mapped to MRB and MLB.
I like the game, I think there’s a good loop and fun gameplay.
I think there are a lot of small problems as of right now:
- progression is not fluid; first levels seem repetitive, then difficulty suddenly spikes (in the level with trebuchets)
- weapons are not introduced in a way that they can be tested well. Since they have a limited amount of uses, I tend to keep them for a difficult enemy, but then often die before. I think the items should unlimited, or given space to try in a safe area (at least after dying?) or given a sample of at the beginning of a run… Not sure how to solve it.
- The enemies are different, but they’re not combining to make new interesting scenarios or challenges. The combat is always sort of the same, despite the enemies (ranged, melee, etc) seeming like their composition should change the challenge.
- Not enough tell on when the archer is going to shoot. I often avoid too early.
But overall, pretty fun loop, pretty neat gameplay, I’ll be waiting for the next version!
I like this, but it was impossible for me to beat the two bosses, mostly out of confusion because of the bright colors which make it difficult to read what’s going on, and random slow-downs/speed-ups.
What I disliked:
- Last boss room
- Enemies can shoot you from offscreen and through walls
- You can get the same item if you pick an item box again, which is disappointing
- Lack of feedback on hitting enemies or getting hit means the action is hard to decipher
What I’m not sure if I disliked or if it’s interesting:
- Enemies can pass through walls, but you can’t! Even though you’re the ghost!
What I liked:
- Gameplay
- General difficulty level
- Graphics
- Groovy music
Good feel overall
There’s something extremely interesting here which I enjoyed playing, but I have a legibility problem with it. I genuinely have to squint to see my character and understand what’s going on.
I think the camera should be more zoomed in, or, alternatively, colors should be more contrasted.
All in all a pretty cool idea and well realized!
I am one of the moderators of the Godot Discord, and a huge huge fan of your work, Mr Cavanagh. Super happy to see you try Godot!
Despite moderating the community, I don’t know everything about the engine, so if I can find the time, I’ll definitely pick up a new aspect to learn this weekend. Looking forward to participate.
And I’ll try to answer any questions here too, if anyone has any (though asking them in more public spaces like the Discord is probably more likely to be fruitful).
Good luck to everyone!
Interesting style, good music, fluid gameplay, cool ideas. I like it, would play more
Problems:
- At the moment, it’s way too easy to avoid bullets. Their pattern makes them essentially impossible to hit you as long as you sit in one of the numerous safe spots
- Because of this, the strategy is to stay in place and shoot at the core for every enemy, occasionally moving away from bombs, until the Hammer thingo with auto-lasers, where the difficulty suddenly spikes. I also didn’t understand the lasers were hitscan and hitting me before noticing my life go down.
This is a very fun game, with a good hook, beautiful style. I would have the following wishes:
- some way to ward off or escape from sharks. Basically, once a sharks locks on to you, you have to exit. that’s not very fun
- ability to get oxygen by surfacing anywhere, not having to go back to the ladder
- some rarer, weirder, bigger creatures that lurk in the depth (maybe there are and I happened to not see them?)
- some weird mysteries to ponder and invent lore about
If there were some more mysteries and if the game was a tad longer (not too much! Maybe twice as long), I’d easily pay money to buy it. Heck, I’d ave bought it as it is, but there’s no “pay what you want” button?
Still, an excellent game
I would like to store JSON values as properties of characters, as well as be able to procedurally create dialogues from bits and pieces.
I propose that the method Dialogue.start_dialogue(json_path)
receives a sibling method Dialogue.start_from_data(data, character)
, where data
is pre-parsed json (or, in my case, generated).
A possibly better API would be:
Dialogue.set_data(data)
Dialogue.set_data_from_file(json_path)
Dialogue.start()
Then the external Dialogue.start_dialogue
API could stay as it is, but use the underlying set_data_from_file
.
An additional though: if the two set_data*
methods return self
, then one can do:
Dialogue.set_data(data, character, context).start()
# or
Dialogue.set_data_from_file(json_path, character, context).start()
Hello! Great plugin.
I’m looking to use it in an RPG where talking with people might trigger actions on those people. For example, a person might be able to barter with you.
Or, a person may like/dislike you for saying certain things.
I know I can run global actions, but I would want to run methods in the context of the character you’re speaking to.
One way I’ve found to do this would be to have an autoload singleton like so:
# Interact singleton
var character
func dislike():
character.love = character.love - 1
func open_barter_dialog():
character.barter.popup()
Then, before starting a dialog, setting Interact.character = current_char
, before Dialogue.start_dialogue
.
Then, my script nodes can call dislike()
and open_barter_dialog
.
That works if every character has the same actions, but that means it’s very hard to call a specific command for a specific character.
A more flexible solution would be:
# Interact singleton
var character
func command(command_name: String, args: Array):
if character.has_method(command_name):
var func = funcref(character, command_name)
funcref.call_funcv(args)
And then use in my scripts: command("invoke_devil", ["candles", "sulfur"])
.
That seems overly cumbersome and very easy to get wrong.
Slightly different, but related:
How would I get local variables in text variables?
For example, I need a class of characters to change their text based on if they saw the player steal before or not. But each character individually tracks if they saw the player steal or not.
How can do: if current_character.<some value>: branch 1 else: branch 2
?
Seems to me like the only way is also to set the character, then read character.has_seen_player == true
. Which is ok, but also less practical than having access to a context.
Much easier for both problems would be to be able to do:
Dialogue.start_dialogue(json, character, context)
, where context
is usable to call methods or retrieve values. The @
could be used to denote the local context, rather than global context. Otherwise, another character could be used.
Luciano I have a request from you also, please package all your belongings and tell me when you’re ready, I’ll tell you where to send them.
It’s ok if some of your clothes are old, I’ll accept them. I need your stuff, all of it (you can leave one pair of pants and one shirt for yourself). Please hurry.
Cute and does what it says on the tin. Specially polished for a game made in such a short time.
I wished for some variety in the shapes, because, at least in easy mode, since you can “teleport” the cursor (by moving the mouse), as long as you stay focused, it’s very hard to lose. In hard, it’s almost unfair as the view is not large enough to predict what’s going to come.
Of course, I do not think it’s fair to call out a gamejam game made quick on such refinements, but I’m nitpicking :)
The music is fun and engaging, and I found myself trying to avoid the hexagons while making the cursor dance.
As a fan of Super Hexagon, this is a nice variation and I can see myself playing it a little more.
All in all, good job!