Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Electric Llama

13
Posts
8
Followers
1
Following
A member registered Apr 17, 2020 · View creator page →

Creator of

Recent community posts

Ok. There is a graphics menu (on itch.io hit esc twice to open menu) that has a "resolution scaling" slider that can help a lot if you set it to like 50%. It still looks pretty fine imo.

Can also try the demo on Steam (link in game description) which runs a lot better for some people. :)

Can you elaborate? Do you mean performance?

(2 edits)

So is this what appears when you first open the game? I can't reproduce this. The normal main menu pops up for me. Hm.

Can you open the browser debug tools and see if it logs any error messages when you load the game? It might be the browser crashing during start.

In any case the free Steam demo will be out next week so it will be playable there in a more stable form soon.

I was able to fix the toon shader with this diff. Here's why it works:

1. sample_world_dpos reconstructs world position using the depth buffer

2. It passes texture(DEPTH_TEXTURE, screen_uv).r directly as the clip-space z

3. That works in Forward+/Vulkan where NDC z is [0, 1] — depth maps directly to it

4. In gl_compatibility/OpenGL, NDC z is [-1, 1], so depth (which is [0, 1]) must be remapped to 2*depth - 1 before using it with INV_PROJECTION_MATRIX

5. With the wrong clip z, world_dpos.y ends up reconstructed above the water surface, which makes edge_foam_depth = 1.0 everywhere, which creates pure white foam

--- a/src/shader/water_toon.gdshader
+++ b/src/shader/water_toon.gdshader
@@ -3,6 +3,10 @@
 #define USE_DISPLACEMENT 1
 #define USE_STYLIZED_LIGHTING 1
 #define USE_UNSHADED 0
+// Set to 1 when using the gl_compatibility renderer.
+// OpenGL depth buffer [0,1] maps to NDC z [-1,1] and must be remapped
+// before reconstruction; Vulkan (Forward+) uses [0,1] NDC z and does not.
+#define GL_COMPATIBILITY 1
 shader_type spatial;
 #if USE_UNSHADED
@@ -85,7 +89,11 @@ vec3 sample_caustics(vec2 uv){
 #endif
 vec4 sample_world_dpos(vec2 screen_uv, mat4 inv_proj_mat, mat4 inv_view_mat){
-       vec4 clip_pos = vec4(screen_uv * 2.0 - 1.0, texture(DEPTH_TEXTURE, screen_uv).r, 1.0);
+       float depth = texture(DEPTH_TEXTURE, screen_uv).r;
+       #if GL_COMPATIBILITY
+       depth = depth * 2.0 - 1.0;
+       #endif
+       vec4 clip_pos = vec4(screen_uv * 2.0 - 1.0, depth, 1.0);
        vec4 view_pos = inv_proj_mat * clip_pos;
        view_pos /= view_pos.w;
        vec4 world_dpos = inv_view_mat * view_pos;

These are good shaders but they don't work on gl_compatibility (just show as white), which means they don't work on web exports. An option on them to disable features so that gl_compatibility works would be amazing.

if you email me at jsharpe@taugames.ca I can send you a Steam playtest key if you want to try there and see if it has the same mouse cursor issue.

Thanks for letting me know. I'll add a sensitivity setting soon to improve the first issue hopefully. For the second I'm really not sure what's going on, hm.

Thank you!

I've gotten a lot of feedback that changing of levels is unexpected. FWIW it happens when the clock in the top right completes a circle.

Also it's not explained in the game, but you never really lose chests. If they despawn by being offscreen or the level ending, they'll immediately respawn.

"what does square actually do? does it give more points each transformation?"

Yeah, exactly. It goes through a bunch of shapes, each one worth +1 more than the last. This should probably be explained better on the card somehow.

"maybe add option to inspect items in inventory (their stats, not just number) "

Yeah, this will come. Need to add hover/click to show details in the inventory.

"feels like cherry spawns hole-man much less than its supposed to"

I sometimes feel this too. I think it's just that 10% is actually kind of low. 10 cherries is a lot and the nature of randomness is that it might even take like 20 to trigger. It's a bit annoying that it's SO random that it's hard to plan around.

Thanks so much for the feedback!

"maybe try adding an option to render the game at a lower resolution? that should help with performance on mobile devices, which often have very high resolution displays but wimpy GPUs"


Actually this already exists in the graphics menu ("Resolution Scaling").

"the robots are cute, but i wish they had more upgrades."

Strongly agree - more upgrades for helpers will be added. 

"hole-man is shockingly more of a hindrance than a helper"

Yeah he's kind of weirdly situational. It's great if there's a lot of junk around but sometimes it's annoying for the hole to move when you're using it. Will iterate.

Thanks for playing and commenting. :)

Got any feedback on what I could make better or what parts you like the best?

Thanks so much for the comment. I've gotten a lot of feedback that it's a little unclear what the goal is - basically it's to make the number at the bottom go up and not go under 0. I clearly need to communicate this more clearly in the game. :)

Also I do not understand the prestige mechanic with the ship at all and am scared to return to king because I don't want to lose my progress!

It looks like if you hit escape the game freezes forever and you have to refresh. I was just trying to get a menu. :(

I like it. Could use sound! Also I'd love if the buildings looked different (even bigger) as they upgrade.

Also I didn't realize at all you could upgrade buildings for a long time. I thought you just had to wait a long time to accumulate at +1 at a time. Nothing prompts you to click on a structure that already exists.