Sign in

Zi

@majormcdoom.bsky.social
8.2K followers 1.2K following 3.7K posts

Canadian indie VR dev / founder @cozycubegames.bsky.social. Wishlist 🐧Penguin Festival🐧: store.steampowered.com/app/3552090/… Past: Owlchemy Labs. Proud husband and shiba dad. - 🚫 gen AI - 🚫 genocide - ✊ trans rights

PostsRepliesMedia
Reposted by Zi
Makkon @makkon.bsky.social · 29/09/2026
I'm immensely proud to announce that my texture library that's been in the making for nearly a decade is now available on my itchio store for indie devs to purchase commercial licenses. makkon.itch.io
screenshot of my itchio store, showing several texture packs available for purchse
472274824
Zi @majormcdoom.bsky.social · 22h
Had an idea in the shower for an algorithm to find the "rough direction of a set of points". Worked beautifully, but now I'm wondering if all I did was derive linear regression from first principles? I'm just creating a matrix of absolute values of dot products. 🤔
2706
Zi @majormcdoom.bsky.social · 28/09/2026
Big (and breaking) update to the SyncedCollisionShape3D addon! You can now generate primitive colliders for non-primitive visuals (or a specific part). The "squeeze" button does a smart fit. Also added an extrusion feature. Get it here: codeberg.org/MajorMcDoom/... #GodotEngine #gamedev #indiedev
112325
Zi @majormcdoom.bsky.social · 25/09/2026
Dude, no freaking way... What you're seeing here is me doing live-blending / animations on baked lightmaps in Godot... 3700 FPS #GodotEngine #gamedev #indiedev
1126830
Zi @majormcdoom.bsky.social · 25/09/2026
A little experiment with postprocessing on *baked* lightmaps in Godot (they're just textures after all!). If you snatch the internal lightmap data and do some arcane SubViewport shenanigans, you can also use it to do *spatialized* effects on the lightmap too. #GodotEngine #gamedev #indiedev
922027
Zi @majormcdoom.bsky.social · 25/09/2026
Gamedevs when they see tech debt: #gamedev #indiedev
static.klipy.com
One Piece Dead
Alt: The upper half of a zombie bursts from a grave, arm outreached. Luffy from One Piece walks up to it, and shoves it by the head and shoulders back into the dirt.
414422
Zi @majormcdoom.bsky.social · 24/09/2026
Man, this really hit home. For me it was 19 years ago. I feel like I studied cog sci at an inflection point, when students who wanted to do AI-as-a-business-model started outnumbering those who wanted to study the mind / solve real problems. I never thought about it like GRIEF, until now. 😔
3602
Zi @majormcdoom.bsky.social · 22/09/2026
Supports follow-through and poking motions too! #GodotEngine #gamedev #indiedev
3999
Zi @majormcdoom.bsky.social · 22/09/2026
I love my motor system cuz it's like, oh, you wanna do a Wing Chun stance? Spread feet further apart, tilt them inward, and bend the knees inward. What's that? The penguin doesn't have knees? Okay, dislocate the femurs. Four lines of code. #gamedev #indiedev
A screenshot of the penguin imitating Wing Chun, plus a diagram showing the Wing Chun horse stance, plus the code used to achieve it:

penguin.body_params.neutral_foot_spacing = 0.5
penguin.body_params.neutral_foot_yaw = -20
penguin.hip.right_leg_anchor.position.x *= 0.7
penguin.hip.left_leg_anchor.position.x *= 0.7
3836
Zi @majormcdoom.bsky.social · 22/09/2026
YESSSS!! Took a couple days, but I now have one motor function that can lets penguins hit any point on anything with any point on any other thing. Probably one of the most versatile motor tasks I've made. SO happy with this! 🐧🐟🔨🙏🧊🚿🪵 #GodotEngine #gamedev #indiedev
2449779
Zi @majormcdoom.bsky.social · 21/09/2026
Mathy math. 🐧📐📈 #GodotEngine #gamedev #indiedev
1325635
Zi @majormcdoom.bsky.social · 20/09/2026
Totally procedural penguin drinking motor task. Accounts for posture, arm length, cup size, etc. 🐧🍺 #GodotEngine #gamedev #indiedev
217115
Zi @majormcdoom.bsky.social · 19/09/2026
This side quest stuck with me as well when I played it as a kid. The lingering timings in the cutscene as you watch the ghost inspect various corners of their house... the final acceptance... Such a great moment in a great game.
An old illustration I did of the ghost looking at the stuff in their house. There is a desk with a compass and a map on it. There are empty clothes hangers hanging near the windows, which are overgrown with vines. There is a potted plant that has grown very large. A closet is in the back corner, with little knick knacks on top, and a cobweb near by. Little slivers of light shine through the cracks between the boarded up windows.
1400
Zi @majormcdoom.bsky.social · 19/09/2026
GDScript gotcha: If you use "xyz in object" to check if object has a property called xyz, it actually tries to GET xyz! If xyz has expensive getter code, just checking its existence will call it. If you're doing a check to avoid an error before getting the value, you're calling it TWICE.
12945
Zi @majormcdoom.bsky.social · 17/09/2026
Throwback to a super early short game jam where I gave my VR penguin a touch screen on which to play another penguin game. #gamedev #indiedev
21159
Zi @majormcdoom.bsky.social · 16/09/2026
Made an NPC debug panel that shows live-rendered thumbnails of every NPC, their current states, and lets me double-click to teleport straight to them. Makes debugging the game progression a lot easier!
0533
Zi @majormcdoom.bsky.social · 16/09/2026
In Godot, you can only read scene depth from 3D shaders, but using a full-screen 3D quad to capture the depth of a wireframe viewport means the quad ITSELF becomes wireframe (a single diagonal line)! My solution: subdivide the quad by screen pixel height. #GodotEngine #gamedev #indiedev
9695
Zi @majormcdoom.bsky.social · 16/09/2026
Haha, hell yeah. An actually good wireframe mode in Godot. Not quite ready yet to share as an addon, but it's quite exciting. Works with any viewport mode, too. The amount of insane hacks I needed to pull this off, though... 😱 #GodotEngine #gamedev #indiedev
511811
Zi @majormcdoom.bsky.social · 14/09/2026
It's not a hack if you don't admit it. 🙅‍♀️ "I always meant to do this." Make it look intentional, damn it. 🫵 #gamedev #indiedev
await AwaitUtil.physics_frames(2)
7819
Zi @majormcdoom.bsky.social · 13/09/2026
Throwback to an old shader I made specifically to voxelize characters to avoid spoilers in social media posts. 🐧🫥 #GodotEngine #gamedev #indiedev
517113
Reposted by Zi
Tibo @heytibo.com · 11/09/2026
I just like this screen, so I'm sharing it again 😁 #godotengine #wildcosmos
614828
Zi @majormcdoom.bsky.social · 12/09/2026
Oh thank goodness, right as we were about to veer away from the main objective.
A leashed shiba inu looking backwards at a yellow arrow painted on a sidewalk.
0540
Zi @majormcdoom.bsky.social · 11/09/2026
Tired of your addons polluting your project view when you just wanna see your own stuff? I made an addon (haha) that gives you a little button in the FileSystem tab to toggle the addon folder. One addon to hide them all. Grab it here: codeberg.org/MajorMcDoom/...
510114
Zi @majormcdoom.bsky.social · 11/09/2026
Every item in the game can be converted any time, gracefully, to and from a serialized data representation (e.g. JSON). Here you can see me live-editing items via only a text box. #GodotEngine #gamedev #indiedev
1026022
Zi @majormcdoom.bsky.social · 10/09/2026
Made a fun util that lets you set "memory mines" that explode when they're freed, to help you track object life times (e.g. in coroutines). You can also embed them in other objects. Works in editor and runtime. Get it here: codeberg.org/MajorMcDoom/... #GodotEngine #gamedev #indiedev
1664
Zi @majormcdoom.bsky.social · 09/09/2026
Added advanced options for NPC conversation behaviour. e.g. whether to clear/replace/augment previous activities, additional entry/exit behaviours, etc. All seamless, thanks to the motor system. #GodotEngine #gamedev #indiedev
610711
Zi @majormcdoom.bsky.social · 09/09/2026
Being an Ocarina of Time fan as a gamedev means testing every new feature of your game in an OoT re-enactment (duh). Here's an old test of penguin "battle stance" and falling animations. #gamedev #indiedev #Zelda
2867
Zi @majormcdoom.bsky.social · 09/09/2026
Found a bug that I might keep? I forgot to add chair occupancy restrictions, and penguin hips are simulated with physics, so you can get in tiny chairs with other penguins and shove them aside. 😆 #gamedev #indiedev #GodotEngine
1216510
Zi @majormcdoom.bsky.social · 07/09/2026
Welp, had to update the Cozy Cube add-ons to 4.7 after all 😅, since it fixes a major memory leak bug with coroutines. I also discontinued area lights, which are now a core feature. The old 4.6 versions of the addons are available in a legacy branch. Sorry for the inconvenience!
1462
Zi @majormcdoom.bsky.social · 07/09/2026
Made a "content cluster" system to help me organize content. If I double-tap [C][C] from a viewport, it auto-adjusts the scene tree view to focus on the contents of the cluster I'm looking at, while preserving selections. Here is a demo in a small test scene: #GodotEngine #gamedev #indiedev
2683
Zi @majormcdoom.bsky.social · 06/09/2026
Can 100% recommend. Icons are high quality, aesthetically pleasing, consistent, extensive. Great UX in the form of a browser (either built-in Godot dock or web-based). My massive scene tree is now more readable. 🥳
21079
Zi @majormcdoom.bsky.social · 05/09/2026
Throwback to an experiment I did during the pandemic which started as a geometry slicing algorithm for a cake meme, but then evolved into procedural locomotion paradigms, body-awareness and speech generation. #gamedev #indiedev
1033138
Zi @majormcdoom.bsky.social · 03/09/2026
Made some basic UX flow for NPCs giving/taking items in VR. Still need to handle some edge cases, but feels pretty natural so far! 🐧🫴🔄️🫳🐧 #GodotEngine #gamedev #indiedev
4837
Zi @majormcdoom.bsky.social · 01/09/2026
And because I think it's equally important to show the failures behind the successes: At first I tried to be fancy with prediction and course-correction. The complexity quickly outgrew the potential gains. In the end, a simple radial push sufficed and produced better results. #gamedev #indiedev
3847
Zi @majormcdoom.bsky.social · 31/08/2026
Playing with this is so incredibly satisfying, haha. #GodotEngine #gamedev #indiedev
1529042
Zi @majormcdoom.bsky.social · 31/08/2026
Made some big improvements to penguin locomotion system, mostly involving awareness of obstacles and other penguins. #gamedev #indiedev #GodotEngine
516016
Zi @majormcdoom.bsky.social · 30/08/2026
My dog (back) and his former-neighborhood-enemy-recently-turned-friend (front), waiting for treats. They reconciled by bonding over food.
A shiba inu and another small black and white dog on a porch, staring intently towards the door.
2871
Zi @majormcdoom.bsky.social · 28/08/2026
How to make a digital screen glitch effect... Real VFX artist: You'll need a shader that applies distortion but also samples from a nois- Me: Artificially induce real data corruption in your game's video memory. #gamedev #indiedev #Godot
613814
Zi @majormcdoom.bsky.social · 28/08/2026
Made a bunch of utilities for easier debugging. - Mirror view (works in editor and in VR) - Game window view (works in editor and in VR) - Editor for complete tampering of story progression. #GodotEngine #gamedev #indiedev
1867
Zi @majormcdoom.bsky.social · 27/08/2026
Cool news: 3D trails are officially coming to Godot core! 🎆 All thanks go to @qbieshay.bsky.social who did a *huge* amount of work rewriting my GDScript addon as a proper, native engine feature. 🙏 Feel free to check it out early in the latest dev build! #GodotEngine #gamedev #indiedev
718920
Zi @majormcdoom.bsky.social · 26/08/2026
Using type_convert vs. the docs for type_convert: 😒😒😒😒😒😒😒😒😒😒😒😒😒😒
A screenshot of a console error: "type_convert()". Cannot convert argument 2 from String to int.

Then a screenshot of the docs: If the type conversion cannot be done, this method will return the default value for that type, for example converting Rect2 to Vector2 will always return Vector2.ZERO. This method will never show error messages as long as type is a valid Variant type.
2240
Zi @majormcdoom.bsky.social · 25/08/2026
Any limits on Penguin Festival's systems are purely artistic, not technical. Anything can easily be given any kind of feature, technically. #GodotEngine #gamedev #indiedev
41107
Reposted by Zi
PRPLON - Wishlist ”Moose Migration” on Steam! @prplon.bsky.social · 21/08/2026
Finally got this procedural world to work! Moose is now standing on top of the world :D! What a view! #indiedev #gamedev
0224
Zi @majormcdoom.bsky.social · 24/08/2026
Seasoning. 🤌🧂🌿🔥👌 #GodotEngine #gamedev #indiedev
716617
Zi @majormcdoom.bsky.social · 23/08/2026
Took a fun photo.
A close-up photo of two ants in a little hole formed by curled leaves. It's highly symmetrical, and looks almost like a fancy hallway / doorway.
1230
Zi @majormcdoom.bsky.social · 23/08/2026
Hairy fish is not what I will be using this tech for, but it's interesting to note that if you replace a uniform distribution with an even distribution (yes, they're different), you end up with something resembling the arrangement of mammalian skin follicles. #GodotEngine #gamedev #indiedev
10866
Zi @majormcdoom.bsky.social · 22/08/2026
Working on a cool feature. First step is to generate random surface points on arbitrary meshes. The distribution is uniform across the *entire surface area*, not just choosing random vertices or face centers. 🐟🎲 #GodotEngine #gamedev #indiedev
101235
Zi @majormcdoom.bsky.social · 22/08/2026
This aged so poorly, lol.
1490
Zi @majormcdoom.bsky.social · 22/08/2026
Pylons! A single VR prop can add so much silly fun. It also sometimes creates an explosion of systems work if you're not careful. Luckily, I had a lot of it done already. #GodotEngine #gamedev #indiedev
1016921
Zi @majormcdoom.bsky.social · 21/08/2026
A or B? #GodotEngine #gamedev #indiedev
23386