Is game programming the hardest kind of programming?

Is game programming the hardest kind of programming?

Attached: starcraft-2.jpg (620x300, 62K)

Other urls found in this thread:

en.wikipedia.org/wiki/Tarn_Adams
adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/
my.mixtape.moe/nrludy.mp4
twitter.com/SFWRedditVideos

Game programming is a long pipeline. Most of what game design today amounts to is designing the assets they want to use for the game, very little programming involved. If you're designing engines from scratch, that's another story.

checkem

Attached: checkingthem.jpg (600x450, 77K)

Dang

define game programming

If you're "programming" the next Assassin's Creed release, no.
If you're programming the next Dwarf Fortress release, yes.

Attached: kimbo_sliced.jpg (319x375, 29K)

>AAA game is less complex than some indie game created by an individual that may or may not have a beard
Yeah no

Short answer: no
Long answer: nooooooooo
Good answer: it's hard but not THAT hard. Kernel design, compiler design, cryptography, some aspects of AI such as pattern recognition are harder. I think the "game programming is hard" meme is here because people with no previous programming knowledge don't suddenly want to become cryptographers.

>Reusing the same assets and pre-programmed engine is the same as designing the assets of the most complex game of its kind and the engine it uses.
Fuck off poser, you're clueless.

OOOOOOH, DUBS GET REKT >fire.png

Attached: punch.jpg (852x480, 16K)

>Reusing the same assets and pre-programmed engine
They don't use the same assets and the 'pre-programmed engine' is typically altered quite dramatically in between releases. Maybe you're thinking of call of duty but even then each team takes a year to work on the engine.

Game programming is hard in the sense of that there's a lot of interacting systems and runtime constraints and also a graphical component. So there's a lot of room for fucking up the design.
It's not hard in the sense of solving quantum physics problems or such.

Have you played the last few Assassin's Creed games? They're the same game, brother.

3 was quite dramatically different from 2 which required new assets
Unity and Synd are pretty different, again new assets, but unity required more engine work going from 3 -> unity than the transition to syndicate (aka where all these meme bugs stemmed from)
and origins is pretty much an entirely different game from past AC games

so, have you played them? doesn't seem like it unfortunately

Bro, even minor changes to that codebase take 10 people 2 weeks. Half of the team is always coders. You simply have no respect for the industry

Attached: 3016933-riot.jpg (686x459, 87K)

Violent video games are responsible for the increase in violent crimes.

Violent movies are responsible for the increase in violent crimes.

Go to bed Trump

I agree, all violent media should be banned. Especially rap music.

Prove me wrong.

That only means they have a lot of garbage legacy code. Lots of boilerplate, little meaning. Meanwhile Dwarf Fortress is the most complex game PERIOD.

No. Game's success doesn't depend on the underlying programming at all. See Undertale.

>Dwarf Fortress is the most complex game PERIOD
GTA V is more complex.

Attached: 1_Q7WRVcXHONbdn4eUzyBbcA.jpg (400x400, 42K)

DF's creature anatomy alone is more complex than the entirety of gta v.

Gta’s pipeline to render just one pixel on the screen is more complex than the entirety of df

>Literal bullshit

Checked

en.wikipedia.org/wiki/Tarn_Adams
>PhD math from Stanford make games

what about engines? how hard they are to developer for example minecraft game engine

Completing a simple task in a convoluted way doesn't make it complex.

Working on a new engine from scratch? Yes

Working with a pre-built engine? No

Some of these engine dev companies will even give you developer hours per month with their support subscriptions ($25k+ per month). There is entire game development teams that don't even have a single dev that only programs because of this.

It's really misleading when you see "oh that engine is only $100k on their website" or "that game engine is open source" but people do not realize that trying to use it without the expensive monthly support subscription is almost impossible because they purposely keep the documentation away from you.

Game development is also underpaid and really difficult to get into. You could go work at some meme startup raking in $80k to fiddle with some NPM packages 30 hours a week or you could spend 80+ hours a week making $25k working at a game development company.

This

define “game”

dayum, nice tripquads and tripdubdubs

>hardest
no, but it sure is one of the more complex fields

adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/

I would think weather systems simulations/predictions would be several order of magnitude more complex.

Take a look at Vulkan, tell me what you think is needed to smooth that out to something intuitive.
> tfw current Vulkan renderer backend that has a GL-styled interface is 30k lines and counting

Attached: woody_anhero.png (720x540, 735K)

Real time ray-tracing will render(kek) all of that code masturbation absolutely useless.

You can do that in a game

Check and mate

i dont now anything about about those graphic frameworks like dx opengl and ect only thing i know they are used to create software that runs on gpu

>Minecraft
Infiniminer was originally intended to be played as a team-based competitive game, where the goal is to locate and excavate precious metals, and bring the findings to the surface to earn points for the player's team

However, as the game gained popularity, players gravitated towards the emergent gameplay functionality of building in-world objects, instead of the stated design goal of competition.
Zachtronics discontinued development of the game less than a month after its first release as the result of its source code leak. As Barth had not obfuscated the C# .NET source code of the game, it was decompiled and extracted from the binaries.

Hackers modified the code to make mods, but also started making clients that would target vulnerabilities in the game as well as build incompatible game forks that fragmented its user base. Barth, who was making the game for free, then lost interest and dropped the project, as development of the game had become too difficult.

The source code of Infiniminer is now available under the MIT License. Building Infiniminer requires Visual Studio 2008 and XNA Game Studio 3.0.

Infiniminer is the game that Minecraft was initially inspired by (and subsequently FortressCraft, CraftWorld and Ace of Spades).


The visuals and mechanics of procedural generation and terrain deformation of Minecraft were drawn from Infiniminer.

According to Minecraft author Markus Persson, after he discovered Infiniminer, he "decided it was the game he wanted to do".

Sure, it's complex, I never said it wasn't. It will isn't more complex than the entirety of Dwarf Fortress.

Attached: shrug.jpg (384x313, 82K)

Memes aside, the entirety of the codebase of GTA V is orders of magnitude more complex than 10 dwarf fortresses put together. Not that DF isn't complex, but you're comparing apples to planets here.

probably true but that's only after the PC port and because it was done by a team of monkeys

Looking how bad the average Jow Forums user is at math, I will say scientific programming is the hardest one.

“They’re the same game” is an expression, clearly they’re not literally the same game.

They also clearly use different assets, maybe it all amounts to something too similar for your tastes but that’s not the conversation here.

>Legacy code is good.
I agree, I love bloatware.

High level game programming = Math

Low level (logic) game programming = Even the storyboarder could do it

The entirety of the system doesn't mean too much if individual components that individual programmers work on are simple. If you were a developer working on GTA compared to a developer working on dwarf fortress, you would probably be doing more complicated things as the dwarf fortress guy.

Shit, by high level I mean more complexity, and low level, less complexity.

Rockstar uses their own engine. They do more complicated stuff. End of story.

Ask yourself - could it be simplified without simplifying gameplay? Of course it could be, by orders of magnitude. The same can't be said about dwarf fortress.

Unity games can't be reflected as it is natively compiled. What were they using?

Checked

Attached: 1503495555653.png (1732x1442, 327K)

More code != more complexity. They use their own engine because it's their choice, not because the game requires it. They simply chose to do it in a convoluted way.

Oops never mind read the entire post.

fpbp

game programming is far easier than, say, system programming for the purpose of reverse engineering undocumented APIs or hardware (ex. Wine, ReactOS, hardware emulation)

[ picture of facepalming picard ]

What is even "programming"? For me programming is the act of writing code. It is a simple micro-task in a big journey of creating some useful digital automation.

The hard parts for a "programmer" in that journey is the software-engineering, knowledge of tools, frameworks and methods, regardless of what kind of program you develop.

arguably the engineering part is harder for those developing something big and complex, like a game-engine. but you need a bit more knowledge of math when breaking cyphers (taking that shader magic into account).

either way, the programming part is just like "getting to work by bus or car" at that point.

While Dwarf Fortress might have complex logic for its procedural generation and gameplay systems, open-world games on the scale of GTA require complex systems for things such as collisions, physics (especially with vehicles), rendering/chunk-loading optimizations, etc. for it to be playable in real-time.

No. Emulation is harder

Yes, but GTA just does "import RAGE physics engine", fine tunes it a bit, and calls it a day. The complexity in that game is quite standard.
Meanwhile DF faces problems like doing pathfinding ridiculously big levels with a ton of units while also simulating endless interactions between them. And fails spectacularly at it because Toady can't even into threading.

>very little programming involved
even if you use an engine, you're still going to be writing a bunch of scripts to run practically everything like game mechanics, menus, camera movement, enemy dialog, npc dialog, audio, multiplayer

it's quite straightforward, but it does deal with more unknowns than other types of programming, especially for high performance multiplayer

aspects of it can be difficult, like writing certain complicated shaders

my bet is you can't even code a hello world in python, no way someone is this stupid.

it depends on what you mean by "game programming"

programming some triple AAA 3D engine is probably difficult, yeah

>have to simulate an entire fictional world and entities that inhabit it
>have to translate this 3D world into another dimension, typically 2D through some viewport
>involves platform specific optimizations
>complex mathematics knowledge
>advanced hardware for calculations
>if you fuck up anything people will hate your work
>it takes a long time to get right
I respect old engine devs.

checkered

Attached: checkered.jpg (1024x768, 52K)

Depends what you actually consider game programming.

Writing game engine? Yes.
Writing event scripts in finished engine? No.
Making sure everything put together works and time spent working on whole game is actually not just a big waste of time? Probably.

quads of true, this guy knows his shit

this, it is well known that a team of only artists and "idea people" is doomed to fail. Programmers are the ones who turn magic into reality.

As someone who's worked in the industry for 8 years now, I can tell you it's not as simple as reusing assets and the engine. When us code-monkeys finally get word from the corporate fatcats that decide what games get funded, we do something called engine lock. All features and aspects of an engine are frozen in time, that's what we have to work. All while another completely separate team continues work on the engine, we'll get to use that engine next year or the one after. I typically test my code with cubes and capsules, but the art teams make all new assets for the majority of the project. But if something is similar to something from another title or iteration, why the fuck do people get upset for using that code\asset, do people really want\expect us to rewrite\remodel\redesign something that already exists, has been tested and bugfixed?

Is Terry right?

my.mixtape.moe/nrludy.mp4

We don't know because both are closed source. For all we know one has complex graphics, physics and gameplay where the other only has gameplay. Sorry to dissapoint you but those pretty graphics and physics simulation is hard topic in computer science whereas gameplay could just be complex scripting.

not if you use lua then its easy.

Gameplay is the only thing that matters - all other things are shared between games. Need graphics and physics? Import them.

DF has waster scale than GTA and it has to deal with 3d terrain, not just surface, because it has geology.

*vaster

This can work for about a year. You maybe think improving graphics and physics is trivial but every year there're dozen publications that an engine has to account for if it is to remain relevant. Also you spoke for overall complexity and afaik they use an in-house engine which raises the bar considerably. If both games were based on the same engine then we could have a plain gameplay comparison (with no clear winner either).

why make your own engine when much better engines exist
unity is way better than YOUR engine except you have to torrent it.

>Bro
Why don't you fuck off back to Snapchat pal?

Anything with continuous interation with the user is hard to program. There are too many states to track.

>This can work for about a year.
Funny, that's about as long as graphically-intensive games stay relevant.
>If both games were based on the same engine then we could have a plain gameplay comparison (with no clear winner either).
DF has no competition therefore it's a winner. It's a simulation of a world down to tissue level.

/thread

>kid plays a game
>wants to make a game himself
>tries getting into programming
>gets dumbfounded by weird terms
>wtf I just wanted to make games
>just skips all of that and starts making a game
And thus the "game programming is hard" meme was born.

if you use premade tools it's easy as fuck, but then that can be said for any kind of software. The difference between programming normal software and games is that normal software is mostly idle + a instruction + a process + a response and then idle again. Games, on the other hand, are almost never idle; instead you have multiple procedures constantly running in the background and the frontend, with the user interrupting/creating new ones. It's different, and therefore harder, but only at first.

I want to be a cryptographer. I have no programming experience. Is it too hard for me? should I try to make games first?

I learned C in high school but that was 13 years ago. xD

Digits don’t lie

This, USA NWS runs their forecast models 4x/day, and each run takes 2-3 hours. This is with whatever high-performance computing clusters they can afford with all the budget cuts/freezes. I can only imagine how long it'd take on even a powerful PC/Mac/Linux box.

Oh, and the code for it is a mix of C/C++, with Fortran for the heavy number-crunching.

And today

> Download Unity
> See some meme tutorial or course on udemy
> Use pre-made stuff
> Pack into a shitty bin
> I'M A GAME DEVELOPER XDDD

I fail to see the problem in spending your time on the actual game instead of boilerplate code. You can even reuse assets if the idea and gameplay makes up for it.

Attached: over-620x298.jpg (620x298, 22K)

no if you use programming socks

Attached: 20180327_194148.jpg (4128x3096, 3.8M)

dwarf fortress is the most complex indie game and probably in general too

Programming socks = unemployement.

It depends on what you mean by game programming. Programming a physics engine, an AI engine, a shader processor ? Yeah, that is pretty difficult. Scripting NPC actions, item loadouts, dialogue, UI? Not really.

Now looking at programming in a broader context: Are any of the previously mentioned difficult tasks on par with say a new cryptography standard? No. That falls into the realm of research, discovery, and invention. There is a common thread connecting the two though. One thing that is becoming more and more prevalent as programming gets watered down with enterprise level software becoming the norm is the amount that mathematics is being ignored. What mean is that when someone refers to the difficulty of a programming task they usually point at the mathematical side of it. Yet we see people today who will argue until their face turns blue that programming doesn't require a decent background in math.

Attached: 1519509260868.jpg (554x439, 106K)

You take your HTR treatment today user?
You really don't want your family know about your special suit for programming?

So this is basically an extension of the "they told me there would be no math" meme? And/or the "math is scaaaaaaaaaaary" meme?

Kek wills dubs for this post

Probably not. There are definitely some difficult problems you can solve if you're writing everything from scratch. Working around language/compiler deficiencies to get sufficient optimization on some things can be a real challenge. Some kinds of game logic or mechanics can be extremely difficult to model at all, much less model at sufficient speed such that the game is playable. I imagine it really ends up being one of those things that spans the gamut of difficulty depending on the game you're making.