Basic

April 15 2020

0 comments

The Game Performance Pillars: The Start of a Journey

By Rubén Torres Bonet

April 15, 2020


__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"6c4de":{"name":"Main Accent","parent":-1},"67ed2":{"name":"Accent Dark","parent":"6c4de","lock":{"saturation":1}}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"6c4de":{"val":"var(--tcb-skin-color-0)"},"67ed2":{"val":"rgb(59, 65, 63)","hsl_parent_dependency":{"h":160,"l":-0.05,"s":0.04}}},"gradients":[]},"original":{"colors":{"6c4de":{"val":"rgb(51, 190, 127)","hsl":{"h":152,"s":0.57,"l":0.47}},"67ed2":{"val":"rgb(59, 65, 63)","hsl_parent_dependency":{"h":160,"s":0.04,"l":0.24}}},"gradients":[]}}]}__CONFIG_colors_palette__

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.

  • FLAT VERSION

  • PBR VERSION

The Game Performance Pillars — The Gamedev Guru

The Game Performance Pillars — The Gamedev Guru

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

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Rubén Torres Bonet

About the author

Born Game Developer, now ready to help you develop better games. Primary programmer on Star Trek Bridge Crew (Oculus Quest), Diamond Dash. Programmer on Time Stall, Catan Universe, Anne Frank House VR, Jelly Splash, Blackguards Definitive Edition. I also worked in minor XR experiences for HoloLens and Vive for clients such as Audi and Volkswagen.

You might also like

>