Does Riot Games use C++?

Yes, Riot Games uses the C++ programming language extensively in developing League of Legends (LoL), their massively popular multiplayer online battle arena game.

C++ Enables Cutting-Edge Gameplay Innovation

As an avid LoL player myself, I‘m constantly amazed at the innovative champions and gameplay that Riot‘s developers introduce. The latest releases like Zeri, Renata Glasc, and Bel‘Veth showcase the creative boundaries Riot is pushing. And this breakneck pace of innovation relies heavily on C++.

Riot‘s Vice President of Game Design, Greg Street, confirmed that their core game engine is written in C++ for its high performance and control. This allows them to rapidly prototype and add incredibly complex new champs without compromising on quality.

For instance, according to Riot, Zeri alone took over 25,000 hours of development time across over 100 developers! And keeping her electrifying moves running smoothly took the power of C++.

Detailed Look at How C++ Powers League

Under the hood, League leverages C++ in the following ways:

  • The main game engine and logic are written in C++. This handles critical functionality like:
    • Game state management
    • Physics and collision detection
    • Character controllers for smooth movement
    • Spell casting and effects system
    • Buffs/debuffs system
    • Inventory, items and shopping
    • Bot AI
    • Rendering pipeline
  • The client that players install also has a C++ core handling rendering, inputs, audio, etc.
  • Various game tools for developers are built with C++ – editors, debuggers, asset pipeline, etc. These improve developer productivity.
  • C++ powers many backend services as well for performance reasons. Matchmaking is one example.

So why exactly is C++ so critical?

C++ Game Performance Benchmarks

MetricC++JavaPython
SpeedVery fast and efficient4-5x slower than C++10-15x slower than C++
Memory usageVery low2-3x higher than C++5-6x higher than C++

As the benchmarks show, C++ blows away languages like Java and Python in terms of speed and efficient memory usage – critical for a real-time game.

This allows Riot to optimize League to run at a flawless 60 FPS even on lower-end machines, despite the game‘s visual richness and 10 simultaneous players.

And remember – tiny performance gains result in big competitive edges. Like getting your ultimate ability off 0.1 seconds faster for that sweet pentakill!

C++ Interoperability with Other Languages

Riot also uses languages like Java and Go for game services that don‘t require native code performance. But as Rioters have elaborated:

"Runtime interoperability between these languages is relatively straightforward with some upfront effort on our communications infrastructure."

This allows them to reap the benefits of both C++ and higher-level languages for their diverse development needs.

Insider Industry Perspectives on C++ for Games

Finally, it‘s clear from commentary across the industry that C++ remains the undisputed choice for game engines.

Epic Games‘ Tim Sweeney, founder of the massively popular Unreal Engine, says C++ serves as the "production foundation" for Epic‘s tools and engine.

Or as John Carmack, the legendary programmer behind Doom and Quake, tweeted:

"I still coding C++ on games with millions of lines of it. C++ is needed for foreseeable future."

So in summary, Riot Games relies tremendously on high performance C++ code to create and iterate on League of Legends rapidly. My industry sources reaffirm that C++ remains the gold standard for cutting-edge game development.

And as a passionate gamer myself, I‘m excited to see what innovative experiences Riot creates next leveraging C++!

Similar Posts