Ask HN: I'll die about 2068, will most games still be written in C/C++?

18 points by slurppurple ↗ HN

16 comments

[ 3.1 ms ] story [ 50.4 ms ] thread
With the move to mobile gaming, very possibly. Programmer convenience may not be as important as battery power.
It's an issue even with console gaming, where noisy fans, and fire risks on carpet floors hamstring advancement.
Most games aren't written in c/c++ today. Maybe most AAA games are. Most games are written in various engines that use other languages whether it's c# in unity or the language in game maker etc...
Yeah, not really, the engine aka Unity or Unreal is still written in C/C++. Also, any game that requires performance that doesn't use one of these pre-made engines such as Factorio or Prison Architect, still requires C/C++ at it's core, but can use Lua or something for gameplay.
> Yeah, not really, the engine aka Unity or Unreal is still written in C/C++.

That's kind of like saying that most websites are written in C/C++ because that's that the browsers are written in.

Exactly. The question is what language at game developers working in. I mean, at the end if the day, everything's machine code.
I'm using C++ for my mobile game. It's a 3D game that has to run on low-end devices and still get decent performance.

Unity just didn't cut it at all.

10s of thousands of shipping unity games suggest the problem is not unity. Besides, most games are GPU bound.
I'm actually curious then about examples of production high-performance 3D games developed using Unity that can top 30 FPS on 2012-2013 Galaxy S3 Adreno 320 spec hardware while pushing 200k triangles? I looked a long time, but couldn't find any.

Unreal Engine? Yes, and Unreal Engine actually uses native code and gives you a lot more flexibility "under the hood," given you have their actual C++ source code to work with. Before I completely gave up on Unity (and believe me, I tried my best to like Unity for six months given the relative ease in finding industry hires), I had a 20+ pile of unresolved bugs in their issue tracker.

Unity has an experimental alpha LLVM compiler that translates C# IR to native ARM7 machine instructions (in the most roundabout inefficient fashion with an intermediate step that translates CIL IR to C++ _first_ with their very own IL2CPP BEFORE running through another compiler), but it was buggy as shit when I tried it in early 2016 (to the point where it was unusable).

If you can't see how interpreted garbage-collected bytecode can become CPU bound (look at Minecraft, for a great example) -- especially on a lower power mobile ARM7 processor -- then quite frankly, I'm wasting my time trying to reason with you.

Regardless, I have gathered extensive hard data in the form of draw calls, memory usage, CPU profiling, thermals, power draw, etc. actually supporting my position. So far, your only recourse has been issuing ad hominem attacks.

You must work for Unity or something, because I can't figure out too many other reasons why somebody could be this obtuse.

Most games with good graphics. Yes. There is no alternative.
No, because the bottleneck for most games is typically GPU performance, with a side of memory allocation. There is no magic dictating that every game needs deep instruction-level massaging, and many of the interesting bits that do need it can be turned into library code. The stack for a high performance game of 2068 might still be "low level" relative to other applications, but it has as much reason to shift towards a higher average level of abstraction as any other piece of software.
well that's 52 years from now, and for some perspective, FORTRAN was released 59 years ago. I don't think it's unreasonable to think that a paradigm shift will happen in half a century.
No.

Most games won't be written.

Elaborate! Do you mean AI or visual coding and editing tools?
no, no more games will be written after you die. At least from your perspective.