This is fantastic, there really isn't that much information about this topic or examples of games that do it well so it's great to get a detailed explanation about your thought process
A fe que esos NPC han sido entrenados por la mismísima KGB. Te buscarán, te encontrarán, encontrarán a tu familia y amigos. Están desprovistos de piedad y de aleatoriedad en los disparos 🤣 Si te ven durante 0,1 segundos, dispararán no hacia donde estás, sino hacia donde vas a estar el día de tu próximo cumpleaños
I think you said you were previously a dj? Interested to know how you came up with artstyle, some of it looks alien movie style, so cool man, I wonder if your music is as outlandish as the visual style. Also, epic use of ai, it feels natural for ai to be telling this story, it's like cortana, anyways best of luck I will post for algorithm from now on. These Dev vids are very helpful, I have used a few techniques in godot already, and one time I have tried a more advanced platforming ai, but never this good,
Thank youuu for your verbose post! yes I used to be a dj and house music producer, check Spotify for dr.kucho music , also thanks for the feedback on ai voice, people only feedback on that to say they don’t like it, like if these videos main purpose was to entertain, im giving away my gamedev secrets and people talk about they don’t like the voice!? It’s like someone gives away his car to you as a present and you complain about the color?, how fucked up is that? there are several reasons I use this voice, main one is time and workflow, but not just that I enjoy controlling the ai to force it to be expressive at times , I basically love anything that I can be controlled and let me try new tricks to get better results. There are a couple of ai videos coming , stay tuned.
That’s nice to know, thanks for sharing, and doesn’t hurt my ego (lol) cause if it’s a no companion their movements would not be perceived as stupid as you don’t expect him to move in a certain way, I guess shadow Mario is an enemy?
@@DrKuchoGames it's sort of an enemy but more like a objective. You are supposed to chase and catch him to clear the level. It will wait when you are outside of a certain range and start fleeing again when you come near it. To be fair though it follows a certain path but reaches the platforms with alterning moves.
I'm somewhat on the team of the AI haters for the voice, but I understand the constraints. But the content, be it technical or humor makes it very very much worth it. I hope to see more as this is very much unchartered territory and a gift to the world.
The stagnation in AI is pretty sad in modern gaming. I remeber there being some really good Quake bots that could play almost as good as a human. But today, you're lucky if multiplayer games have AI bots at all.
Sorry but it's simply not correct to say that A* (or any other pathfinding/search algorithm) "aren't suited to platformers" -- it's a search algorithm that operates on **any** graph! The problem isn't with the search algo, it's that you're using a graph which doesn't properly represent the space you're trying to model (eg if you give it a totally-connected grid mesh then yes it will think you've got a top-down game, but... just don't give it the wrong mesh and you're fine). If you have additional constraints (eg falling vs jumping, limits on jump arcs, etc.), that just means you need to represent/encode those details in the graph that A* is searching. Many platformers use A* for pathfinding, because again it's just a generic search algo which will do the job -- it's up to you to feed it a graph which represents the world you're trying to model. Similarly, you're not forced to represent your graph at the tile/block level (as those Unity solutions you found do), you can sample the world at any resolution to build the graph. In a top-view game this could be prohibitive (because it means the search space will scale O(n^2)), but in a platformer the search space is mostly 1.5d (ie you don't have a maximally-connected grid of nodes covering all of space, instead you have many chains of nodes representing the walkable surface on the top of any solid region, linked to each other at their ends by edges which represent possible jumps or falls). Yes, building the graph is somewhat non-trivial, however **that's the real challenge you should be trying to solve**; the actual search algorithm is not the problem. About "what other games have NPC companions that navigate a dynamic terrain without flying", the most obvious one is Spelunky -- in fact one of the programmers recently did a writeup of how they implemented the AI helper NPCs in Spelunky 2 AND THEY USED A* -- because again, it's just a search algo! It can do whatever you need it to do!! Provided you represent the space it's searching properly: eglomer.github.io/spelunky2/index_en.html Finally, what was your actual solution to the pathfinding problem?? At the end you suddenly shift into describing the FSM/behaviour tree system which drives the AI's logic, but that's completely orthogonal to the issue of pathfinding on the terrain (ie it only mentions scanning the environment for entities of interest, nothing about pathfinding). So what are you actually using for pathfinding if it's not A*??
@@raiganburns8154 complicates to explain, spelunking is tile based if I’m not wrong, I’ve mentioned pathfinding solutions based on tiles in this video (probably using a *) , but that would not work on MOD, hopefully it all makes much more sense in the next videos .
This is de AI that people should talk about this game. Amazing how the darsonauts aren't just lemmings
looking forwards to part 2
TODAY! 🎉
Can't wait for Nintendo Switch release!!!
This is fantastic, there really isn't that much information about this topic or examples of games that do it well so it's great to get a detailed explanation about your thought process
A fe que esos NPC han sido entrenados por la mismísima KGB. Te buscarán, te encontrarán, encontrarán a tu familia y amigos. Están desprovistos de piedad y de aleatoriedad en los disparos 🤣 Si te ven durante 0,1 segundos, dispararán no hacia donde estás, sino hacia donde vas a estar el día de tu próximo cumpleaños
JOJOJOJO
I think you said you were previously a dj? Interested to know how you came up with artstyle, some of it looks alien movie style, so cool man, I wonder if your music is as outlandish as the visual style. Also, epic use of ai, it feels natural for ai to be telling this story, it's like cortana, anyways best of luck I will post for algorithm from now on. These Dev vids are very helpful, I have used a few techniques in godot already, and one time I have tried a more advanced platforming ai, but never this good,
He is Spanish. The game was developed by him in Spain
Thank youuu for your verbose post! yes I used to be a dj and house music producer, check Spotify for dr.kucho music , also thanks for the feedback on ai voice, people only feedback on that to say they don’t like it, like if these videos main purpose was to entertain, im giving away my gamedev secrets and people talk about they don’t like the voice!? It’s like someone gives away his car to you as a present and you complain about the color?, how fucked up is that? there are several reasons I use this voice, main one is time and workflow, but not just that I enjoy controlling the ai to force it to be expressive at times , I basically love anything that I can be controlled and let me try new tricks to get better results. There are a couple of ai videos coming , stay tuned.
Actualy there is a NPC that can move in a platformer although it's not a companion. Shadow mario in Super Mario Sunshine.
That’s nice to know, thanks for sharing, and doesn’t hurt my ego (lol) cause if it’s a no companion their movements would not be perceived as stupid as you don’t expect him to move in a certain way, I guess shadow Mario is an enemy?
@@DrKuchoGames it's sort of an enemy but more like a objective. You are supposed to chase and catch him to clear the level. It will wait when you are outside of a certain range and start fleeing again when you come near it. To be fair though it follows a certain path but reaches the platforms with alterning moves.
@@Miessa1989 interesting but for what you say it feels that his ai might be half predetermined.
I'm somewhat on the team of the AI haters for the voice, but I understand the constraints.
But the content, be it technical or humor makes it very very much worth it.
I hope to see more as this is very much unchartered territory and a gift to the world.
You should love the voice, because of it this devlog exists , otherwise I would not even start it.
@@DrKuchoGames true
The stagnation in AI is pretty sad in modern gaming. I remeber there being some really good Quake bots that could play almost as good as a human. But today, you're lucky if multiplayer games have AI bots at all.
Sorry but it's simply not correct to say that A* (or any other pathfinding/search algorithm) "aren't suited to platformers" -- it's a search algorithm that operates on **any** graph!
The problem isn't with the search algo, it's that you're using a graph which doesn't properly represent the space you're trying to model (eg if you give it a totally-connected grid mesh then yes it will think you've got a top-down game, but... just don't give it the wrong mesh and you're fine).
If you have additional constraints (eg falling vs jumping, limits on jump arcs, etc.), that just means you need to represent/encode those details in the graph that A* is searching. Many platformers use A* for pathfinding, because again it's just a generic search algo which will do the job -- it's up to you to feed it a graph which represents the world you're trying to model.
Similarly, you're not forced to represent your graph at the tile/block level (as those Unity solutions you found do), you can sample the world at any resolution to build the graph. In a top-view game this could be prohibitive (because it means the search space will scale O(n^2)), but in a platformer the search space is mostly 1.5d (ie you don't have a maximally-connected grid of nodes covering all of space, instead you have many chains of nodes representing the walkable surface on the top of any solid region, linked to each other at their ends by edges which represent possible jumps or falls).
Yes, building the graph is somewhat non-trivial, however **that's the real challenge you should be trying to solve**; the actual search algorithm is not the problem.
About "what other games have NPC companions that navigate a dynamic terrain without flying", the most obvious one is Spelunky -- in fact one of the programmers recently did a writeup of how they implemented the AI helper NPCs in Spelunky 2 AND THEY USED A* -- because again, it's just a search algo! It can do whatever you need it to do!! Provided you represent the space it's searching properly: eglomer.github.io/spelunky2/index_en.html
Finally, what was your actual solution to the pathfinding problem?? At the end you suddenly shift into describing the FSM/behaviour tree system which drives the AI's logic, but that's completely orthogonal to the issue of pathfinding on the terrain (ie it only mentions scanning the environment for entities of interest, nothing about pathfinding). So what are you actually using for pathfinding if it's not A*??
@@raiganburns8154 complicates to explain, spelunking is tile based if I’m not wrong, I’ve mentioned pathfinding solutions based on tiles in this video (probably using a *) , but that would not work on MOD, hopefully it all makes much more sense in the next videos .