High Definition Standard Definition Theater
Video id : 8_5Zrgek1p8
ImmersiveAmbientModecolor: #584db8 (color 2)
Video Format : (720p) openh264 ( https://github.com/cisco/openh264) mp4a.40.2 | 44100Hz
Audio Format: 140 ( High )
PokeEncryptID: 73e3c613e16929b962477c64a8f342f42cc37f4200b233f39a41e12f66513ceed9a7b8c2aa9d9e2e7a29f3c64f10aaf2
Proxy : eu-proxy.poketube.fun - refresh the page to change the proxy location
Date : 1732288292496 - unknown on Apple WebKit
Mystery text : OF81WnJnZWsxcDggaSAgbG92ICB1IGV1LXByb3h5LnBva2V0dWJlLmZ1bg==
143 : true
Game Dev Secrets: Increase your FPS by ten thousand percent! #indiegamedev #gamedev
 60 FPS video
685,781 Views • Jul 27, 2024 • Click to toggle off description
Follow Isadora's Edge on Kickstarter: www.kickstarter.com/projects/inboundshovel/isadora…
Wishlist Isadora's Edge on Steam: store.steampowered.com/app/3125320/Isadoras_Edge/

(you can have a global queue that controls which frames the algorithm runs on, that way you avoid big spikes if multiple enemies just happen to line up and recalculate their pathfinding on the same frame! but honestly this trick is such a lifesaver man, you can write sloppy messy unoptimized code, then just have it only run every, like, 2 or 3 frames and it makes development way faster for prototyping. plus, then if you do optimize the code later on, you'll already be all time sliced up, so you'll be able to absolute COOK those framerates lmao)

The game that I'm developing as an indie game dev is called Isadora's Edge! A 2D Pixel Art platformer game, that I'm developing in the Godot Game Engine! If you're new to Godot or have any questions about Godot or game dev in general, feel free to ask me! #indiegame #gamedesign #godot #godotengine #gaming #gamedevelopment #pixelart #gameengine
Metadata And Engagement

Views : 685,781
Genre: Gaming
License: Standard YouTube License
Uploaded At Jul 27, 2024 ^^


warning: returnyoutubedislikes may not be accurate, this is just an estiment ehe :3
Rating : 4.954 (704/60,760 LTDR)

98.85% of the users lieked the video!!
1.15% of the users dislieked the video!!
User score: 98.27- Masterpiece Video

RYD date created : 2024-11-22T15:03:28.222148Z
See in json
Connections
Nyo connections found on the description ;_; report an issue lol

450 Comments

Top Comments of this video!! :3

@InboundShovel

3 months ago

Wishlist Isadora's Edge on Steam!
store.steampowered.com/app/3125320/Isadoras_Edge/
And you can follow the Kickstarter here: www.kickstarter.com/projects/inboundshovel/isadora…

Thank you!

380 |

@hamzamotara4304

3 months ago

Fun fact: Celeste uses this method for spikes hit boxes, and you can use a glitch or external tool to ignore 2/3rds of spikes. Don't forget failsafes!

4.1K |

@jeghamjegham

3 months ago

The much bigger optimization is to choose a completely different approach , on a low end machine you should be having hundreds of enemies pathfinding at once without dropping below 60 fps , especially in a 2d game, so the problem here is the algorithm itself and not the frequency, but i understand this is just an example

2.6K |

@Nemofication

3 months ago

This is a very good example of code that should never be related to framerate but rather a fixed-time update function like the ones physics also ought to use.

184 |

@להבצור

3 months ago

Another youtuber (blargis) also added random offset for each enemy path calculation in his game to spread out the load

570 |

@TheKevDev

3 months ago

My game has about 500 enemies pathfinding on screen at a time. The pathfinder updates every 6 frames and I use multithreading and ECS to lessen the load on the main thread and reference the data more efficiently.

I still have some optimizing to do, currently creating and destroying enemies and I saw your video about instantiating all objects on start then disable and renable when needed but I feel like that takes the same amount if not more processing than creating and destroying.

God optimization is a real puzzle sometimes

162 |

@lenderjun

3 months ago

I've been seeing these shorts for the past few days and I very much looking forward to your game. Great way to advertise it❤

6 |

@nokkturnaldev

3 months ago

This is a good technique (though as others have pointed out, it should be done in a fixed time step), but it isn't time slicing. Time slicing involves doing work over multiple frames, normally using threading / jobs.

8 |

@sepiasmith5065

3 months ago

SO CUTE my god i LOVE your art!!! the owl looks like a combo with a cat!

11 |

@dipperdomes7184

3 months ago

your game art style is such an eye candy 🥺❤

3 |

@TidanOfc

3 months ago

You reminded me to limit my player stat bar updates to once every 30 frames

38 |

@Speiger

3 months ago

Another optimization you can do is have a dedicated pathfinder thread. That way you can queue up as many pathfinding requests as you want and it won't hurt FPS. Instead the mobs will react slower if the pathfinder is overwhelmed.

This is something oxygen not included does for example.


Another thing you can also do is for the second pathfinding is not start at the position you are at but like halfway through it or 2-3 tiles of movement that way you also support that players can fakeout the AI and it isn't magically going to see what you do before you do it.

Edit: another thing you could do is a reverse search with dystars Algorithm. That way you only have 1 pathfinding check no matter the enemies and they all can just ask the player where they need to go :)
(Its a floodfill search that gets crazy efficient if you have multiple targets)

22 |

@extranji

3 months ago

Love the little Owlboy cameo ❤

17 |

@allegro6104

3 months ago

Kind of unrelated to the actual topic but i finally figured out what your game reminds me off. it's the Megaman Z series! hyped to see more of it eventually

7 |

@peezieforestem5078

3 months ago

Instructions unclear: now my game lags every 15 frames.

13 |

@graydiation

2 months ago

Looks great! I can't wait to see what you've done.

|

@keldencowan

3 months ago

I know this about time slicing and not pathfinding, but it this case you can probably use steering behaviours without any pathfinding at all! Fliers are usually found in big open spaces rather than tight mazes. So simply casting a shape towards the player and avoiding obstacles that intersect it can often do the trick. If it doesn't, try combining it with portal based waypoints or very course grid DFA. Remember to use string tightening on the result!

1 |

@jarankennedy762

3 months ago

I can’t wait for this game to come out. Wishlisted and watch all of these shorts that come to my feed-it looks great, super excited to play it. Keep up the great work!

|

@TaksharyaSinghJasrotia

2 months ago

This is one thing that I recommend everyone whenever I see someone put everything in their update/process

|

@MightyDantheman

2 months ago

Just make sure to have each one checking on different frames so that you don't have a lag spike every 15 frames. You also only need to check the ones that are in frame or close enough to be relevant. You can also use 2D voxel pathfinding which may be more performant depending on the size of those voxels. There's probably some other methods too, but that's off the top of my head.

1 |

Go To Top