Optimizing my Game so it Runs on a Potato

preview_player
Показать описание
In 6 months I've taken my Godot game, Bloodthief, from 9 fps to 60 fps on this potato of a computer. Here are all the things I did to make that happen!

This is a devlog for Bloodthief, the indie game I'm working on inspired by Quake, Hotline Miami, Ghostrunner, and ULTRAKILL. In this devlog I talk about Optimization!

Leave a comment below if you have any feedback on the game or questions about my process!

--------------------------------------------
Chapters
0:00 Intro
1:20 Occlusion Culling
3:03 Baked Lighting
4:27 Optimizing Enemies
7:17 Shader Compilation
13:40 Graphics APIs
17:22 Rapid Fire Optimization Tips
18:14 Ending & Results

#devlog #gamedev #godot #indiegame #indiedev
Рекомендации по теме
Комментарии
Автор

Shader loading sounds are fucking hilarious

theridonculesknights
Автор

You should absolutely have the loading screens cycle through different titles like "Loading Game"
"Compiling Shaders"
Just so one of them can say "Beating Level For You" or something in reference to a replay being played in the background to generate the shaders

Queue
Автор

12:36 PLEASE MAKE AN EASTER EGG TO ENABLE THE SOUND AGAIN

"It sounds like the game is frantically cleaning a room" Is waaay too hilarious

Markty
Автор

Optimizing is a lost art at this point, devs just go nuclear option assuming everyone has a literal fusion reactor in their basement powering their RTX 9990 Hyper X card from the future.
Kudos for doing it and for the video in general, good stuff.

TertorForss
Автор

I wish more devs thought like this. "My game looks retro af, so it should be able to run on potatoes"
Tons of indie games with retro aesthetics don't seem to care for optimisation even if it's a simple shooter.
Worse yet sometimes they'll force Unreal Engine's Lumen to achieve basically raster graphics we've had for decades.

I guess it's their vision and all, but it seems dissonant with the graphics of the game how you need newer cards to run the thing.
Glad you're going this route.

awsomebot
Автор

This is the best kind of devlog, gets you excited about the game and also teaches you something about game dev!

rych
Автор

"Light baking can sometimes take a long time, think on the order of minutes."
Literally the best advertisement I've heard for Godot as someone whose main engines up to this point have been Source and Unity.

wolfclck
Автор

PLEASE add an Easter egg so that we can enable to the audio or visuals for the shader comp loading screen, that’s hilarious😂😂

aiden_obj
Автор

Okay, this is ridiculously genius and funny, like "My problem was, that shaders compiled on my machine since I've beat my levels myself. How do I fix it for new players? Okay, guess I just have to beat the level for them first myself too, every time." Like someone said in comments, it would be actually very fun option to just turn on preview of shader compilation sequence.

PS: it's really cool to see your devlogs everytime, both interesting and very informative for other dev who just begin to do yheir stuff.

darkvulpes
Автор

12:40 NO, KEEP IT! Maybe half the volume or something but this is hilarious and exactly in the spirit of older games when devs were allowed to have fun with their projects, adding silly elements in "irrelevant" parts of the game, just for the fun of it while solving problems like this. That always adds so much charm to a game and makes it feel more alive.

janetjane
Автор

I ran into the same problems with OpenGL and Vulkan when I launched my game on steam. I ended up just adapting all of my visual effects to look mostly the same between OpenGL and Vulkan and then exported both versions and set them as different launch options on steam. Imagine my panic when I launch the game on Steam and I immediately get bug reports on how the game just doesn't lauch 😭

Xeloph
Автор

12:36 "The game franticly trying to clean it's room" is such a perfect description of the sound.

PontifexMonarka
Автор

Chapters
0:00 Intro
1:20 Occlusion Culling
3:03 Baked Lighting
4:27 Optimizing Enemies
7:17 Shader Compilation
13:40 Graphics APIs
17:22 Rapid Fire Optimization Tips
18:14 Ending & Results

Circle_boi
Автор

Unreal Engine game dev here - in principle you can select your renderer in the project settings - DX11/DX12/Vulkan. The engine uses a renderer abstraction layer, allowing the engine to call render commands without worrying about the implementation, and the Render Hardware Interface (RHI) layer converts it into commands in the chosen rendering api. That said, it’s often it’s easier to pick one and stick with it, as some material functions aren’t universally supported so increases the QA time significantly!

ninjafish
Автор

Your shader compilation solution is the embodiement of what gamedev feels sometimes, you look for the smart solution who will very elegantly solve your problem, but instead you can just brute force the thing in 5 minutes and get the same result !
I loved it !

davdav
Автор

I live for developers talking about all the ways they optimize their code. Also you should keep the sound on for compiling shaders. It is really really funny

candybluebird
Автор

Love the progress on this game. The amazing fact that this game have only two levels, yet people so invested in it

StibletoAdept
Автор

Hello, speedrunner here.
I haven't watched the whole video yet and I'm in a rush but during the AI section you mention adding a random number to the AI's pathing tick cycle. Please seed this random number generator to the same seed everytime or the tiiiinnnnyyy amount of randomness this will cause will certainly screw TASes (and maybe super high level speedruns) forever.
Thanks :P

Joshimuz
Автор

16:33 why not just make an option to run on both? plenty of games (e.g. valheim) do this, and it would be way better for someone to play your game with broken effects than not be able to play it at all

chambling
Автор

it's so cool having retro style indie developers every corner you turn, and it's especially cool when you have geeks like you really much into these stuff, sometimes big companies needs to remember there's not just them in the show, keep it up man :)

sklungofunk
welcome to shbcf.ru