Sabitlenmiş Tweet
Callum Styan
6.3K posts

Callum Styan
@CallumStyan
Indie MMO gameplay programmer and @PrometheusIO team member.
Vancouver, British Columbia Katılım Mart 2009
831 Takip Edilen398 Takipçiler
Callum Styan retweetledi

There’s a pattern we should talk about that has quietly killed a lot of great games over the years.
It usually pans out like so:
1) Developers listen to players and think they do them a favor by giving them exactly what they asked for.
2) Players love it - at first.
3) After that, for some 'mysterious' reason, players lose interest and the game slowly dies and nobody is quite sure why that happened.
The truth is that players will always push for fewer restrictions. They'll always argue for endless farming, easy power creep, never getting locked out of any content, making things more convenient, removing any sort of gates, etc. etc.
And usually, even if you give in to things that will hurt a game in the long run, you get applause, at first.
But you also just removed some of the very things that made the game special.
Magic in games often comes from limitations.
Scarcity, anticipation, effort, friction... all of these things have meaning. And if you remove those out of the equation, you logically remove meaning.
Christmas is magical exactly because it happens once a year. If you had Christmas every day, you wouldn’t make it better - you’d destroy what made it special.
As a parent, I know how excited my boys are when December hits and they start dreaming about how amazing Christmas will be.
They start talking about which awesome presents they'll receive and every day they come up with new things.
The parents challenge is then to intently listen and to understand what your kid really wishes for - and after thoughtful deliberation, you turn THAT into their present.
You don't give them everything they wanted, you give them what they deep down truly wished for. And that's what makes it magical for them, because you actually spent the time and were thoughtful enough to truly understand who they are.
And the same is true for games.
When everything is always available, then:
- Nothing feels special
- Nothing is worth planning for
- Nothing creates stories anymore
You’ve optimized the fun out of the system.
We’ve seen this over and over:
You remove keys, costs, or gates and players gleefully cheer you on.
But suddenly:
- The gameplay loop breaks
- The economy collapses
- The sense of progression disappears
Another example: social friction.
The magic of early World of Warcraft was that it was basically the first social network.
You had to actively talk to people, organize raids, build relationships and in the process a lot of people created life-long friends.
Then players kept asking for features like LFG and developers caved in with the argument that removing friction is good.
But suddenly, your friends didn't need you anymore. You weren't seen as an important part of their group anymore, you became an annoying obstacle that could be side-tracked. And losing your friends is a horrible feeling, as it should be.
Here’s the uncomfortable truth:
Players are very good at optimizing for short-term satisfaction. But they are incredibly bad at protecting long-term fun.
THAT is the developer’s job.
Sometimes you have to stand your ground and say no. Not to frustrate players, but to protect their experience.
Because if you give players everything they want…
You might be taking away the reason they loved your game in the first place.
English
Callum Styan retweetledi
Callum Styan retweetledi
Callum Styan retweetledi
Callum Styan retweetledi
Callum Styan retweetledi
Callum Styan retweetledi
Callum Styan retweetledi
Callum Styan retweetledi

this is happening everywhere all the time at every studio
Cummz@Em8erCummz
Jesus fucking Christ what the fuck
English
Callum Styan retweetledi

@ZPostFacto Literally the opposite of Japanese pasta, where you take a Japanese dish and replace the noodles with pasta 😅
English
Callum Styan retweetledi

@Dispatch_Graph And recommended resources/reading for this kind of thing? I’m only just starting to write my first renderer and I wouldn’t even know where to begin in terms of adding debug features to it.
English

Implement a debug renderer in your engine! It will save you a lot of pain!
Say you are trying to debug cascaded shadow maps or frustum culling. With a debug renderer, visualising camera frustum or bounding volumes is as easy as calling DebugDraw.drawBox!
Take it a step further even, make it GPU driven so that any of your shaders can emit draw calls to pass to your debug pass. With that, you can do ray debugging, normal debugging, and honestly draw anything that lives on the GPU only.
A debug renderer is something I always implement ASAP when I start a rendering project. I advise everyone to do the same!

English
Callum Styan retweetledi

i must say, knowing how to do all the things really makes vibe coding a stupid project fun because i can do something that i would normally say no to (due to time)
but on the other side, like all projects, even vibe coding something becomes a bigger and bigger time sync to where it just becomes another over scoped and under delivered project
its almost like the speed change did not impact the amount of actually finished projects ;)
English
















