this post was submitted on 26 Mar 2024
428 points (92.8% liked)

Programmer Humor

19452 readers
131 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
428
Gamedev is Easy (programming.dev)
submitted 7 months ago* (last edited 7 months ago) by [email protected] to c/[email protected]
 

Transcript

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

game.Release();
all 37 comments
sorted by: hot top controversial new old
[–] [email protected] 86 points 7 months ago (5 children)

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

[–] [email protected] 33 points 7 months ago

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

[–] [email protected] 10 points 7 months ago

The tech just isn't there yet to support an extra line 😔

[–] [email protected] 4 points 7 months ago

I'm pretty sure the Aspect Ratio of the Year is 4:3

[–] [email protected] 1 points 7 months ago

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

[–] [email protected] 1 points 7 months ago

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

[–] [email protected] 75 points 7 months ago

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

[–] [email protected] 71 points 7 months ago (1 children)

Another dev who forgot to .AddGameplay()

[–] [email protected] 8 points 7 months ago (1 children)

I assume that's part of the constructor?

[–] [email protected] 7 points 7 months ago

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

[–] [email protected] 55 points 7 months ago (2 children)

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

[–] [email protected] 17 points 7 months ago* (last edited 7 months ago) (1 children)

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.

[–] [email protected] 10 points 7 months ago

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.

[–] [email protected] 6 points 7 months ago (1 children)

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

[–] [email protected] 5 points 7 months ago* (last edited 7 months ago)

Just port Steam to the Nintendo PlayStation.

[–] [email protected] 35 points 7 months ago* (last edited 7 months ago) (2 children)

I smell a NotImplementedException somewhere.

[–] [email protected] 56 points 7 months ago (1 children)
catch (Exception e) {
    Exception.autofix(e);
}

Done!

[–] [email protected] 1 points 7 months ago

Perfect! Don’t forget to assert the same exception in all the tests.

[–] [email protected] 4 points 7 months ago (1 children)
[–] [email protected] 2 points 7 months ago

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

[–] [email protected] 22 points 7 months ago (2 children)

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

[–] [email protected] 12 points 7 months ago

or years in some cases

[–] [email protected] 1 points 7 months ago (1 children)

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

[–] [email protected] 2 points 7 months ago

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

[–] [email protected] 21 points 7 months ago

No no release should be executed first

[–] [email protected] 11 points 7 months ago

if only those dumb game devs knew

ill send them this code just to be sure

[–] [email protected] 11 points 7 months ago* (last edited 7 months ago)

Reminds me of Coffee Stain Studio's trailer for the release of Goat MMO Simulator:

https://youtu.be/WAm5yxQA_HY

[–] [email protected] 8 points 7 months ago
@platform('engagement')
game.Release().then(ninjaNFTandMTXDLC);

are you feeling it Mr. Crabs?

[–] [email protected] 8 points 7 months ago (1 children)

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.

[–] [email protected] 3 points 7 months ago

Save that CPU time for Denuvo

[–] [email protected] 5 points 7 months ago

I love me some builder design patterns!

[–] [email protected] 3 points 7 months ago

Psht No wonder AI is taking all of our jobs

[–] [email protected] 2 points 7 months ago

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.

[–] [email protected] -2 points 7 months ago* (last edited 7 months ago) (1 children)
[–] [email protected] 4 points 7 months ago

Lower effort reply