Optimizing my Third-Person Souls-Like Game | Devlog 5

  Рет қаралды 4,254

Snaiel

Snaiel

Күн бұрын

Пікірлер: 55
@Snaiel
@Snaiel Ай бұрын
Shoutout to www.youtube.com/@Blargis3d for the sick devlogs! I'm excited to work on the project some more and make the boss mechanics, stay tuned!
@freezafeesh9251
@freezafeesh9251 Ай бұрын
Man you've made me realize I'm doing this all wrong. You're building a really solid foundation. I played the demo and it was quite good - adding sfx would take it to the next level. Well done and good luck!
@aslkdjfzxcv9779
@aslkdjfzxcv9779 Ай бұрын
looks like you're having fun.
@darknetworld
@darknetworld Ай бұрын
I thought it was easy until I did the work. It was not easy task and did not realize that you need debug in where it deploy for testing. So no rush else you end up create more mistakes.
@ChristopherCricketWallace
@ChristopherCricketWallace Ай бұрын
You're going deep into the source code. YES. YES!
@SmartApe25
@SmartApe25 Ай бұрын
you can use state-machines for animation but you wont get smooth transitions between animations but you can make animations so that they blend when played in order(same starting key frames).
@Kry0000
@Kry0000 Ай бұрын
Very informative video, thanks for sharing. Will keep this video saved for future reference. Keep up the good work, it's looking fantastic.
@PatinaGames
@PatinaGames Ай бұрын
Oh i remember you! I’ve been working on my own thing like what you are but ended up spending way more time on graphics… and that’s partially why i abandoned godot for unreal… almost got n64 graphics finished and i might be able to get 200 fps on retail on steam deck cus im hitting around 300 right now. best of wishes to you firend! Im commenting at the beginning of the video so im excited to see what you did to optimize your graphics 🎉 EDIT: great video, all that talk about animation makes me worry about all the work i put into optimizing my materials and making a custom lighting engine on top of unreal for retro vertex lighting. Glad i re found this channel. Subbed
@gamejamreject
@gamejamreject Ай бұрын
awesome trouble shooting that raycast code is def a tricky thing but glad you found it, very good learning lesson.
@taazered
@taazered Ай бұрын
thank you for the knowledge
@robinwibom
@robinwibom Ай бұрын
Really enjoyed the video! Love the feel of the game, I will definitely stay around for future videos!
@Snaiel
@Snaiel Ай бұрын
thank you :D
@Casuahly
@Casuahly Ай бұрын
KEEP IT UP
@Ironfist528
@Ironfist528 Ай бұрын
Underrated channel. Would love more games that cover the niche that Sekiro does.
@freezafeesh9251
@freezafeesh9251 Ай бұрын
To handle the pop-in of the enemies you can do the "AAA" climb in a tight space between 2 rocks to hide the loading, like Jedi Survivor
@Snaiel
@Snaiel Ай бұрын
thanks that's a good idea!
@FrozenInIce
@FrozenInIce Ай бұрын
you probably could remove visibility if they were out of your view and make it move in the path with out needing to be around it as that is what other games do.
@itsafish4600
@itsafish4600 Ай бұрын
cool
@FrozenInIce
@FrozenInIce Ай бұрын
check vsync of if on it locks fps to the screen refresh rate while still allowing frame drops.
@maarten9222
@maarten9222 Ай бұрын
You can probably improve your path finding situation by determining the update rate based on the distance to the player. If an enemy has to walk a long distance you probably won't notice that it only updates it's pathing every other second. When they get close you can gradually reduce the time between updates.
@FrozenInIce
@FrozenInIce Ай бұрын
the csg meshes hurt performance a lot compare to normal meshes. and not calling effect that spawn when you have them like foot step dust or hitting sparks. My game does 240 fps in its plane a outside mesh with outside colider (the mesh imported from outside) 800 multimesh simple mesh for static grass and 2 characters and the player as well as the weapon collecting and outfit collecting. it was getting 500+ fps before I put special attack effects into memory via preloading as it was dropping frames in the 100s and the lag caused by it was unbearable. I tested my world mesh that is 50000 verticies and it worked fine with out needing to bake any thing I don't know if it will work the same in linux but in windows it works 200+ fps like aloot of other games I play that doesn't have vsync forced or frame limited so I think it works well as it was running the same with a prototype world mesh that had many colors lik 5k colors it was doing the same frames so I don't know what may be your issue but it may be the effects you have as it was consistent dips there like the flame particles were too much.
@FrozenInIce
@FrozenInIce Ай бұрын
old prototype was running on i5 7, 1050ti, 8gb ram.
@tnt3t
@tnt3t 2 күн бұрын
I don't know if you'll ever see this, I'm a beginner who started game dev, recently I'm trying to make my first own game, a plane game of sorts, where the player can only be controlled along the y-axis, and the enemy can only follow along the y-axis as well (while bullets are fired from the enemy along the x ofc), but the enemy can only do so in certain intervals, • the enemy moves for 3 seconds, during which he attacks •after which he stays idle for 3 seconds So to implement these I used a simple state machine With IDLE and FOLLOW (defined them using an enum) Attached a timer to the enemy My code looks like this: Extends Charbody Enum State {IDLE, FOLLOW} Var state = State.IDLE @export var speed : ... @onready var player = reference to player @onready var state timer = reference to timer node Func _ready: state = State.IDLE state timer. Start(3) Func _process(delta): if State == state.FOLLOW: var direction = sign (player.global_position.y - global_position.y) Velocity += direction * speed * Delta Func _on state timer timed out (): If State == state.IDLE: State = state. FOLLOW state timer.Start(3) elif state == state.IDLE: State = state. IDLE State timer. Start(3) And the enemy doesn't move at ALL, when I attached a print to all the methods individually, they seem to be working as intended Another thing is the reference to my player scene looks funny something like: $".../Planey" "Planey" is my player scene Please note I'm a complete beginner to programming as a whole, So I know for a fact there's a problem from my code, chat gpt seems to make it worse
@koonagueroagnis8174
@koonagueroagnis8174 27 күн бұрын
Obviously it would be more work but you could manually make transition/blend animation between states and use a state machine for animation.
@troybeardjr
@troybeardjr Ай бұрын
Idk if it's been stated but you could bake the texture from the high poly to the low poly
@jpsza
@jpsza Ай бұрын
Great vídeo! Any chance of subtitles?
@AlfadoPujaKusuma
@AlfadoPujaKusuma Ай бұрын
why not using unreal for 3d game?
@Snaiel
@Snaiel Ай бұрын
I don't need all the capabilities of unreal. Godot also seems more pleasing to work with if that makes sense.
@tjmixmasta
@tjmixmasta Ай бұрын
Subscribing! This is 100% up my alley!
@TIkiDev-17
@TIkiDev-17 Ай бұрын
can it be played on Android phones?
@TIkiDev-17
@TIkiDev-17 Ай бұрын
I hope it can
@Snaiel
@Snaiel Ай бұрын
No, sorry :(
@platonvin1022
@platonvin1022 Ай бұрын
i never worked with godot (tried it, but its too hard), but i do not understand how the problem even exists if it is gpu-side, than it is stupid, and you should move per-entity computations to cpu (i do not see any indication of it being gpu side, but it might be just how godot profiler displays things) if it is cpu-side, than i am very confused with perfomance. Try to search for optimization options in project build settings. I am pretty sure single core of 10 yo cpu can handle thousands of these btw, in addition to "on screen" there is probably some sort of occlusion culling (e.g. if entity is fully visually blocked by wall) that you (probably) can query somehow and you also can slow down (skip ticks) for entities when they are far away
@ScoutOW2
@ScoutOW2 Ай бұрын
Id love for a discord server or even if youre able, maybe have open DMs? I got a looot of questions about the project id like to ask, cause im making my own game and looking into how you did things in yours and I just dont know where anything is. Like for example i cant find the part that detects closest enemy to the center of the screen.
@ScoutOW2
@ScoutOW2 Ай бұрын
I can also help with certain things if needed!
@Snaiel
@Snaiel Ай бұрын
Next video I’ll probs announce a discord server. You can add me in the meantime @snaiel
@ScoutOW2
@ScoutOW2 Ай бұрын
@@Snaiel Added! :)
@abdullahnaim10
@abdullahnaim10 Ай бұрын
Are you using visual scripting? I dont know much about it but does that make the cpu do more work to process visual scripts over languages like c#/c++
@Snaiel
@Snaiel Ай бұрын
No, I'm using the built-in language GDScript. The visual nodes in the video are for the animation tree. But I think visual scripting does tend to be less efficient in terms of processing than code.
@abdullahnaim10
@abdullahnaim10 Ай бұрын
@ ohh didn’t know those nodes hurts performance as well. I also just googled and found gdscript can hurt performance as well when it matters.
@Snaiel
@Snaiel Ай бұрын
oh yeah some people say to use c# or c++ when performance matters a lot. But gdscript is so simple and convenient it’s great for scripting for most stuff.
@abdullahnaim10
@abdullahnaim10 Ай бұрын
@@Snaiel yea gdscript makes sense to build fast. Very impressive project! Hope to see more.
@rexaorm
@rexaorm Ай бұрын
Unrelated to optimizations or anything like that, more about the Souls-like gameplay. In Souls series, the player movements would feel really "heavy" and hard to move which is one of top reasons in my opinion makes Dark Souls really hard because of the heavy movements and harsh punishments from getting hit like getting knocked out for more than 5 seconds which basically allows mobs to beat you up on, so are you looking into potentially adding that "feeling" while moving in your game?
@Snaiel
@Snaiel Ай бұрын
I think I’m more likely to lean into Sekiro’s type of gameplay. I enjoy the faster, more fluid experience so there’ll be more focus on speed and rhythm.
@rexaorm
@rexaorm Ай бұрын
@@Snaiel Awesome to know! Will be looking into your content future soon :). Keep it up man!
@aviatedviewssound4798
@aviatedviewssound4798 Ай бұрын
Why not transition from skeletal to vertex-based animation when the camera is out of the player's field of view? They would still move behind you, but as a non-skeletal-based character, which should save you some cycle and not break immersion. I will share your video.
@Snaiel
@Snaiel Ай бұрын
Oh wow I didn’t know vertex animation textures were a thing. Since I don’t see the enemies I might as well just turn animations off completely though, no point in animating anything. I also use keyframe function calls with the built in animation player a lot which wouldn’t be available. But this does seem to be a good option to have in other scenarios so I’ll keep it in mind. Thanks for sharing!
@FrozenInIce
@FrozenInIce Ай бұрын
I made enemies move towards the player just simply without path finding you could make it so it is in between if following player it creates path to the same path player follows unless it is non accessible by the type of enemy and you could use a grid based system where enemy goes to the closest path that is touching players square like old games did.
@Hogginz500
@Hogginz500 Ай бұрын
Is this the unreal engine?
@Snaiel
@Snaiel Ай бұрын
Godot :D
@Hogginz500
@Hogginz500 Ай бұрын
@Snaiel oh lol, I didn't know Godot can use C++
@Hogginz500
@Hogginz500 Ай бұрын
​@@Snaiel can Godot use C++?
@Snaiel
@Snaiel Ай бұрын
I use the built-in language GDScript, but C++ is supported!
@Hogginz500
@Hogginz500 Ай бұрын
@@Snaiel have you used C++ at all? Sorry for all of the questions
Making game levels that don't suck
19:18
Blargis
Рет қаралды 106 М.
Developing Enemy Systems in My Indie Souls-Like | Devlog 4
27:37
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
I Tried Turning Games Into Text
18:18
Acerola
Рет қаралды 377 М.
Video Game Cities Are Weird
22:49
Razbuten
Рет қаралды 1,4 МЛН
Optimizing my Game so it Runs on a Potato
19:02
Blargis
Рет қаралды 705 М.
DoGameDev(ep.0); //Intro to LONG GONE
7:46
Hillfort Games
Рет қаралды 34 М.
Making a Souls Like In A Month
15:32
Emis
Рет қаралды 1 МЛН
3 Years Playing God With My Computer Simulated Goblin Society
9:38
Deleting My Indie Game and Starting Over - Nectar Devlog 16
13:10
😶‍🌫️ Майнкрафт в 2D | WICSUR #shorts
0:58
Бискас
Рет қаралды 2,8 МЛН
Меня удочерили звездные геймеры
30:03
Трум Трум Оки Токи
Рет қаралды 448 М.
Семейные уловки (Анимация)
10:02
Найс
Рет қаралды 1,1 МЛН