Working on some interactions with the world transition, by adding a `shout` ability and shrines that can be activated to reveal the world.
Don't mind me misjudging that jump π
#ScreenshotSaturday #GameDev #IndieDev #GodotEngine
@kelvinvanhoorn.com
Working on a platformer game at @smallleapstudio.com Experienced Technical Artist π§ MSc. of Applied Physics π§² Loves stylized rendering ποΈ Personal website: http://kelvinvanhoorn.com #GameDev #IndieDev #Godot #Shader #VFX #TechArt #TechArtist
Working on some interactions with the world transition, by adding a `shout` ability and shrines that can be activated to reveal the world.
Don't mind me misjudging that jump π
#ScreenshotSaturday #GameDev #IndieDev #GodotEngine
The grass instances are created through multimeshes.
The interaction takes place in the grass blade's shader, which uses its world position to read from the 3D interaction texture. Here it just reads the value and scales down accordingly.
Portal's out! The base is free of course (including all the shaders, controller script and animations), but if you want to support me I made some presets too!
Link: binbun3d.itch.io/godot-portal...
#godot #godotengine #shader #vfx #gamedev #indiedev
The heart is also generated π€
Guess I'm making portals now. Maybe I could use the stencil buffer somehow here.
#godot #godotengine #godotshaders
They look good, but it might be tough to get them optimised and still looking crisp.
Are those raymarched clouds? πΆβπ«οΈ
Chonky triangle rat
New updates for my interactive guide about tweens!!!
Very excited about this one because it explains whats the deal with "if tween: tween.kill()"!
There are now 15+ fun pages that covers almost everything you need to truly understand #Godot tweens, for free!
qaqelol.itch.io/tweens
#GameDev #Dev
π
Without the snapping you get issues as a pixel gets spread out over several pixels on sub-pixel movement (there's probably a name for this).
Currently only 2 channels of the texture are used. One for the transition effect and one for interactor effects (such as grass being pushed down).
Some interesting titbits. The texture in the top left is a slice of the 3D texture.
It is centred on the camera, with currently a resolution where 1 pixel corresponds to 1m in the world.
The texture/camera movement happens in jumps of 1 pixel (i.e. the movement is snapped to a 1m grid).
You can do a lot of neat things with it, but there are also a million minute things that can go wrong with no clear errors π
Reworked how I keep track of points that interact with shaders (the colour transition and grass interaction) to a compute shader that writes to a 3D texture.
It can now handle a lot more points, and because it's a texture I can create trails π
#ScreenshotSaturday #GameDev #IndieDev #Shader
Reworked how I keep track of points that interact with shaders (the colour transition and grass interaction) to a compute shader that writes to a 3D texture.
It can now handle a lot more points, and because it's a texture I can create trails π
#ScreenshotSaturday #GameDev #IndieDev #Shader
The Steam Next Fest promo image.
π’ INDIE DEVS WHO ARE IN NEXT FEST!
If you're participating and would like your demo/store page reposted to 37K+ Bluesky followers then drop it in the replies below*
*No games that use Gen-AI please and thank you.
π
I'm late to the #Zelda40th anniversary posting, but here's a repost of my Ganon animation
2DFX: @theycallmesal.bsky.social
When it comes to vague graphics problems, precision issues are too common π
Dutch games press is getting gutted left and right, with what was literally my childhood games news magazine Power Unlimited going down just the other day. So, a bunch of good folks decided "we'll do it ourselves". If you're Dutch, go check out Unpause!
www.unpause.nl
Just to be sure I checked what would happen if I only up the precision to R16, and it indeed fixes the issue π (or at least the value gets a lot lower).
It most likely is that, for my purpose I will probably just subtract a flat value and clamp instead of multiplying.
Was just making some tea to clear my mind, and got me thinking the same. Probably 0.1*0.98=~0.1 π
#[compute] #version 450 layout(local_size_x = 8, local_size_y = 8, local_size_z = 8) in; layout(r8, set = 0, binding = 0) uniform restrict writeonly image3D copy_texture; layout(r8, set = 0, binding = 1) uniform restrict readonly image3D read_texture; void main() { // Copy ivec3 uvw = ivec3(gl_GlobalInvocationID); vec4 result = imageLoad(read_texture, uvw); // Decay result.r *= 0.98; imageStore(copy_texture, ivec3(gl_GlobalInvocationID), result); }
Screenshot of the copy/decay pass.
I'm so confused right now. Doing some compute shader work with 2 passes. One draws dots and the other copies the previous frame and decays its value (so that you have trails).
The values do decay, but for some reason they don't decay all the way to 0 (or very near 0) π΅βπ«
#ComputeShader #GodotEngine
You would think Altman is more than 20 years old and has eaten food, but then you hear him speak and think he might need another 20 years before this "get smart" happens π€
Surprise! PancitoMerge is now available in the Nintendo Switch eShop!
We made a new trailer to announce the launch and it has a really cool original song!
Trailer: www.youtube.com/watch?v=vBwO...
Nintendo: www.nintendo.com/us/store/pro...
Please share it around!
Screenshot of the main character of my game before changes.
Paint-over of the main character of my game.
Screenshot of the main character of my game after changes.
Updated the character model this week to get closer to the paint-over from last week. How well did I do?
#ScreenshotSaturday #GameDev #IndieDev #Art
Screenshot of the main character of my game before changes.
Paint-over of the main character of my game.
Screenshot of the main character of my game after changes.
Updated the character model this week to get closer to the paint-over from last week. How well did I do?
#ScreenshotSaturday #GameDev #IndieDev #Art