Love and appreciate the video! Think I've rewatched it like 5 times over the last year. Recently started trying to set this up in a 3D space but I am still having trouble understanding the application of the weighting functions. Would love to get a better idea of how to do this, but I am sure you are busy. 2:50 - This direction gizmo you have set up gets the dot product of the center and the important point from how I understand it. Making the closest direction one full bar of many is easy to do with a simple array search and if statement, but how do you go about changing the scale of the OTHER bars? From what is explained I can't see it being as simple as removing 0-100% based on how many degrees away each bar is from the dot; up to a 180 deg. maximum. While I could easily not mind the demonstrational tool and simple add to weights based on preference, but I am changing this trick from the "chosen" direction to the "likely" direction. I'm striving to make a system where the AI is capable of making a mistake, and so I'm trying to understand this weighting trick so as to even out the chances across the scales shown in this video.
@GameEndeavor3 күн бұрын
What I would try is using a weighted system. Get the sum of the total weights, generate a number between 0 and that number, and get the direction that value belongs to. Higher weights will occur more often, lower weights less often. I update this pretty often though, so I'm not sure how well the results will be. Even if they chose a less likely option, they'd change to a different option immediately after.
@MrBobLoblaw3 күн бұрын
@@GameEndeavor Thank you for the reply! Really appreciate that! I've started looking into this, and have a few more questions. When it comes to the updating of the functionality, I am only running it based on the AI's brain power stat. The higher it is, the more often it updates (bosses), the lower it is, the less often it updates (rank-and-file enemies). I would still forcibly update it depending on actions it receives or initiates so it can get out of a potentially bad situation. This way I can make both AIs adaptive, but give bosses the opportunity to play smarter and adapt to the live-situation faster, and generate a lot of rank-and-file enemies without greatly impacting performance. As for the weighted system you suggested, I think I have an idea on how to do it, but I'm not really sure: As far as I can tell, every time you only weight the target in the video the sum of the live bars seems to be about half the sum of full lengths. Is this a product of how the function works? Or is it just happenstance? For the sum of total weights and generating a number between 0 and that sum some makes sense, but sadly I just can't understand how to apply that to my code atm. Finally, in the case of the weight equation, would running a for loop going through all the weights in an array work? { var rotationAngle = dotProductToTarget; var dot = abs( rotationAngle - barRotationOffset[index] ) / 180; weight[index] = 1.0 - abs(dot) } I know I'm not using a proper dot product for the weight, but it is the closest I've been able to come to it given the way I have setup my code. I do apologize if this was hard to understand. It's hard for me to explain my thoughts.
@MrBobLoblaw2 күн бұрын
@@GameEndeavor I was actually able to figure this out earlier today for the most part, but now I am a bit confused on how to apply blocked points to the weights. I've tried getting the average of the weights of blocked points and subtracting those from the established weights from the target, and I've tried a few other minor tweaks. None have come out the way I had hoped, but some closer than not having it at all. Thankyou again for the advise! I will continue to look into using it as I go through this process.
@GameEndeavor2 күн бұрын
@MrBobLoblaw blocked points as in prevent going that direction? In Godot we have -INF (negative infinity). I just set the weight to that.
@MrBobLoblaw2 күн бұрын
@@GameEndeavor Really? I mean I can stop the AI from going in the blocked point's path by setting it to 0, but I noticed at 2:55 the shape of ALL the lines changes after the blocked point is set. How does that work in with this -INF? I've tried getting a new list of weights for each specific path, then subtracting them in various ways from the target weights. While this does affect all lines in a similar manner, it often leads to complicated differences in size of the negative weights to the positive, which obviously doesn't happen with the demonstration you provided.
@DashMatin4 күн бұрын
Hello I have a question Question : How to implement a wall stick and slide like in the game Dead Cells. in that game if you jump on wall and don't jump again the character will stick to the wall for a few se c onds then will start to slowly fall and slide but when i try to do the same with if it will go on a loop of is_wall_sliding? yes then sticks to the wall indefinitely how do i tell it to slide and fall after a few seconds? i have a timer but don't know what the logic here should be? can you help me?
@cjgmz7815 күн бұрын
Is this game going to have multiplayer?
@GameEndeavor5 күн бұрын
I plan to do local 2-player multiplayer, no promises though. Online multiplayer would likely be too much scope though. :)
@Greacus6 күн бұрын
I enjoyed the devlog. This game has so much potential. A little bit of constructive criticism, your player character looks less saturated when compared to the surroundings, this might be an intentional choice, but it would look better if the player character has slightly more saturated colors than the surroundings, or his equipment gave off some light, making the player character stand out.
@GameEndeavor5 күн бұрын
Thank you! I'll take a look. :)
@rayaqin6 күн бұрын
awesome presentation and work, keep up
@puzzud7 күн бұрын
You are the best!
@ZanfisHD7 күн бұрын
as good as this looks, i feel like the art style is almost too similar to stardew valley.
@lv99redchocobo378 күн бұрын
Needs more cheese.
@lv99redchocobo378 күн бұрын
The art is really wonderful
@sirdrakey8 күн бұрын
that's a really cool design function
@ZaneDragonBorn8 күн бұрын
This video has shown me I gotta lot to learn for ai in my game 😅
@GameEndeavor8 күн бұрын
This is a far more robust system than most people will ever need. :) You can get by with very basic behaviors, this is just something I worked on for like a year periodically, gradually improving it over time.
@ZaneDragonBorn8 күн бұрын
@@GameEndeavor Maybe, but the dungeon crawler I intend to develop is going to need stuff like this and additionally even more advanced movements to fit the many types of elements people will face. Do you have any good places to start learning AI development for games?
@GameEndeavor8 күн бұрын
@@ZaneDragonBorn The Coding Train has a good series on steering behaviors, which is where I started. :)
@lunchbox42298 күн бұрын
Favorite part is he sounds like a good old country boy but can go on at length about technical aspects of this project.
@Affiliatesmoto10 күн бұрын
Can i get a copy of your game
@efecelik712410 күн бұрын
i can say one thing that game looks awesome and i hope u can make co op for it
@GameEndeavor10 күн бұрын
Thank you! No promises, but I'd like to have at least local 2 player co-op, with Steam's remote play together. True online multiplayer would be too much scope at this time though. :)
@efecelik712410 күн бұрын
@@GameEndeavor if its work with keyboard its still be awesome even tis not promise thank you for it
@josiethompson573911 күн бұрын
Gonna be the pedantic asshole here and say that normalization is not part of the definition of a dot product - even if that's what you're doing with it. Also, a dot product has a more intuitive definition than just being related to the cosine between two angles. Geometrically speaking, a dot product is a type of projection. That is, you take one vector, project it onto another, then multiply the resulting magnitudes. If the subject of the projection is a unit vector, then the dot product is simply how much the original vector points in the new direction. And to some extent this is a valid interpretation of what you're doing with it! The magnitude of the different direction vectors in your debug tool is how much that vector points in the ideal direction!
@GameEndeavor11 күн бұрын
That's nice. :)
@pureaut1sm11 күн бұрын
ANIMATE WATER PLS also good luck with the game
@GameEndeavor11 күн бұрын
Thanks. :) I'll worry about the water eventually. It's not a high priority right now.
@pureaut1sm11 күн бұрын
@@GameEndeavor stay hydrated dude
@FreerunningGamer12 күн бұрын
Singuskellity is fantastic. I know I'm late, but this is a great video.
@pinnacleexpress42012 күн бұрын
You had me at "hyper-dense singu-skellity"
@GameEndeavor12 күн бұрын
There's going to be a boss in the game based on this, lol.
@pinnacleexpress42012 күн бұрын
@@GameEndeavor after putting hundreds if not thousands of hours into bo2 zombies, slaying more zombie-pillar/undead human centipedes than any one person ever should, and then spending another couple thousand hours in bo4 zombies where they actually respect each other's personal space, that well-placed joke hit extra hard
@Hans-ww7dx14 күн бұрын
This is BADASS
@hunttazman308415 күн бұрын
Great stuff!
@loszhor16 күн бұрын
Thank you for the information.
@Edward-Not-Elric20 күн бұрын
I'm too stupid to impliment this in any of my games, but its still super interesting to see.
@wolfpox22 күн бұрын
Excited to see more on this. You're great at showcasing what you're working on.
@Necrincito23 күн бұрын
Please tutorial platform2d gathering, (the player cuts a tree), (the tree shakes due to the cut), (put the number of times the action is performed to cut down the tree), (example: large tree 5 times, medium tree 3, small tree 2) , (when you reach the maximum number of times the tree falls in the animation), (and drop objects on the tree)
@crueI24 күн бұрын
The coin pickup sound is all the way in the right channel, (wearing headphones) I think I know what having tinnitus feels like :) Great progress, the game looks amazing!
@alexdisword35825 күн бұрын
The faction system you did made me feel in awe. Its amazing how smooth and organic it was to see the npc fight each other, really amazing bro
@CurtisJensenGames25 күн бұрын
Seeing your simple but fun looking game makes me want to develop games for fun again! I’ve taken a long break to work on YouTubing, but I’m a bit more excited to return to game develop when my harddrive is empty!
@GameEndeavor25 күн бұрын
Eyyy, I'm excited for you. Good luck with gamedev!
@CurtisJensenGames21 күн бұрын
@@GameEndeavor Just wanted to report that I did do a bit of developing!
@PeterRichardsandYoureNot29 күн бұрын
Just teasing but could you say “spawn point” one more time? Great work.
@reguret2976Ай бұрын
you planning on disappearing for another one year again? brooo...
@GameEndeavorАй бұрын
Nah, working on another video as we speak. :)
@reguret2976Ай бұрын
you planning on disappearing for another one year again? brooo...
@TrendsthismonthАй бұрын
Hold on there Truffles!
@curlydev2Ай бұрын
Hi, I make videos about coding and GameDev, check if you want ;)
@eastoforionАй бұрын
this was cool as hell!
@danielquigley2695Ай бұрын
Very interested in procedural generated dungeons.
@SoyIS_SAIIАй бұрын
When the game comes out I want to play it
@BSquareLusitanosАй бұрын
I saw your video for the first time yesterday, I didn't know it existed and I was shocked to see that your game has the same principles as the game I'm building, this is fantastic. I'm not a game developer, I'm just curious. I started learning Godot 6 months ago. I think that in 50 years I will be able to do what you did in the last 2 years. I would like to be able to work together with you. You should think about integrating web3 and blockchain into your project. This is the path of my project, NFT gamming for social solidarity. It's different, it's difficult and it's unique. If you want to exchange some ideas, I'm available to talk. Otherwise, I hope you can develop your dream game. Good luck
@TraceurHereАй бұрын
omg this is so complex, how am i going to make something like this T_T
@JackSatherАй бұрын
SUPER useful tutorial!! thank you, everyone elses are on pixel art sprite sheets
@son9012Ай бұрын
just found this channel and you immediately became my fav godot dev
@GameEndeavorАй бұрын
lol, thank you! I'll try to live up to such a prestigious honor. :)