Gamedev is Easy

JPDev@programming.dev to Programmer Humor@programming.dev – 427 points –

Transcript

var game = new Game()
  .EnableMultiplayer()
  .EnableSpatialAudio()
  .SetPerformance(Game.Performance.HIGH)
  .ForEachBug(Bug::AutoFix)
  .GetWishlists(7000);

game.Release();
35

c'mon man, you forgot to call .EnableUltraWideSupport()

Naah, gamedevs hate us more than they love money :(

Where's the .EnableUltraUltraWideSupport(). Gotta have my 48:9 aspect ratio

Where's the .EnableUltraUltraWideSupport(). Gotta have my 48:9 aspect ratio

Whoa, you can't trust people with that code. You gotta put in a few rootkits and drm to stop filthy pirates and cheats.

Another dev who forgot to .AddGameplay()

I assume that's part of the constructor?

Should really start practicing dependency injection, so you can create any kind of gameplay you want easily!

Weirdly they often forget to use .EnableCrossplay() and then complain about it being "hard to implement".

and then complain about it being "hard to implement".

Ok but seriously, if a completely new dev team picking up a game 20 years after it was originally written for one platform can port it to a new platform with an entire new custom user experience and support optional cross-play, I have no sympathy for developers of modern games designed from the start to run on multiple platforms not supporting cross-play in their game.

You have to take into account that a big company game is going to by much harder to implement than just a small hobby team game simply because of all the people involved.

What can 5 people do in a year may take more for 500 people, just because of the management overhead. And if that management sucks, it will end up doing way more things it was required to do, yet the original request will not be done well.

well if a game heavily relie s on steam networking stack crossplay may be close to impressiblr to implement without ripping the whole stack out

I smell a NotImplementedException somewhere.

It’s everywhere.

I don’t know, at least ‘SetPerformance()’ could throw an argument out of bounds exception.

Yep, easy as that, just that each method takes months.

or years in some cases

How are you implementing bug catching and autofixing in a couple of months

Yeah, that part is a bit iffy, but managers and product owners will believe it.

if only those dumb game devs knew

ill send them this code just to be sure

EnableSpatialAudio()

I thought most games nowadays don't do any of that, because you can save that CPU time for a little big more frames.

@platform('engagement')
game.Release().then(ninjaNFTandMTXDLC);

are you feeling it Mr. Crabs?

I love me some builder design patterns!

This code is going to make me have a stroke. What language is this? Why does the game object have an internal bug tracker implementation? Does the game force itself into wishlists? If yes, why stop at 7000?

I know I shouldn’t get so mad at a random internet joke but this one makes me twitchy.