Zi
banner
majormcdoom.bsky.social
Zi
@majormcdoom.bsky.social
Indie VR dev / founder of @cozycubegames.bsky.social.
Making <<Penguin Festival>> in Godot. 🐧 Past: Owlchemy Labs. Proud husband and shiba dad. The Andy Serkis of penguins.
- 🚫 generative AI
- 🚫 genocide
- ✊ trans rights
Pinned
To all my followers: I'm so glad to finally give you all a closer look at Penguin Festival gameplay, and clearer launch details.

I know the wait is long, so thank you all for your ongoing support!

#GodotEngine #gamedev #indiedev #VR
🐧 New Trailer w/ @vrgamesshowcase.bsky.social ! 🎉

Thrilled to be showing off gameplay and more of the penguin town! Cannot wait for y'all to be part of the festivities.

➜ PC VR | Fall 2026
➜ PICO + SideQuest | Post-launch

✨ Wishlist: bit.ly/penguinfests...

#vr #indiegames #cozygames #godotengine
Gameplay + Release Window Trailer | Penguin Festival 🐧
YouTube video by Cozy Cube Games
youtu.be
That's the hard part. Deciding on a "right way". Avoiding that was the exact reason I did it the way I did, haha, so you'll have to forgive me if I can't give you an answer.

But there's no "right" way. Different solutions have different tradeoffs.
November 25, 2025 at 8:37 AM
It is a very inefficient way to do glyph rain, but the context I'm using it in the game is extremely minimal already so I opted for the convenience of implementation over optimization in this case.
November 25, 2025 at 7:54 AM
Sure. The glyphs are just in a grid in a single texture. I'm using a MultiMeshInstance for each trail. So each trail is just a batch of quads. I'm using custom instance data to pass the glyph coord for each quad to the shader, as well as how far down the trail it is.
November 25, 2025 at 7:54 AM
So there's a bug in the Steam developer reports web interface right now that multiplies all your wishlists by 26 (number of biweekly periods in a year?), and well, let's just say that was an emotional roller coaster... 😢
November 25, 2025 at 1:22 AM
As per usual, none of this is scripted, because these penguins can actually dodge.
November 24, 2025 at 6:47 PM
Made a little digital glyph rain effect, and couldn't resist going all the way. 🐧🕶️🔫
#GodotEngine #gamedev #indiedev
November 24, 2025 at 6:32 PM
Reposted by Zi
ANNOUNCMENT TRAILER 🐕🐕😍

Local co-cop is OUT NOW!!! Just update your game and plug in a second controller!

Technically, you can ALSO do split screen co-op ONLINE too using Steam's cool control features!

www.youtube.com/watch?v=s3Ut...

#indiegames #corgi #steamdeck #wholesomegames #cozygames
A Corgi's Cozy Hike- NEW Local Co-Op UPDATE 🐕🐕 OTK Winter 2025 Announcement Trailer
YouTube video by Rescue Pets Games
www.youtube.com
November 22, 2025 at 10:28 PM
Also, it was bugging me how if you capture the fishing rod during high speed motion, you can see that the fishing wire is delayed by one frame from the rod. But seeing Brigitte's mace being completely detached from the chain mid-animation makes me feel a lot better. 🤣
November 23, 2025 at 8:25 PM
One neat consequence of having procedurally animated floppy penguins is that you get screenshots where characters look completely messed up from stretches/compressions. It's like Overwatch's character highlight intros, except it's across all of gameplay.
#gamedev #indiedev
November 23, 2025 at 8:25 PM
Not much to share! It's just:
Instead of applying acceleration based on delta-position, apply acceleration based on delta-velocity.
i.e. Calculate the *ideal* velocity needed to get from here to target by the correct time. Then apply an acceleration that is (ideal_velocity - current_velocity).
November 23, 2025 at 12:20 AM
The naïve method is prone to arriving too early, too late, or completely missing the target, often "slingshotting" around the target.

The latter method pre-emptively applies corrective acceleration. Much like the Akira slide! 🏍️💨
November 22, 2025 at 11:51 PM
Orienting a RigidBody with precision timing requires something beyond a naïve "accelerate-towards-target" method. Here's a slow-motion comparison between the naïve method vs. what I call the "Akira slide". Green line indicates acceleration.
#GodotEngine #gamedev #indiedev
November 22, 2025 at 11:51 PM
Reposted by Zi
Gave penguins timing-sensitive motor planning capabilities. In other words, they can try to move a body part to a specific place *at a specific time*. This is vital for NPCs with a sense of rhythm or good reflexes!

#GodotEngine #gamedev #indiedev #screenshotsaturday
November 22, 2025 at 5:24 AM
Since we aren't doing business with Meta, that also means any of its subsidiaries, which unfortunately in this case includes Oculus Studios.
November 22, 2025 at 3:35 PM
I think it's a natural consequence of this being a tactile VR game with live NPC music performances. I don't think there are many of those haha (that I know of).
November 22, 2025 at 6:48 AM
That's funny because this tech also works with the head. 🤣
November 22, 2025 at 6:02 AM
Me too, dude, me too.
November 22, 2025 at 5:54 AM
They could be used for that purpose but it's not quite necessary unless the nature of the action is rhythmic. That is, it's able to respond to dynamic conditions.

With cutscenes, everything is tightly controlled via a timeline, so you just move things to the right time and they'll stay there.
November 22, 2025 at 5:53 AM
If I wasn't trying to get a game made, I'd totally make them play some kinda penguin Beat Saber.
November 22, 2025 at 5:40 AM
You may notice in this video that *how* the penguin hand moves towards/away form the targets is open-ended. It can be a simple orientation match, a bonk from the top, or a quick sudden swipe.

Also, everything is physically simulated so you can, for example, stop his hand with your own.
November 22, 2025 at 5:24 AM
Gave penguins timing-sensitive motor planning capabilities. In other words, they can try to move a body part to a specific place *at a specific time*. This is vital for NPCs with a sense of rhythm or good reflexes!

#GodotEngine #gamedev #indiedev #screenshotsaturday
November 22, 2025 at 5:24 AM
For more info about specifics of Godot XR support, you can always check out the XR channel in the Godot Discord. The maintainers and other devs are there and are very willing to help. Plus you can search through chat history for common questions that have been answered.
November 21, 2025 at 8:27 PM
If there are specific things you don't want to implement, there's also "Godot XR Tools", which is an additional set of utilities that makes it easier to prototype certain "common" XR paradigms.
docs.godotengine.org/en/latest/tu...
Introducing XR tools
Out of the box Godot gives you all the basic support to setup an XR project. XR specific game mechanics however need to be implemented on top of this foundation. While Godot makes this relatively e...
docs.godotengine.org
November 21, 2025 at 8:27 PM
I'm unsure what "wheels" you're referring to, but I might be the wrong person to ask on this, since I don't expect any "wheels". The only things I expect to come out-of-the-box are rendering, tracking, input, and haptics (which Godot has). Everything else for me falls under design.
November 21, 2025 at 8:27 PM
I'm not going to say that there's necessarily a rigid *order* to learn things. But just understand that if you skip certain things, it's gonna either cause pain down the road, or you're gonna have a bigger reliance on pre-canned solutions. Which isn't *wrong*. Just something to be prepared for.
November 21, 2025 at 7:57 PM