eli5: For games that are in development for long stretches of time (like cyberpunk – 8yrs), how do developers deal with advancing technology?

428 views

Or are games like Cyberpunk or Red Dead just made with early-mid 2010’s tech?

Edit: to clarify, development didn’t actually start 8 years ago, but rather the game was announced 8 years ago. Thanks to the commenters for letting me know!

In: Technology

19 Answers

Anonymous 0 Comments

Very generally, badly. It is pretty inconceivable for a game to be in planned development for 8 years – partly for the reason you mentioned, the technology keeps improving and there is no visibility that far in the future.

A designer might have a game concept stored in their mind or some file for years waiting for hardware/software to mature to where it can be realized but actual development more than 3-4 years is very unusual.

It is nearly a certainty that anything with an 8 year development timeframe ran into very very very serious problems.

Anonymous 0 Comments

At this point, technology doesn’t actually change very much. The industry has seen enormous changes, but currently nothing like that is happening.

Take for instance that in the times of NES consoles and such everything was sprite based. Everything had to be made from little 2D blocks of a fixed size. When 3D was introduced all of that had to be completely thrown out — the way you do the graphics is different, the way the world works is different, the way controls work are different. So definitely, at times like that, it was hard to keep up. If you spent years polishing up your old school 2D game, you might have found that by release day 3D had exploded and your stuff now looked old, and redoing everything for 3D would be impossible without starting from scratch.

But we seem to be mostly done with this kind of thing. The most similar thing to that going on today is VR, which while not that different from 3D games does have its own peculiarities and requirements that can be challenging to adapt to. But it’s still much less jarring than the shift to 3D was. Also, console hardware is far less “special” — modern consoles are pretty much standard PCs, rather than the extremely specialized devices they used to be with various weird and very manufacturer specific hardware.

Other than VR, which as far as I know Cyberpunk doesn’t use, we’re mostly adding incremental improvements: faster CPUs, faster video cards, faster storage, plus optional features like raytracing. Those are easy to adapt to. Make bigger textures, more complex assets, fill the world with more people, etc.

Anonymous 0 Comments

In my experience, a game our team was working on had to be either scrapped or rebuilt from the ground up when a major version of Unity came out. We had already spent a couple years on it and it wasn’t completely ready. Every day we fixed 2 bugs, 5 more showed up.

It seems like everyone working on Cyberpunk knew it wouldn’t be ready but they had a deadline and it needed to be met.

To answer your question, what developers do is they start over with new software or scrap the project if they can.

Anonymous 0 Comments

In many cases a framework like Unity or Unreal is used. In general the frameworks keep up with the changes so the game developers don’t need to focus as much on that. They may need to implement new features to take advantage of some of the advancements, though.

Anonymous 0 Comments

From experience of working in it, they will either tackle it by building on an engine that is extensible and can grow, worry about that problem when it happens, build on an engine where assets are easily portable to newer versions or in extreme cases entirely start over. I’ve personally seen the last one happen.

Anonymous 0 Comments

In general games are done ahead of their time and when all the content is done it’s optimized to work on current generation of technology. For example almost all 3d models in the game are done in very high quality and then details are lowered and/or faked for version used in the game. If during the development there is a significant leap in technology you only need to make new version of in-game model not totally new model.

Like others have said CP2077 was probably done on in 4-5 years and before that it was mostly on paper. It’s worth mentioning that sometimes when game takes more than 3-4 years it means that initial stuff went to trash or at least most of it. So you can say that game was in production for 8 years, and it’s somewhat true, but the thing you are playing was actually made in 3-4.

Anonymous 0 Comments

Graphics are usually one of the last things done. Look at early builds of modern games and they’ll look like something from the PS1 era.

Anonymous 0 Comments

I actually asked my friend who works in game dev this same question the other day! She told me that for a big-budget AAA game like Cyberpunk that’s developed on a proprietary engine, the engine and they code they write for it are specifically designed in such a way that they can continue to do rolling updates throughout the development process without needing to re-write too much code. Game devs also get the specs for new hardware before it’s announced to the public, so the Cyberpunk devs were able to build their engine for the PS5 before the PS5 even officially “existed.”

She also told me that for smaller or indie games that are developed on non-proprietary engines like Unity, it’s more common that the game *is* technologically behind the times, just like you said here; but apparently it’s not too difficult to update your code to keep up with rolling tech updates if that’s something that’s important to you, so some studios do put in the extra effort to keep their games as up to date as possible throughout development.

Anonymous 0 Comments

Interfaces/APIs or abstraction layers.

Everything talks to the engine via an interface or api. A layer between what you need for the game: textures, movement, physics calculations etc

You want to draw a circle so you call drawCircle() method in your code. Now you don’t care how the engine draws the circle but even more importantly all the code that the team uses is written so that they don’t have to.

The layer that actually does the drawing of the circle can be totally rewritten if need be but everyone else who uses it wouldn’t even know. Just update their dependencies.

Of course there are the bugs you have to deal with and the occasional deprecated call but other than that you start and finish doing the same work.