Zi's Avatar

Zi

@majormcdoom.bsky.social

Indie VR dev / founder of @cozycubegames.bsky.social. Making <<Penguin Festival>> in Godot. ๐Ÿง Past: Owlchemy Labs. Proud husband and dog dad. The Andy Serkis of penguins. - ๐Ÿšซ generative AI - ๐Ÿšซ genocide - โœŠ trans rights

6,530 Followers  |  974 Following  |  2,346 Posts  |  Joined: 26.07.2023  |  2.1874

Latest posts by majormcdoom.bsky.social on Bluesky

bsky.app/profile/majo...

15.02.2026 21:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

In this case, a big blue wall.

15.02.2026 17:38 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Game industry pickup lines:

"Haha, yoink!"
"I might need this later."
"One for the road."
"This should come in handy."

15.02.2026 07:01 โ€” ๐Ÿ‘ 38    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

This is a great framing. :)

14.02.2026 15:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Nope if you mean the thing where I controlled the window, that was me actually controlling a window.

If you mean my control proxies, those only work for stuff inside the game.

This video here just captures a system screenshot with DisplayServer.

14.02.2026 06:15 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

And this isn't putting the blame on people who are spreading that energy. It's equally important to challenge the notion that continuing to make art in times of unrest is putting your head in the sand.

13.02.2026 22:00 โ€” ๐Ÿ‘ 16    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Your art, your burnout and your activism are personal. No social movement is entitled to your creative output.

If being around a certain artistic energy is making you feel guilty, inadequate, or desperate, then avoid it.

Mute, unfollow, log off. Whatever the heck you need to heal, do it.

13.02.2026 21:55 โ€” ๐Ÿ‘ 20    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I feel like some mutuals may need to hear this:

If you're recovering from burnout, and you're sensitive to social pressures, please minimize your exposure.

Well meaning as they may be, the last thing you need during recovery is artists shouting about making art as a form of resistance.

13.02.2026 21:55 โ€” ๐Ÿ‘ 49    ๐Ÿ” 5    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

We're helping to raise funds for the Immigrant Law Centre in Minnesota with the No ICE in Minnesota bundle on Itch.io.

Get 1439 items for $10, including A Good Snowman is Hard to Build, all for an excellent cause.

itch.io/b/3484/no-ic...

13.02.2026 17:30 โ€” ๐Ÿ‘ 23    ๐Ÿ” 9    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
A screenshot from the video, showing the penguin and the mural behind them, with a huge ass-shaped impression in it.

A screenshot from the video, showing the penguin and the mural behind them, with a huge ass-shaped impression in it.

The last photo freeze effect was ruined because my fat penguin ass instantly broke the wall and the illusion.

13.02.2026 17:36 โ€” ๐Ÿ‘ 23    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

LIVE ON STEAM
store.steampowered.com/app/3389740/...

Omg such a milestone we are live on the two biggie EA platforms now so it feels like we are OUT OUT. Also I set a 16x16 for today but I'm super chuffed for tomorrow's daily challenge as well. Thanks for all the support ๐Ÿฅฐ

#gamedev #godot #vr

13.02.2026 14:47 โ€” ๐Ÿ‘ 9    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

This was all because I discovered DisplayServer.screen_get_image thanks to @heytibo.bsky.social lol.

13.02.2026 17:21 โ€” ๐Ÿ‘ 18    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Sometimes I just do weird stuff in VR just to see if I can. This was all done in one continuous shot.
๐Ÿง๐Ÿ‘Š๐Ÿงฑ๐ŸŽฆ๐Ÿ˜…
#GodotEngine #gamedev #indiedev #VR

13.02.2026 17:19 โ€” ๐Ÿ‘ 303    ๐Ÿ” 34    ๐Ÿ’ฌ 14    ๐Ÿ“Œ 1

I see what you're doing now. You want a *full screen capture*, not just the texture of the game window itself. Hence why you need screen_get_image. But yay, at least the update is efficient now. :)

12.02.2026 21:29 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

And to bring it all back - it's this awareness that makes it, for me, not "emergent". It can't be emergent if it's accounted for! Emergence happens anyway, and is unintended. And therefore, anything actually "emergent" is not my business, so I don't even think about it.

12.02.2026 21:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

e.g. We can easily agree on the wisdom of making a Flammable component instead of a Torch component, but it's all moot without a full awareness of the role of fire in the game.

There should be a coherent structure these systems ultimately serve. Too often they instead mask the absence of one.

12.02.2026 21:19 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

IMO, these should be wielded as tools to give us, the developers, more to explore and build on. Yes, by all means, we should reduce the work needed to create interesting scenarios. But we should be actively thinking about and leveraging those interesting scenarios before they reach the player.

12.02.2026 21:19 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I think that's a fantastic break down of how to achieve depth and scalability in game systems.

My main point is that this is not automatically good design. It's common for devs to treat combinatory power with an element of unpredictability as necessary AND sufficient.

12.02.2026 21:19 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If you *must* use Image for some reason (I don't think you do), you can still keep an ImageTexture and just use its update function. That way, at least you're just copying data every frame, instead of reallocating.

12.02.2026 18:06 โ€” ๐Ÿ‘ 10    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yeah so the material references a texture. That relationship is the same no matter what approach you use.

A ViewportTexture has all the data of the viewport already in it.

An ImageTexture, however, has to *copy* from an Image anytime it changes. The data doesn't live in the texture.

12.02.2026 18:06 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yes it will run well if you don't have a lot else going on. But it is allocating an entirely new texture and copying over all that image data to build it every frame. You can get away with it, but if you have direct access to a texture reference, why not?

12.02.2026 17:55 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Where this crosses the line into "designing for emergence" is a willful blind eye to redundancy and balance, and a reliance on explosive possibilities as a crutch to replace intentional design.

12.02.2026 17:50 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I would consider that just a form of depth, not emergence. The important thing to note is that this is *intentional*. The systemic interoperability should be designed, scoped out, questioned, balanced and tested.

12.02.2026 17:50 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

That is very expensive right? Like every frame it's making a new texture resource from pixels.

If I understand your use case correctly, you can just use get_viewport().texture directly, one time, instead of every frame. And it's an existing texture resource already.

12.02.2026 17:44 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

TLDR:

Don't give your player the burden of surprise.

Don't rely on the "value" to reveal itself later. Find it, interrogate the shit out of it, and work on it.

12.02.2026 17:24 โ€” ๐Ÿ‘ 12    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

It warps what should be a trust between player and game into an often delusional reliance on the player.

No need to question the usefulness of a thing if the player will find a use for it.

No need to make thoughtful environments/puzzles if the player has enough thingamajigs.

Etc.

12.02.2026 17:24 โ€” ๐Ÿ‘ 11    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

And that is the core of the problem - Whether or not they realize it, many devs romanticize the idea of delivering *high value*. And it's *especially* sexy if they can do this by focusing on what comes easy: polishing individual things / systems they like.

12.02.2026 17:24 โ€” ๐Ÿ‘ 9    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

A good sandbox has mechanical breadth, depth, purpose, and balance.

Do ask:
- Does it serve a purpose?
- Is it redundant?

Do NOT ask:
- Can the player use this in unexpected ways?

You're the dev. It's your job to expect it. Do the work.

12.02.2026 17:24 โ€” ๐Ÿ‘ 17    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Don't make emergence a design goal. Remind yourself (or maybe you never knew) of what you're making.

If your game has an identity outside of this vague idea of "emergent gameplay", then that is all you should focus on.

This applies even more, not less, to sandbox games.

12.02.2026 17:24 โ€” ๐Ÿ‘ 14    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I get asked this once in a while: "How do I design for emergent gameplay?"

Answer: Don't.
๐Ÿงต๐Ÿ‘‡

#gamedev #indiedev

12.02.2026 17:24 โ€” ๐Ÿ‘ 46    ๐Ÿ” 5    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

@majormcdoom is following 20 prominent accounts