Activity Stream

@tomwor@tomwor.com

I blogged again. 🫣 "Every step filled with dread" - The Hidden Costs of Convenience: Choosing Between Control and SaaS in Game Dev. #gamedev #saas

@tomwor@tomwor.com

"The Legend of Zelda" was inspired by Shigeru Miyamoto’s childhood adventures exploring caves near his home in Kyoto. So many video game devs seem to be inspired by childhood experiences. #Zelda #GamingHistory

@tomwor@tomwor.com

I added a public property "debugLog" to all of my ScriptableObject events, to see when listeners are registered and the event is fired. Great for insights. #unity #gamedev

@tomwor@tomwor.com

Worst thing about part-time gamedev: forgetting what you've done last time and then having to figure out your own shit. #gamedev

@tomwor@tomwor.com

I finished the GameOver UI - it now show the leaderboard instantly. Learned a lot about Unitys UI system and Layout Groups, it's not that bad once you figure out the basics.

@tomwor@tomwor.com

There is a slight pixel scale issue at 1280x800 (Steam Deck resolution) because I need to scale it by 0.75 - probably nobody will ever notice, but it burns a hole in my eyes right now nevertheless. #gamedev #pixelperfect

@tomwor@tomwor.com

So I tried a dual monitor setup for #gamedev with a big central horizontal monitor and a vertical one for code. At a 16:9 ratio, the vertical monitor was just too thin for me. I'm back at a dual same-size 16:9 setup, #Unity on the left, editor (#Rider) on the right.

@tomwor@tomwor.com

If we boil down Gamedevelopment to the core, it's about getting players into a perpetual flow-state. Slowly rising challenge, always at the edge of the attainable. If it's too easy, players are bored. If it's too difficult, they get frustrated. #gamedev

@tomwor@tomwor.com

So another #Unity #ScriptableObjects realization: If you clone a ScriptableObject for and later Destroy() it, it might still stick around before being garbage collected. Instead of cloning the object for runtime data, I ended up using a regular C# object.

@tomwor@tomwor.com

So I decided to rip out my PowerUp system in favor of a more flexible solution (yes, ScriptableObjects) and now I got this icky feeling of my game being in this broken state. #gamedev

@tomwor@tomwor.com

Hadouken! 🔥 Street Fighter II revolutionized gaming with combo attacks, but they were actually a programming glitch that became a core feature. Accidental genius! #StreetFighter #RetroGaming

@tomwor@tomwor.com

Modifying a ScriptableObject at runtime changes its asset file. Avoid unintended data changes by cloning it with Instantiate() before using it for runtime data. #Unity #UnityTips #gamedev

@tomwor@tomwor.com

You can use ScriptableObjects as an event system. Define event assets (GameEvent) and listeners (GameEventListener) to decouple systems. This modular approach keeps dependencies low and scales beautifully. #Unity #UnityTips #GameDev

@tomwor@tomwor.com

Unity's ScriptableObjects live outside the scene and stay in memory only when needed. Ideal for large datasets like inventory items or dialogue trees. #UnityTips #optimization

@tomwor@tomwor.com

Little known fact: In Super Mario Bros., the clouds and bushes are actually the same sprite—just colored differently. Saving memory, one pixel at a time. 🌥️🌳 #RetroGaming #MarioFacts