April 15 2020

The Game Performance Pillars: The Start of a Journey


What’s going on with The Gamedev Guru? What can you expect from this blog in the game performance scene?

Here, let me tell you what’s cooking… And what I have planned for you.

What Happened This Weekend?

I got very upset, I admit…

And here’s why.

This weekend is going to be awesome, I thought.

Just pizza and videogames.

After spending 7 years waiting on a new release, I finally got my hands into Mount & Blade II: Bannerlord.

I started playing on a Friday after work… and failed the tutorial.

What a great start!

A few hours in, I was fully immersed into the medieval setting.

My speciality? Delivering sheep to other villages to earn enough denars to hire the troops no one had any use for.

The next moment when I regained real-life awareness, I looked at the window and somehow it was bright… unexpectedly.

Shit, it’s 5AM, I cursed.

I sneakily went to bed, trying my best not to wake up my girlfriend (she’s usually quite opinionated about sleep interruptions).

I had the perfect excuse… ”I was doing game development research.”.

Luckily, I didn’t need to use it. I’m pretty skilled at being sneaky, apparently.

The next day (actually, the same day) I played a few more hours, but…

It didn’t go as well.

I was excited to start my first 500+ battle.

The game was not performing well.

You know, I can handle sub-30 FPS games (after all, I work optimizing VR titles that often run below that).

But there’s something I cannot bear…

Game Freezes

Every time I raised the bow to shoot an arrow, the game froze for almost 3 seconds, making me miss all targets.

Take a deep breath, Ruben.

And so I took a deep breath and decided to try the sword instead.

As soon as I charged on my horse to an enemy and prepared to deliver the fatal blow, it froze again for a few seconds.

F*** it, I’m outta here.

Angry, I quit the game.

That’s not how an excellent weekend should end.

NO!

Low-performing games creates a frustrating sensation that you MUST avoid at all costs in your games.

  • _Low performance breaks immersion_
  • _Low performance leaves players frustrated_
  • _Low performance_ makes players refund the game_

Really.

Performance matters so much for the success of your game. Don’t neglect it.

We all have the same goal, right?

We do our best to publish games that we can be proud of. A game that players will love playing. And a game that sells.

So after so much rambling, here’s my point…

I’m about to reveal to you the plan I developed to help you optimize your game.

The Plan — The Game Performance Pillars

Over the weekend, I came up with a concept for The Gamedev Guru that I call The Game Performance Pillars.

Here’s a glimpse of this concept.

The Game Performance Pillars — The Gamedev Guru
The Game Performance Pillars — The Gamedev Guru (PBR Version)

Here’s how it works:

  • Do you want your game to be a success?
  • Do you want to avoid a big chunk of the 1-star reviews?
  • Do you want to work more on the features your players want, and less on the features they don’t care about?

For all of this, you need to achieve game performance in the broad sense.

That includes loading times, development speed and ​working on what the users want.

So, here’s the deal…

As a subscriber of The Gamedev Guru game performance blog, this is what you can expect to learn each week in the upcoming months:

[Week 1] Professional Performance

I’ll share with you performance tips that will make you a better game developer:

  • Modern C#: under-utilized, yet powerful C# features
  • Build Pipelines: automate your builds, optimize your build times for lightning-quick iterations
  • Cloud Delivery: reduce the overhead of delivering updates to your players, sell your DLCs
  • Analytics: find out what works to avoid investing time on what doesn’t
  • Tools: profilers, debuggers, scripts

[Week 2] CPU Performance

I’ll show you some of my secrets behind running high-performing gameplay mechanics that your players can enjoy:

  • Main Thread: gameplay systems
  • Render Thread: reducing setpasses and draw calls, mostly
  • Audio System
  • Job System
  • And finally… DOTS: yes, I’ll start posting about it soon

[Week 3] GPU Performance

Are you into delivering top-notch, high-performing visuals? Then this is for you.

  • Shaders: geometry, vertex, fragment programs
  • Overdraw
  • AR/VR-specific optimizations

[Week 4] Memory Performance

One of my all-time favorites and yet most ignored game performance area.

  • Reduce loading times
  • Improve memory usage
  • Avoid random crashes due to memory problems
  • Achieve tiny build sizes to improve your game visibility in the stores

[Bonus] Live Q&A on Game Performance

Once a month, I’ll invite you by e-mail to join the Q&A where you’ll get the chance to ask your most burning questions and help me fill the uncomfortable silences.

As a meta-bonus, you’ll see a game developer running his first Q&A without prior video experience.

So, What Now?

How does that sound to you?

I’ll stick to this blogging format for a few months and then see how it goes.

There’s one thing I’d like to ask you, though…

I want you to join us in this journey towards game performance mastery.

And here’s the best way to do it: Get your FREE Unity Performance Checklist Lite.

Why?

Because I’ll use it as my guide to create content and to run our Live Q&A.

And remember? I want you to join us.

Oh dear, I’m looking forward to the next week already…

~Ruben

The Gamedev Guru Logo

Performance Labs SL
Paseo de la Castellana 194, Ground Floor B
28046 Madrid, Spain

This website is not sponsored by or affiliated with Facebook, Unity Technologies, Gamedev.net or Gamasutra.

The content you find here is based on my own opinions. Use this information at your own risk.
Some icons provided by Icons8