Bodybuilders have "leg day", game developers have "UI day". Shoot me in the face. #gamedev
@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.
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
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.
After all these years using #Unity I just learned about the cost of null comparison against Unity objects, duh. #gamedev github.com/JetBrains/resh…
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
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
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
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
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
