🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Programming: how to be "so good they can't ignore you"

Started by
64 comments, last by JoeJ 2 years, 2 months ago

@Josh Klint Totally beside the point, but:

Boolean operators, DO have a well-defined, short-cut, left-to-right defined order.

Function arguments don't have a well-defined evaluation order! In fact, some compilers I've used would evaluate arguments right-to-left when passing to a varargs function, but left-to-right when passing fixed-position arguments. (If you look at how the calling conventions worked there, it kind-of made sense why this would be.)

“How to make the computer do what you want, within your chosen realm” is stuff you learn in school, and pick up on while you're a junior engineer. By the time you're a senior engineer, that should be second nature to you, and you start worrying about the real hard stuff: What do I actually want the computer to do?

And, just like in everything in life, more experience in a given area, gives you better instincts for what should be going on. Just like you won't hire a SQL report developer to build firmware for car braking systems, you won't hire a web front-end developer to build particle systems. There's no substitute for actual experience. That being said, if you show interest and aptitude in the general challenges of game development, and skill in software development, you should be able to start as a junior engineer in gamedev just fine. Most places are reasonable about this – enthusiasm plus skill makes up for lack of direct experience at the lower seniority levels.

enum Bool { True, False, FileNotFound };
Advertisement

hplus0603 said:

@Josh Klint Totally beside the point, but:

Boolean operators, DO have a well-defined, short-cut, left-to-right defined order.

Function arguments don't have a well-defined evaluation order! In fact, some compilers I've used would evaluate arguments right-to-left when passing to a varargs function, but left-to-right when passing fixed-position arguments. (If you look at how the calling conventions worked there, it kind-of made sense why this would be.)

You are correct. I assumed the same applied for function arguments.
https://isocpp.org/blog/2016/08/quick-q-why-doesnt-cpp-have-a-specified-order-for-evaluating-function-argum

10x Faster Performance for VR: www.ultraengine.com

hplus0603 said:
the real hard stuff: What do I actually want the computer to do?

But that's easy? Ofc. it's stuff which can not be done by computers yet.

Examples:

Replace static animation clips with some form of character simulation. (my personal favorite)
Replace more manual artwork with better procedural content tools.
Efficient realtime GI. (have not seen this yet)
Spatial audio. (Have not heard that either. I have no PS5, but i doubt theirs works reasonable accurately.)
Replace audio samples with simulation. (well, too expensive…)
Replace voice recordings with speech synthesis. (seriously?)
Dynamic stories (Saw some work on AI generated CYOA games, or something like that. Which turns the above into a serious request.)

I would not ignore anybody achieving progress on those things.
But i'm industry outsider, so my opinion does not count.

Those are all fine wishlist items, similar to what you'd want from a car: “really fast, really safe, really energy efficient, good looking, cheap to buy, cheap to run, lasts a long time.”

Let me know when you find something that matches all of them at once :-) Similarly, the challenge with “what do you actually want the computer to do,” isn't so much the idealized wish list, but the hard choices of spending your available limited development time. What's the highest return on investment, and what are the biggest risks?

enum Bool { True, False, FileNotFound };

hplus0603 said:
Let me know when you find something that matches all of them at once :-) Similarly, the challenge with “what do you actually want the computer to do,” isn't so much the idealized wish list, but the hard choices of spending your available limited development time. What's the highest return on investment, and what are the biggest risks?

Yeah, thus i work only on the upper three of the list, eventually, cause life is short.

But my point is: Those points are no wishful thinking. They (or others i didn't think about) are essential to keep games alive.
To me, in the early days, the biggest excitement of games always was the shown progress. When you played some game, you already knew the next one will look much better, will be more realistic, or whatever they may come up with next.
And even more important: We got new genres, so completely new games, having little in common with older ones.

But since a decade or so, there is mostly stagnation. Most AAA games are sequels of long running franchises, with one like the former. It's bigger, and it still looks a bit better. But the progress is quite subtle.
Mostly, it's even like Horror movies: The first one is good, part 2 and 3 are boring copies. Which compensates the subtle improvements.

Actually it looks like the whole industry is converging to the same tech and gameplay formulas. And they seem overburdened by keeping up their standards. Ever increasing production costs and team sizes, but no more innovation on ground breaking tech or new gameplay mechanics. The more money they make, they bigger they become, the more stale they end up. And nobody admits the issues.

Now you may say ‘The more progress lies behind us, the harder it becomes to achieve more of it’.
But it's not that my given list is impossible to tackle. And new technology brings new gameplay mechanics with it, usually.
We don't want to achieve all points at once. Not at all. One after another is much better, because we need further progress in the future too.

Well, maybe that's just me. But the list is a solid plan and promise. Opposed to the next big things proposed by tech industry, like Metaverse or NFTs, which totally fail to show me nice thing i'd actually want.
Actually i doubt it's just me thinking like this. Just look up random gamer comments.

There is nothing unique to games in what you wrote.

There is a ton of innovation at the small scale, there always has been. They're relatively low cost, and often hobby projects that are janky, usually work okay, and explore new ideas. Building something from scratch that is entirely different from what others have done is almost a necessity to stand out. But even so, most will die in obscurity even if they do manage to complete the project.

There is relatively little innovation at the huge scale, that has always been the case. Consider that AAA games these days are quarter billion dollar investments, and there isn't much room for experimentation. The game MUST be a success. If a company is going to invest 250M, 300M, or even more, they need to be absolutely certain in advance that they're going to at least approach recovering the costs, with the hopes of a much bigger success. They'll certainly incorporate newer tech and gameplay ideas being explored by the smaller projects, but they're risk averse out of necessity.

The big projects converge on products to reduce risk, little more. Modern game engines are treated as middleware today when 15+ years ago they were a luxury only the rich studios could afford, either buying their own or spending untold millions refining their products into an in-house engine. Now you can take advantage of an engine like Unreal that easily represents several hundred thousand work-years of development effort, there's no way an individual can do that, and large companies don't want to make the investment because it isn't cost effective. They could spend the money making a risky engine, or they could spend the money making a less-risky sequel or add-on.

@JoeJ You say you work on the tech, to drive the genre forward. But “working on tech” is exactly what the big, established franchises do. Those are the people who can afford to work on tech, and indeed, who have to work on tech, because nobody will play GTA 6 if it's smaller and looks lamer than GTA 5. It has to be bigger and look better.

Meanwhile, you can innovate in a text-based single-player adventure game written in LISP. Indies, especially from traditionally underrepresented groups, have gotten a lot of mileage out of that in the recent past.

If you want the art form to move forward, you don't need tech at all, you need new ideas about what is fun, what is engaging, and how to reach people. Which is actually a lot harder! (And falls smack in the middle of “what do I really want the computer to do?” :-D)

enum Bool { True, False, FileNotFound };

hplus0603 said:
Those are the people who can afford to work on tech, and indeed, who have to work on tech, because nobody will play GTA 6 if it's smaller and looks lamer than GTA 5. It has to be bigger and look better.

Not sure. GTA4 felt smaller than San Andreas, GTA5 had less advanced character simulation and behavior than GTA4.
That's not meant as critique, but i don't think games must be bigger than their predecessor to be successful.
Rumors about GTA6 say it's something like 600 hours to play? That's just rumors, but if true, i could never finish this game in the rest of my whole life.
I'd rather like a smaller game, but maybe with even better characters than GTA4. Which they might do anyway - i don't know.

hplus0603 said:
Meanwhile, you can innovate in a text-based single-player adventure game written in LISP.

hmm… no. That's not for me. ; )

hplus0603 said:
If you want the art form to move forward, you don't need tech at all, you need new ideas about what is fun, what is engaging, and how to reach people. Which is actually a lot harder! (And falls smack in the middle of “what do I really want the computer to do?” :-D)

Yes, coming up with new mechanics is hard, almost impossible.
Which is my major reason to work on new tech at all, because once you have that, new ideas and options appear just out of nothing. Don't you think?

frob said:
There is nothing unique to games in what you wrote.

Same answer here. There is something unique to games: Games are entirely limited and defined from the technology they are based on, which is mostly software.
Software can always be improved, leading to new options, so to new games. Unlike movies or music, we can have new things simply by giving our software new abilities.
Simple example: Doom, which was just a twin stick shooter and no new game design, but 3D and FP turned it into a new genre.

Agree we do have constant progress, but that's continuous. We need to make an impact, a distinction, which can't be achieved without risk. But in return we might get a new genre, people are excited, money well spent from both sides.
Why is it expected only the small indie developer could do such things? It's not that he has more money to spend and loose, or he would suffer less from failure?
If AAA keeps that risk averse, isn't it to expect that at some point people just turn away, disappointed and bored? Another video game crash, this time not because quality is too bad, but because the offers are too uniform and repetitive?
It would be just great if they would surprise us with some smaller, experimental games between their big franchise releases. They should be able to afford this, and surely would be motivated working on it too.

The market says differently from your opinions. Multi-billion-dollar corporations working on multi-hundred-million-dollar projects do an awful lot of research in the field. Smaller companies figure things out for themselves, too, some investing in professional research and others doing their own internally. Enormous marketplaces exist and have existed for years that all back those views. If you managed to reach a different conclusion than the industry, it is certainly worth asking why that is. Maybe you're missing the mark, but maybe you did manage to see something that hundreds of corporations and thousands of skilled professionals have missed.

Maybe you have discovered something. If so, please feel free to break the mold, invent a new genre of games and make a fortune. It's certainly possible, and hobby developers win the game development lottery occasionally. I've worked with a few people who became multimillionaires as a result. It's not a good bet, but it does occasionally happen.

What are the top 10 things that all graphics programmers must know?

This topic is closed to new replies.

Advertisement