Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Akien

205
Posts
2
Topics
99
Followers
92
Following
A member registered Jul 08, 2015 · View creator page →

Creator of

Recent community posts

Yeah this seems to be some shader compilation stutter with the OpenGL renderer. I'm a bit surprised it repeats each time and not just the first time a shader needs to be compiled, worth looking into at some point.

I know a strong contender who acted in https://qbieshay.itch.io/bring-out-your-dead

Those guys should do a collab!

Hi tunegoro! Thanks for testing our little jam game on stream, and sharing it here! It's so cool for us to see :)

On Windows 10 that's not a known issue, no.

You say it became laggy after updating? What was the previous version you used, and can you try it again to check if it performs better or now lags too? If it lags too that would indicate a problem with your system and not Godot (maybe GPU drivers broke).

Are you on macOS? If so that was a regression and it was fixed in 3.4.2 shortly after the 3.4.1 release.

You should ask the Mint package maintainer, that's not us.

It "just works" with the caveat that without a Mac, you can't sign and notarize the build. So users who download it will have to remove it from quarantine and jump through some hoops to get it to run on macOS Catalina and newer.

But by now that's something many might be used to with indie projects. If you make it clear to users that can work. We're actually adding some details to the Godot docs soon that you will be able to link to for macOS users to workaround limitations of un-notarized binaries. https://github.com/godotengine/godot-docs/pull/5105

(1 edit)

Confirmed on Mageia 9 with the Steam build.

System specs:

$ inxi -CSG 
System:    Host: cauldron Kernel: 5.13.3-desktop-1.mga9 x86_64 bits: 64 Desktop: KDE Plasma 5.21.5 Distro: Mageia 9 mga9   CPU:       Info: Quad Core model: Intel Core i7-8705G bits: 64 type: MT MCP cache: L2: 8 MiB  
          Speed: 1771 MHz min/max: 800/3100 MHz Core speeds (MHz): 1: 1771 2: 1522 3: 1341 4: 1200 5: 1200 6: 1816 7: 2000  
          8: 2000   Graphics:  Device-1: Intel HD Graphics 630 driver: i915 v: kernel  
          Device-2: Advanced Micro Devices [AMD/ATI] Polaris 22 XL [Radeon RX Vega M GL] driver: amdgpu v: kernel  
          Device-3: Cheng Uei Precision Industry (Foxlink) HP Wide Vision FHD Camera type: USB driver: uvcvideo  
          Display: x11 server: Mageia X.org 1.20.12 driver: loaded: intel,v4l resolution: 1920x1080~60Hz  
          OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 21.1.5

GDB backtrace:

Thread 4 "Backgro-rker #2" received signal SIGSEGV, Segmentation fault. 
[Switching to Thread 0x7fffeebcf640 (LWP 1064272)] 
ICompressedAudioInfo::StreamCompressedInfo (this=0x0, Wave=..., QualityInfo=0x7fffeebce850) at D:/UnrealEngine/Engine/Source/Runtime/Engine/Private/AudioDecompress.cpp:788 
788     D:/UnrealEngine/Engine/Source/Runtime/Engine/Private/AudioDecompress.cpp: No such file or directory. 
(gdb) bt 
#0  ICompressedAudioInfo::StreamCompressedInfo (this=0x0, Wave=..., QualityInfo=0x7fffeebce850) at D:/UnrealEngine/Engine/Source/Runtime/Engine/Private/AudioDecompress.cpp:788 
#1  0x00000000058ca23c in Audio::FBackCompatInput::GetInfo (this=0x7ffff6bd35e0, OutDescriptor=0x0) at D:/UnrealEngine/Engine/Source/Runtime/AudioCodecEngine/Private/DecoderInputBackCompat.cpp:26 
#2  0x00000000058ca30e in Audio::FBackCompatInput::SeekToTime (this=0x0, InSeconds=0) at D:/UnrealEngine/Engine/Source/Runtime/AudioCodecEngine/Private/DecoderInputBackCompat.cpp:87 
#3  0x0000000002933460 in Audio::FSimpleDecoderWrapper::InitializeDecodersInternal (this=0x7ffeac54e5f0, InWave=..., InStartTimeSeconds=0)    at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundWave.cpp:286 
#4  0x000000000293320c in Audio::FSimpleDecoderWrapper::SetWave (this=0x7ffeac54e5f0, InWave=..., InStartTimeSeconds=<optimized out>, InInitialPitchShiftSemitones=-2.08999491)    at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundWave.cpp:119 
#5  0x0000000002957b8b in Metasound::FWavePlayerOperator::StartDecoder (this=<optimized out>, SeekTimeSeconds=0, bLogFailures=<optimized out>)    at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundWavePlayerNode.cpp:409 
#6  0x000000000295795c in Metasound::FWavePlayerOperator::StartPlaying (this=0x7ffeac54e400) at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundWavePlayerNode.cpp:337 
#7  0x0000000002956de7 in Metasound::FWavePlayerOperator::Execute (this=0x7ffeac54e400) at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundEngine/Private/MetasoundWavePlayerNode.cpp:282 
#8  0x00000000026bcf0a in Metasound::FExecuter::Execute (this=<optimized out>) at ../Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Public/MetasoundExecutableOperator.h:135 
#9  Metasound::FGraphOperator::Execute (this=<optimized out>) at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Private/MetasoundGraphOperator.cpp:60 
#10 Metasound::FGraphOperator::ExecuteFunction (InOperator=<optimized out>) at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Private/MetasoundGraphOperator.cpp:70 
#11 0x00000000026c7ee9 in Metasound::FExecuter::Execute (this=0x7ffeac385720) at ../Plugins/Runtime/Metasound/Source/MetasoundGraphCore/Public/MetasoundExecutableOperator.h:135 
#12 Metasound::FMetasoundGenerator::OnGenerateAudio (this=<optimized out>, OutAudio=0x7ffeac870000, NumSamplesRemaining=480)    at D:/UnrealEngine/Engine/Plugins/Runtime/Metasound/Source/MetasoundGenerator/Private/MetasoundGenerator.cpp:231 
#13 0x00000000049c2d0a in Audio::FAsyncDecodeWorker::DoWork (this=0x7ffecb4a9050) at D:/UnrealEngine/Engine/Source/Runtime/AudioMixer/Private/AudioMixerSourceDecode.cpp:64 
#14 0x00000000049c326d in FAsyncTask<Audio::FAsyncDecodeWorker>::DoWork (this=0x7ffecb4a9040) at Runtime/Core/Public\Async/AsyncWork.h:292 
#15 FAsyncTask<Audio::FAsyncDecodeWorker>::DoThreadedWork (this=0x7ffecb4a9040) at Runtime/Core/Public\Async/AsyncWork.h:316 
#16 0x00000000021f8553 in FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}::operator()() const (this=0x7ffecb49e038) 
--Type <RET> for more, q to quit, c to continue without paging--    at Runtime/Core/Public\Misc/QueuedThreadPoolWrapper.h:325 
#17 LowLevelTasks::FTask::Init<FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#2}
>(char16_t const*, LowLevelTasks::ETaskPriority, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}&&, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPri
ority)::{lambda()#2}&&, bool)::{lambda()#1}::operator()() const (this=0x7ffecb49e030) at Runtime\Core\Public\Async\Fundamental/Task.h:241                                                                           
#18 0x00000000021f836b in Invoke<LowLevelTasks::FTask::Init<FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueu
edWorkPriority)::{lambda()#2}>(char16_t const*, LowLevelTasks::ETaskPriority, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}&&, FQueuedLowLevelThreadPool::AddQueuedWork
(IQueuedWork*, EQueuedWorkPriority)::{lambda()#2}&&, bool)::{lambda()#1}&>(FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}&&) (Func=...)                                  
    at Runtime\Core\Public\Templates/Invoke.h:51 
#19 LowLevelTasks::TTaskDelegate<48u, bool>::TTaskDelegateImpl<LowLevelTasks::FTask::Init<FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}, FQueuedLowLevelThreadPool::Add
QueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#2}>(char16_t const*, LowLevelTasks::ETaskPriority, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}&&, FQueuedLow
LevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#2}&&, bool)::{lambda()#1}, false>::Call(void*) const (this=0x7ffecb49e058, InlineData=0x7ffecb49e030)                                  
    at Runtime\Core\Public\Async\Fundamental/TaskDelegate.h:147 
#20 LowLevelTasks::TTaskDelegate<48u, bool>::TTaskDelegateImpl<LowLevelTasks::FTask::Init<FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}, FQueuedLowLevelThreadPool::Add
QueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#2}>(char16_t const*, LowLevelTasks::ETaskPriority, FQueuedLowLevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#1}&&, FQueuedLow
LevelThreadPool::AddQueuedWork(IQueuedWork*, EQueuedWorkPriority)::{lambda()#2}&&, bool)::{lambda()#1}, false>::CallAndMove(LowLevelTasks::TTaskDelegate<48u, bool>&, void*, unsigned int) (this=0x7ffecb49e058,    
    Destination=..., InlineData=0x7ffecb49e030, DestInlineSize=40) at Runtime\Core\Public\Async\Fundamental/TaskDelegate.h:156 
#21 0x0000000002ec17ec in LowLevelTasks::TTaskDelegate<48u, bool>::CallAndMove<48u> (this=0x7ffecb49e030, Destination=...) at Runtime\Core\Public\Async\Fundamental/TaskDelegate.h:289 
#22 LowLevelTasks::FTask::ExecuteTask (this=0x7ffecb49e030) at Runtime/Core/Public\Async/Fundamental/Task.h:347 
#23 LowLevelTasks::FScheduler::TryExecuteTaskFrom<&LowLevelTasks::TLocalQueueRegistry<1024u>::TLocalQueue::DequeueGlobal, false> (this=0x637b500 <LowLevelTasks::FScheduler::Singleton>, Queue=0x7ffff0830b00,  
    OutOfWork=..., bPermitBackgroundWork=true) at D:/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/Fundamental/Scheduler.cpp:219 
#24 LowLevelTasks::FScheduler::WorkerMain (this=<optimized out>, WorkerEvent=0x7fffeebced20, ExternalWorkerLocalQueue=0x7ffff0830b00, WaitCycles=<optimized out>, bPermitBackgroundWork=true) 
--Type <RET> for more, q to quit, c to continue without paging--    at D:/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/Fundamental/Scheduler.cpp:254 
#25 0x0000000002ee5fbb in LowLevelTasks::FScheduler::CreateWorker(LowLevelTasks::TLocalQueueRegistry<1024u>::TLocalQueue*, EThreadPriority, bool, bool)::$_0::operator()() const (this=0x7ffff67db1d8)    at D:/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/Fundamental/Scheduler.cpp:75 
#26 Invoke<LowLevelTasks::FScheduler::CreateWorker(LowLevelTasks::TLocalQueueRegistry<1024u>::TLocalQueue*, EThreadPriority, bool, bool)::$_0&>(LowLevelTasks::FScheduler::CreateWorker(LowLevelTasks::TLocalQueueR
egistry<1024u>::TLocalQueue*, EThreadPriority, bool, bool)::$_0&) (Func=...) at Runtime/Core/Public\Templates/Invoke.h:51                                                                                           
#27 UE4Function_Private::TFunctionRefCaller<LowLevelTasks::FScheduler::CreateWorker(LowLevelTasks::TLocalQueueRegistry<1024u>::TLocalQueue*, EThreadPriority, bool, bool)::$_0, void ()>::Call(void*) (    Obj=0x7ffff67db1d8) at Runtime/Core/Public\Templates/Function.h:548 
#28 0x0000000002f4c19f in UE4Function_Private::TFunctionRefBase<UE4Function_Private::TFunctionStorage<true>, void ()>::operator()() const (this=<optimized out>) at Runtime/Core/Public\Templates/Function.h:676 
#29 FThreadImpl::Run (this=<optimized out>) at D:/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/Thread.cpp:63 
#30 0x0000000002f25304 in FRunnableThreadPThread::Run (this=0x7fffefc60000) at D:/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25 
#31 0x0000000002f05790 in FRunnableThreadPThread::_ThreadProc (pThis=0x7fffefc60000) at Runtime/Core/Private\HAL/PThreadRunnableThread.h:185 
#32 0x00007ffff7f8bc7a in start_thread () from /lib64/libpthread.so.0 
#33 0x00007ffff7d6763f in clone () from /lib64/libc.so.6

I can confirm that the Linux build is working :)

Hi! Late answer but yes, the Linux version seems to work well :)

I just tried it on Mageia 8 with latest Mesa OpenGL drivers and everything seems to work as expected, including the videos.

The character movement sometimes feels a bit stuttery (occasional frame skips?), but I can't say if it's related to the Linux build or my setup.

Nice changes! Would you consider adding a Linux build too? It should work out of the box™.

Cool idea, though I'll admit I didn't play all the way to the end of the Moonlight Sonata, I know it's long :P

As discussed with others below, the mechanics could be better conveyed, but they're interesting. I hadn't noticed the correlation between health and repair speed, though I did notice that low HP massacred the sonata :D).

That's a good start! The base pinball gameplay works well and the physics feel about right.

Of course one would want some more content and the ability to restart the game / have more than a single shot, but it's already pretty good for a first physics-based project in such a jam :)

Good work, it's quite fun! It reminded me of the struggle of packing the family car when going on holidays as a kid :P The graphics are really cute, and the music/sfx fit well.

As others mentioned, I also ran into the "press space to select/confirm" reflex that ended up sending a near empty rocket to the moon, this could likely be a less obvious key. I also found myself wanting to cancel my selection of an item when I saw it was a bad fit, but it didn't seem possible - albeit that might be part of the intended gameplay, once it's bought, it's bought.

Great work! I really enjoyed the gameplay which reminds me of FTL, which is one of the games in which I put the most hours :D

I journeyed to Ganymede without too much trouble, though I did have some time with hull or nav with over 50% damage, so I had to pay attention. I tried to maximize level gain in different modules like I'd do in FTL, to have a well-rounded crew that can handle any threat (always 2 crew members with some skill in the area that needs attention).

The music was OK for a couple minutes but eventually I found that it didn't really match the game's atmosphere, so I muted it.

Great work! The story is well written and the graphics and sound design add a lot to the atmosphere (big kudos for the music, it was nice to go from suspect to suspect and have a nice new track each time).

Beautiful work! I loved the art, both the start menu and the cutscenes are amazing! The sound effects are also really good, Louise's voice is really cute.

Gameplay wise, this works well and it's pretty fun, at least for a time. The grapple is quite satisfactory and it's fun to jump among the circular saws in the first industrial levels... until it becomes too hardcore and tedious :D Once I finally reached the final level, I had the level freeze on me (gray screen), so I went to the source files to still be able to see the ending cutscene - which BTW didn't seem to show up, it looks like the animation was not autoplaying, but that might be due to me loading the scene directly instead of properly winning the game.

At first I felt that the rectangular and flat colored foreground was a bit too contrasting to the great cutscenes and nice character animation, but there's so much level design work for a 1 month jam game that I don't think you can be blamed for that :) And it avoids distraction with a busy foreground when the gameplay is so focused on precise timing.

Impressive! The graphics, animation, sound effects, music and gameplay are all incredibly well done!

I managed to beat the game though I'll admit it took me some time to figure out how to build a ship that could beat the game (and to understand how important boost is, since many obstacles can't be passed without it).

I'm looking forward to see Chapter 2 and 3!

(1 edit)

Great work! I really enjoyed the graphics and the story, and the voice acting is golden :D
As other mentioned the controls don't feel as great as they could, but they're still pretty decent and I enjoyed the walljumping mechanic.

I somehow got both endings happening at the same time in the endgame, not sure if that's intended or a bug, but it was pretty funky :P

Well done! That's a pretty interesting and challenging metroidvania!

The controls are (as expected) part of the challenge, though I've only tried keyboard and mouse so far. I might give it a shot with a gamepad to see if I can have a better control (I found doing multiple suck in-shoot cycles with jellies to jump over a big gap quite challenging with the mouse, especially since the shoot angle moves at 45° and this can change while I'm jumping if I don't move my mouse properly).

Kudos on all the artistic aspects, it's a pretty good job for a solo game! And it's nice to see everything is properly licensed :)

Good work, it's a pretty fun game! I like that you introduce mechanics one at a time, and the writing is goofy as it should be :D

In later stages it got a bit chaotic for me and I didn't fully understand the thunder/witch gameplay, I might have to give it another try (I got the game to freeze after mashing a few buttons there :P).

Great work, it's an amazing entry! The artwork is gorgeous, and the gameplay mechanics are quite innovative and fun, and the music and sfx are really fitting!

The game also has a fairly good duration, though arguably part of it (~45 min? I guess) is due to not fully understanding mechanics initially.

In particular, I had trouble understanding:

- How to aim the rocket head. A visual feedback to the direction/power like in golf games could help a lot. Initially I was trying to click and drag the head itself as the instructions were not really clear.

- Multiple head jumps provided that you have power for it - it took me a while to understand that it's a possibility, while it's quite core to achieving good results.

- I have a shield! I totally missed that until the very last level (and after spending a good 10 min trying to beat that level with a single life/no shield). While the UI and controls do mention a shield, I don't remember seeing it introduced in-game (might have missed it).

- Bullet hits don't give visual feedback when you don't kill the enemy, and sometimes they keep going even after a hit (might be a bug), so initially I thought I was not shooting enemies properly/at the right time.

Overall the game is much easier once you understand all the controls and mechanics, but since they're not introduced perfectly clearly (though the tutorial is very nice and you already did a good job here), some end up being discovered late/with trial and error.

All that being said, this is one of my favorite games from the jam, kudos!

PS: FYI, you GitHub project includes some files which don't seem related to the project at all, like the README.md which seems taken from a Godot plugin, and possibly other files too (LICENSE), etc. It would be good to clean that up.

(2 edits)

Good work! The art and animation work really well, and the physics/movement are quite cool.

However it's really hard from the very start, I actually tried the game a couple of weeks ago and couldn't even get out of the sewers section. Today I tried again, and with some practice it finally "clicked" and I was able to control the Jook more precisely, and reach the second, and later the third area.

But even then it's way too unforgiving, as hitting a wall in section 3 can still send you all the way to the bottom... doors help but only part of the way, there are still some frustrating sections to pass like the first blade of grass barring your way after the sewers.

So all in all the learning curve is too high (gave up the first time without passing first section) and even if you persevere it's too unforgiving, and thus frustrating (and I do love some difficult games like VVVVVV or Super Hexagon).

All that being said, I see a lot of potential with some more difficulty balancing. The collisions can be made more forgiving (factor in speed further so that low speed collisions don't kill you), and the level designs can be improved to be more forgiving too (no impossibly narrow sections when you need to be near-static to be able to pass and hope that the near-static collisions won't make you lose, and no falling to the very bottom - at most you should fall to the previous biome/level). The game could also better convey how the different elements work (first time I played I didn't understand what the door was, and how the checkpoint flags work - when I did manage to reach the first flag, then died and walked to the right all the way back to the beginning, that was quite frustrating).

I loved the intro scenes, the animation work is really nice :)

Very lovely, I had a nice, relaxing time playing this game. The story is cute and holds a nice message, and it's fun to explore the various regions to find the objects - it's not too easy nor too hard to find, there's a good balance. I did have some difficulty interpreting the map though, it's maybe a bit too stylized for things to be really recognizable - or at least I would have needed to know where I am on the map to make sense of the signs.

Great work! And it's cool to see an entry with an Android version, it was nice to play it on my phone.

The Earth and Moon expressions are really cute, and I liked the talking animation in the intro :D

The gameplay works well, though it's really challenging, but I did manage to reach 27 as high score! It takes some luck to have enough ready-to-throw garbage near where the Moon is, but it's still fairly well balanced.

And the music and sfx are very fitting too :)

(2 edits)

A-ma-zing. I've had a ton of fun, everything is spot on: graphics, animation, audio, level design, writing.. it's a real gem. The controls are hard to master but they make sense, so it's not frustrating (at least to me, I guess more casual players might have more difficulty - edit: welp, see below). I loved the paint splashing when killing enemies and the boss battles were great.

The final boss was pretty tough, but with perseverance I managed to beat it :)

Edit: Ah and LOL, I just read some comments and I see there's a Brake feature which I wasn't aware of... Well like jvalen I beat the game without it, but it was hard :P It definitely makes sense to have it though, the game is pretty hardcore otherwise. It would make for a pretty good achievement however for a potential post-jam version to beat the game without braking ;)

Great work! The graphics, animation and audio are really cool, kudos to all the team!

The gameplay works fairly well, though I'll echo that walking speed is a bit slow (feels a bit like Another World's, but without so many hazards to pay attention to while walking). Replaying the same level sections 6 times felt quite tedious though, I felt I had enough after fetching the 2nd repair kit. Allowing the players to fetch all 3 kits in the same run (or have only one actual objective at the end, and some optional ones on the way) would feel nicer, while keeping the "go back to the ship" system - so you'd replay it only once backwards with new/more powerful monsters.

Amazing work on the graphics, overall atmosphere and immersion! And the platforming mechanic is quite nice, though it does not feel as juicy as it could be yet as others pointed out.

The intro, main gameplay and final balloon steering all work quite well - of course we're left wanting for more as the actual gameplay experience is a bit short, and the balloon exploration opens a big universe just before closing it on us. But who knows, maybe this will be further developed in a fuller game? :)

I feel the day/night cycle mechanic was not so well conveyed so I was puzzled when I reached the balloon level section and I was told I have to reach it before night, but night feel within 5 sec as I had spent quite some time exploring the first level section.

I liked the nod at Godot with "free and open society" in the audio speech 

Congrats! Making a multiplayer game that plays so smoothly in a month is definitely something! I played online but was alone on the server, but I can see potential for having some good fun as a co-op defend-the-base type of game.

Good work on all aspects, it all feels quite polished and I didn't encounter any bug.

Great work! It's a fun concept and you have some pretty good artwork!

I did struggle a bit to beat the first non-tutorial level, and only managed to pass it because of a bug where the ball would keep some of its momentum from the last run after hitting 'R' for retry. I think with some extra polish on the physics and a bit more juice (sound effects mostly, and a bit faster paced without having to wait for the ball to fully go into sleep mode by itself for next steps), it could be a pretty good game :)

Great work! That's a very nice game mechanic that you have there, and you put a lot of effort in making things well rounded for the jam: tutorials, story, "cutscenes" (moonshot 3D view, letter view). I've only played up to the promotion so far but I'll come back to it :)

Playing fullscreen on 1080p the UI is somewhat tiny, I think it could use some better scaling with the window size. Also I'd suggest adding some more screenshots from the cool elements of your game, e.g. a screenshot of the letter cutscene to add some variety, and some more levels. A GIF or gameplay video could also go a long way to show potential players that there's a neat gameplay here, even if the graphics might not be this entry's main initial appeal.

It's a fun concept, and it works fairly well. It's a bit unforgiving though that as soon as get one karma you'd better restart the game instead of going all the way to the end of the meditation level :)

I did manage to pass the first level with 0 karma, but always got hit by either the first row of speedy burgers or the next row of speedy beers in the meditation part... so no enlightenment for me!

Nice game! I really enjoyed the intro :D

The combat quickly became tough in that room where you spawn in the midst of four wizards. I'd have wished that dying would let you restart at the beginning of the level and not of the whole game, as after two attempts I didn't feel like replaying it all a third time again.

The tilesets and animations are pretty cool! The only thing which bothered me a bit is that both the footstep and the shot animation seem a bit slow, so it gives an overall floaty impression (but that might be Moon-like gravity :P).

The game crashed right on the main menu for me after some time (due to the issue in the rocket bullet script), and if I started the game quickly enough to prevent that, it would crash due to the `Global.Base` being an invalid instance.

Godot has this tricky behavior where a node freed with `queue_free()` does not assign its previous references to `null`, but to something called a "previously freed instance". That doesn't evaluate as `false` when you do `if target:`, and thus it would then try to call methods on the previously freed instance, triggering errors (in debug mode) or crashes (in release mode).

I suggest you give it a run with Godot 3.2.4 beta 3 which does a better job at reporting these issues than 3.2.3 stable.

Hehe yes, I knew this was a potential exploit but didn't really have time to work it around :D

That's a really fun game, congrats! I really enjoyed the mechanics, and shooting moons at planets is quite funny :)

In later levels I did feel that my success was mostly due to chance, as it was a bit difficult to devise proper strategies with so many asteroids or friendly moons close to the black hole. But I still had fun and succeeded.

Well done! The gameplay works fairly well, though I quickly became overwhelmed by enemies, balancing the player's health and the energy needed to spawn boxes required more strategy than I was ready for on a late Sunday evening :P But it's definitely interesting and I might come back to it.
I didn't find much use for mines though which didn't seem to be worth the trouble in terms of damage vs energy cost.

The graphics and audio are both quite good and serve the gameplay well!

(1 edit)

Great work! The gameplay works well and I've managed to survive for ~10 min, with a good progression of the difficulty IMO. Congrats on some really good pixel art and animation work!

I did have some technical issues due to some methods being called on "previously freed instances" in Godot, which can lead to outright crashes of the game if not handled properly in a release build. I sent a PR with a stopgap solution :) As a general rule you should make sure to review and fix any errors that are raised in the debugger while playtesting the game, as any unhandled error in a debug build can mean a crash in an optimized release build (which trades safety checks for performance).

Wow, never thought that throwing the Moon into black holes would be so much fun! I haven't finished the game yet but might come back to it - there's even a level editor‽ Great level of polish for a jam entry.

The level design is really neat and of course the planet orbits + twists + golf mechanics are a great concept and a well-executed one. The Roman Gods as a setting is a nice touch, and I have yet to explore the powers of Jupiter and Mars :)

I'm looking forward to diving into the source to see how you implemented this nice physics-based gameplay :)

Congrats! It's a fairly simple prototype but it's well executed, the grapple gun is quite interesting and the combat feels nice :)