The Trick I Used to Make Combat Fun! | Devlog

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ค. 2024
  • Combat keeps the player engaged as they explore my game, so I improved how the enemy interacts with the player and their environment. This tweak made combat so fun that a tester spent over an hour repeatedly fighting a handful of enemies. At this point I knew I had an engaging combat system!
    Howdy, and welcome to the 12th indie game devlog for Zoe and the Cursed Dreamer. A 2D Pixel Art Open World RPG made with the Godot Engine where you will explore an immersive world, meet lovable characters, and decorate your home!
    Follow on Kickstarter to get notified when it launches:
    www.kickstarter.com/projects/...
    Join Our Community! We look forward to welcoming you.
    Discord: / discord
    Twitter: / gameendeavor
    Become a patron to get exclusive content and support the channel:
    / gameendeavor
    Music: opengameart.org/content/4-chi...
    The article that inspired this:
    www.gameaipro.com/GameAIPro2/G...
  • บันเทิง

ความคิดเห็น • 2K

  • @GameEndeavor
    @GameEndeavor  3 ปีที่แล้ว +646

    NOTE: I'm not using this as a replacement for path finding. The purpose of this is to control how the AI behaves in its local environment. ie avoid clumping together, strafe the player, flee from the player but don't get stuck on walls. NOT get from point a to point b.
    The fact that it can avoid simple obstacles is an emergent behavior that came about naturally from this system, but not the primary way of avoiding them. Without proper path finding, the ai will get stuck if there is a wall between it and its target. However, you can combine this with a pathfinder, if you have it seek along the path instead of directly at its target. :)
    Follow the project on Kickstarter to get notified when it launches:
    www.kickstarter.com/projects/gameendeavor/zatcd

    • @nlaps
      @nlaps 3 ปีที่แล้ว +11

      Hey man! I see that this video blew up congrats!
      When can I expect the next epesoide?

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +16

      @@nlaps Hopefully soon. I've been focusing all of my attention on the demo that's expected to release in a couple of weeks. Once things get back to normal though I plan to start uploading again. :)

    • @kwamenaplays5899
      @kwamenaplays5899 3 ปีที่แล้ว +3

      I love it

    • @inik4us
      @inik4us 3 ปีที่แล้ว +2

      When you apply the shaping function, what serves as the normal? Normalized velocity vector?

    • @Soul.game.
      @Soul.game. 3 ปีที่แล้ว +2

      How I want to understand you, but I don't know English)

  • @acutedog9189
    @acutedog9189 3 ปีที่แล้ว +2133

    I have literally no idea what you're talking about, and I still love it

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +161

      lol, been getting that a lot. I had hoped to get it across better, but so long as y'all are enjoying it. xD

    • @aweguy3171
      @aweguy3171 3 ปีที่แล้ว +17

      Same here.

    • @andrewknauss6106
      @andrewknauss6106 3 ปีที่แล้ว +24

      ​@@GameEndeavor​This is such a great idea! I've been trying to figure out a good way to do this for a while and the weighting system is so elegant and open to "artistic customization." I would definitely buy this if you made it a Unity asset. I bet the weights could also be trained by an AI too.

    • @CourtFool
      @CourtFool 3 ปีที่แล้ว +4

      Video Translation: skelity

    • @skenda
      @skenda 3 ปีที่แล้ว +2

      Hello everyone, I am new here!

  • @grrr_lef
    @grrr_lef 3 ปีที่แล้ว +4056

    Maybe keep the "gets stuck in a corner" pattern for some enemies and give them a "panic" modifier to their appearance. Stupid behaviour in stressful situations is not unrealistic.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +958

      Someone had suggested something similar in my Discord recently. I will likely implement something like that at some point.

    • @Ghorda9
      @Ghorda9 3 ปีที่แล้ว +153

      @@GameEndeavor or have them ignore the weights when stuck like that and have a "flight" response.

    • @Zadamanim
      @Zadamanim 3 ปีที่แล้ว +323

      @@GameEndeavor A cowering animation when they get cornered would add a lot of personality to an enemy type, it could also be good for a gimmicky enemy type that you need to back them up into lava to remove their armor, for example.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +185

      Agreed. Could be a lot of fun. :) I have a note for it.

    • @LeGiiTxKiDDs
      @LeGiiTxKiDDs 3 ปีที่แล้ว +42

      Seriously XD that littleguy that got stuck looked like it would panic if cornered

  • @vittosito381
    @vittosito381 3 ปีที่แล้ว +38

    I've been tricked into learning math

  • @Mewseeker
    @Mewseeker 3 ปีที่แล้ว +1308

    Imagine this situation:
    Enemies start to fight each others.
    "Awesome!"
    Enemies start powering up as they kill each others
    "Oh no!"

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +397

      lol, an enemy leveling system? That'd be funny. xD

    • @Mewseeker
      @Mewseeker 3 ปีที่แล้ว +105

      @@GameEndeavor Or just a buff system. Just something to encourage players being a bit more active. :P

    • @reaganharder1480
      @reaganharder1480 3 ปีที่แล้ว +77

      @@GameEndeavor Funny perhaps, but that could actually be great. Definitely could encourage players to be more active. Just then need to be sure the enemies don't spawn in way too early and have ages to fight and level up before you ever see them.

    • @lIIelIl
      @lIIelIl 3 ปีที่แล้ว +9

      ever heard of the abyss watchers?

    • @patrickrocheleau8185
      @patrickrocheleau8185 3 ปีที่แล้ว +20

      Or goliaths from borderlands, though you had to shoot there helmet off first anyway, then kinda feed it weaker enemies as it chased you around untill you felt like killing it

  • @RugbugRedfern
    @RugbugRedfern 3 ปีที่แล้ว +784

    Holy crap those enemy battles look amazing. I'd love to stumble across some enemies fighting randomly and help out a side!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +108

      That is exactly the intent of that mechanic. The necromancer's skelly army affects more than just the player. :)

    • @Volvary
      @Volvary 3 ปีที่แล้ว +26

      Imagine wandering to a forest, seeing a bunch of skellies wandering about and suddenly, bam! 3-4 panthers jumping out of the shadows for a quick treat.

    • @ninjireal
      @ninjireal 3 ปีที่แล้ว +18

      @@GameEndeavor Maybe also make friendly fire on for enemies default? In Minecraft, let’s say a zombie chasing you is in front of a skeleton. That skeleton is gonna aim for you, but if the zombies in the way it’ll actually hit it and the zombie will start attacking back. Dunno if you’ll make that a feature, but have at it. I’d also recommend that if a enemy is fighting against another group with no allies, it’ll start running away.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +21

      @@ninjireal I'll consider it because it is fun and useful in Minecraft, but I'm not sure I want to take that route. I plan to have you engage with more enemies at one time than Minecraft, and the enemies have broader attacks. So it would be more difficult to pull off for me. In minecraft you can start a whole battle by just being near a handful of enemies, where that will be the normal for Zoe and the Cursed Dreamer.

    • @archerman6822
      @archerman6822 3 ปีที่แล้ว +4

      @@GameEndeavor What if you could be attacked by two factions that are neutral to each other (skelly and spiders for this example?) so a member of the same faction wouldn't trigger friendly fire, but hitting entities of a different faction could trigger in-fighting
      Example:
      You are in a forest, skeletons and spiders are neutral to each other. they both attack you. skeleton shoot at other skeletons and they don't react. Skeleton shoot a spider. this makes the spider angry at the skeleton and they start fighting each others, while still trying to get you

  • @mondobe
    @mondobe 3 ปีที่แล้ว +1752

    That’s a pretty complex AI system, glad it works!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +124

      Thanks. :) It's a major improvement for sure.

    • @tralavala9808
      @tralavala9808 3 ปีที่แล้ว +61

      Looks like more advanced than that one from cyberpunk ;p

    • @techtiger2558
      @techtiger2558 3 ปีที่แล้ว +9

      You call this complex!? You haven't seen true AI then. Lol...

    • @mondobe
      @mondobe 3 ปีที่แล้ว +84

      @@techtiger2558 Actually, I use traditional artificial intelligence regularly, as you probably do as well, and while that is impressive in its own right, it’s still pretty tough to hard-code an AI like this and implement it into a game smoothly.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +66

      @@techtiger2558 I've been telling people that it's a lot easier than they would think. I didn't hammer on it here though because I didn't want to come across as insufferable, but thanks for stepping up.

  • @uheartbeast
    @uheartbeast 3 ปีที่แล้ว +340

    7:21 holy smokes that is awesome haha

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +42

      Thank you! I'm stoked for this. I've been racking my head trying to figure out how to do the pet system and party members. Now I know I can and make it awesome! :D

  • @NilesBlackX
    @NilesBlackX 3 ปีที่แล้ว +214

    2:45 "subliminally clicking blue thumbs" is pretty clever

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +22

      I can be a TH-camr sometimes. xD

    • @LeGiiTxKiDDs
      @LeGiiTxKiDDs 3 ปีที่แล้ว +4

      I would have forgot to click

    • @charliefranklin8523
      @charliefranklin8523 3 ปีที่แล้ว +6

      holy fuck I didn't notice that he said that at all, it was literally subliminal

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +6

      @@charliefranklin8523 oof, I didn't expect it to actually be subliminal. ._.

    • @JasonWelch
      @JasonWelch 3 ปีที่แล้ว +2

      I caught that, read your comment, and then mindlessly clicked the blue thumb.

  • @Saturn2888
    @Saturn2888 3 ปีที่แล้ว +274

    "I spent an hour fighting skeletons" oh man... I remember those days. You implement something and enjoy it so much just to see it working. It's also why I've logged more hours in my own game on Steam than any other game I own.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +63

      Not me, a tester. Which imo is so much better, lol. Means someone other than myself loved the combat. That's when I knew I had something. :)

    • @Saturn2888
      @Saturn2888 3 ปีที่แล้ว +27

      @@GameEndeavor I definitely had fans put way more hour in the game than I did. Hired one even to make official content!

    • @joelkronqvist6089
      @joelkronqvist6089 3 ปีที่แล้ว +22

      Haha, I have a small puzzle-roguelike under development, but I have still just the structure of the engine, not even player movement. But when I added animations to doors I couldn't stop clicking them happily open and closed again😂

    • @ahmettcavus
      @ahmettcavus 3 ปีที่แล้ว +1

      Saturn2888 What is the name of your game?

    • @channelnamegoeshere4707
      @channelnamegoeshere4707 2 ปีที่แล้ว +1

      dude facts I have so much time logged in my own games

  • @bagandtag4391
    @bagandtag4391 3 ปีที่แล้ว +342

    This AI looks smooth AF. I tried to make something like this a while ago and failed miserably. But I'm feeling inspired to try again now.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +58

      You should, it's a lot of fun. :) This here is the culmination of about two years of attempts for me. Periodically I'll try and improve on my previous attempts and this was my latest effort.

    • @romilgoel4191
      @romilgoel4191 3 ปีที่แล้ว +5

      Hello.
      I am 19 and I wanna start this Game Development stuff..
      I know python.
      Should I just write whole thing using pygame or learn some another Language/Platorm ??
      Please Help. 🥺

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +9

      I've never used pygame so I can't say. Try it and see what you think. :) So long as it works and you understand it. That's the important bit starting out.

    • @romilgoel4191
      @romilgoel4191 3 ปีที่แล้ว +3

      @@GameEndeavor wow.. thanks for replying.
      What platform/language are most recommended ?
      Which one do you use ? 😗

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +12

      @@romilgoel4191 Everyone has their own recommended, so it depends on the person. I use Godot, which you may like as its language is based on python, and imo it's one of the more beginner friendly engines I've used. Yet very powerful once you master it.

  • @danteleonel9047
    @danteleonel9047 3 ปีที่แล้ว +314

    One thing that could make the Enemies look more convincing in their environment, is that they could probably have a “environment interaction animation” such as the seed enemies eating the grass, playing around. Or the skeletons looking around suspiciously, or their arms fall of and they grab it back. Something that adds flavor to them and would make the ambience feel more natural and lived in.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +105

      Indeed. I'd love to do fun little things like that once I get to the polish phase. I love the skellies arms falling off idea, lol.

    • @y.z.6517
      @y.z.6517 3 ปีที่แล้ว +25

      @@GameEndeavor When a skelly's arm falls off, that's the best moment to get out of ambush and attack?

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +49

      lol, maybe. Would have to test if that would encourage waiting. However it would be hilarious if you spooked it and it took off running because it couldn't defend itself. Maybe trying to get back to its arm while avoiding the player.

    • @y.z.6517
      @y.z.6517 3 ปีที่แล้ว +14

      @@GameEndeavor Skelly's Arm can be a kind of trophy, but that attracts skellies' night assault.

    • @y.z.6517
      @y.z.6517 3 ปีที่แล้ว +13

      @@GameEndeavor Skellies use their arms like gloves. They only take arms off, when they are at home and comfortable. That means only 1 will put off his arm, when at least 5 of them are together. That would discourage waiting.

  • @marksmod
    @marksmod 3 ปีที่แล้ว +66

    The mathematics pays off in the end. This looks good

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +11

      Math was my favorite subject, so indeed. :)

  • @alexnoman1498
    @alexnoman1498 3 ปีที่แล้ว +434

    I remember vividly a full-scale battle between sentient hostile creatures in the first zone of Van Helsing I, redcoats against werewolves. It stuck with me ever since. It's unexpected and makes you feel less destined and more like a piece on a larger board. I recommend you play with that discovery!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +66

      Oh that's really nice. I have something like that planned actually. I don't know if it's that interesting, but you have inspired me to play more into that, so thank you. :)

    • @Micolash_is_behind_you
      @Micolash_is_behind_you 3 ปีที่แล้ว +4

      is that the incredible adventures of van helsing?

    • @alix6xgorg839
      @alix6xgorg839 4 หลายเดือนก่อน +1

      Reminds me of that battle between demi-humans and soldiers of Godrick in Elden Ring.

  • @platinum9825
    @platinum9825 3 ปีที่แล้ว +451

    I could see this AI being very scary when combined with a speedy enemy that wants to zoom around the player to disorient them before engaging

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +118

      I have exactly that planned. :D Among some other enemies that could make use of it.

    • @platinum9825
      @platinum9825 3 ปีที่แล้ว +16

      @@GameEndeavor ooo can't wait to see it

    • @TheApeironCreations
      @TheApeironCreations 3 ปีที่แล้ว +6

      This was such a cool video!! Thank you so much can't wait to see more I've already subscribed!!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +7

      Thank you for watching!

    • @nickb220
      @nickb220 3 ปีที่แล้ว +3

      @@GameEndeavor enemies with swinging weapons or circular aoe's!!!

  • @actually_a_sign3954
    @actually_a_sign3954 3 ปีที่แล้ว +29

    That skelly newton's cradle at the beginning was hilarious.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +10

      You are the first person to even remark on it. Here I was thinking nobody picked up on my favorite part of the video, lmao.

  • @Exsulator2
    @Exsulator2 3 ปีที่แล้ว +89

    Would be cool to have a wolf type enemy that only attacks when they are multiple, and circles the player like real wolves would. The wolves will be much more likely to attack the back of the player, meanwhile other wolves will feign attacks and cancel them. Only one wolf attacks at any one time, but many wolves can feign attacks. Any wolf that is chased by the player would escape and return to circling

    • @dota-ed4638
      @dota-ed4638 3 ปีที่แล้ว +15

      As realistic and interesting it sounds, it may be annoying to deal with attack fakes and run aways horde of wolves again and again, unless they are extremely rare

    • @Exsulator2
      @Exsulator2 3 ปีที่แล้ว +11

      @@dota-ed4638 I think the way to deal with the wolves is to recognise which wolves starts an attack animation and kill it. Which means patience and observing. If the player tries to attack a faking wolf, that wolf simply jumps back. I think it should be a little rare, but I don't think it needs to be annoying.
      It should be fairly easy to use your eyes and see that the actual attacking wolf does something differently, and attacking it will result in a kill or a hit at least.
      Perhaps the player doesn't need to deal with all the wolves either, perhaps killing half or even just one is enough to make them run off

    • @dota-ed4638
      @dota-ed4638 3 ปีที่แล้ว +5

      @@Exsulator2 Yes, now that you have explained it a bit, it seems that idea itself is good, what I was worried about was not idea itself but execution, well balanced and modified execution is necessary to implement it in a game.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +19

      Dragon's Dogma did something similar to this. Wolves were interesting to fight but sometimes annoying, though I think that was mostly due to the large number of them. Though having them run off feels unsatisfying. We humans hate for something to go unfinished and I know that would irritate me to no end. It does in other games that do something similar.

    • @Exsulator2
      @Exsulator2 3 ปีที่แล้ว

      @@GameEndeavor I agree it can be annoying, but it's also immersive. When an NPC or a monster leaves your sight, it feels like they have a life of their own.

  • @pholidia8175
    @pholidia8175 3 ปีที่แล้ว +137

    7:50 hey look that's me

    • @elidelid
      @elidelid 3 ปีที่แล้ว +1

      Hi

  • @ludosgd
    @ludosgd 3 ปีที่แล้ว +54

    YEEESSSSSSS NEW GAME ENDEAVOR DEVLOG
    This combat looks SO good. Thank you so much for sharing your progress, all these devlogs are super insightful!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +7

      Thanks for watching them, Ludos! I'm in love with the combat, lol. I didn't expect it to turn out this fun.

    • @ludosgd
      @ludosgd 3 ปีที่แล้ว +1

      @@GameEndeavor Can't wait to try it out! :D

  • @javgroman
    @javgroman 2 ปีที่แล้ว +28

    Vectors are so useful for giving entities a sense of intelligence and you demonstrate this so well and your results are so natural and fun to watch. You use vectors like an artists uses to paint to make something come alive. Love it all!

  • @SuperCaptainFail
    @SuperCaptainFail 3 ปีที่แล้ว

    I’m glad this video popped up in my recommended. Your commentary is very charming and explains some of the more complex mechanics efficiently. I hope your channel and your game become more popular!

  • @iLikeCoffee777
    @iLikeCoffee777 3 ปีที่แล้ว +3

    It was surprisingly refreshing to see you explain the math of the functions in such a straightforward and useful manner. This kind of logic seems as though it would be incredibly useful in a wide variety of games. Thank you.

  • @happytoaster1
    @happytoaster1 3 ปีที่แล้ว +22

    I know it's early in the game, but you might consider some alternate art. Giving the enemies "random" characteristics like a hat or club instead of sword adds a lot to combat. You can't remember who you already damaged if they all look identical.

  • @pinkskin1998
    @pinkskin1998 2 ปีที่แล้ว +1

    Wow. I recently started with my gamedev journey and boy am I both overwhelmed and inspired. Great work and I'm looking forward to playing your game!

  • @iraddev6725
    @iraddev6725 2 ปีที่แล้ว +1

    I've been watching this video at least four or five times, this is gold! Thank you for sharing it and good luck with your development

  • @ThePixelExpedition
    @ThePixelExpedition 3 ปีที่แล้ว +15

    This was an incredible breakdown of your enemy AI. You explained the process extremely well. Awesome stuff!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Thank you! I tried to keep it comprehensive but not overwhelming. Glad to know I got the idea across. :)

  • @hakonmarcus
    @hakonmarcus 3 ปีที่แล้ว +8

    Been looking at this a couple time, but this was the moment I decided to subscribe. That enemy movement really looks immersive!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Thank you! It's certainly a lot of fun. I was beyond ecstatic with these last improvements. Thanks for subscribing!

  • @alexs5814
    @alexs5814 3 ปีที่แล้ว

    Hi there.
    I jus tbinged through your dev logs and this is truly an instant sub.
    The game so far feels adorable and yet adventurous the artstyle makes me smile and it's genuinely interesting to watch you create it.
    Great job so far.

  • @Maribro4
    @Maribro4 3 ปีที่แล้ว +1

    This random video popped up in my feed. And i gotta say i had a fun time. You've earned yourself a sub and i'll be looking forward to seeing more

  • @McConnellMatthew
    @McConnellMatthew 3 ปีที่แล้ว +5

    That is a really cool movement system you came up with. It is amazing how even just a small collection of simple rules playing out can lead to such emergent complexity.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +2

      Absolutely. That's what fascinates me so much with boids, especially the more complex behaviors. I would like to use some of those in this game, like following the leader. You can imagine a skelly boss that roams around the map with a group of skellies following behind him. Or just skellies forming groups in general and moving together.

  • @lyukduke
    @lyukduke 3 ปีที่แล้ว +4

    This devlog is so helpful!!! I quitted on developing my own game years ago, this brings back memories and motivation to try again! Thank you!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +2

      Do it. It's the best thing I've ever done with my life. :) I also quit for a while, and I'm so glad I got back into it. You've got this!

    • @concernedcitizen9101
      @concernedcitizen9101 4 หลายเดือนก่อน

      @@GameEndeavor You're a legend

  • @pspeasant6220
    @pspeasant6220 3 ปีที่แล้ว

    This is by far the coolest devlog I have ever seen man amazing job. this video is truly an inspiration.

  • @austensperry4163
    @austensperry4163 2 ปีที่แล้ว

    This was fascinating! Thank you so much for sharing your different experiments!

  • @MeemBeen
    @MeemBeen 3 ปีที่แล้ว +7

    This all seems really cool. And it's also really putting into perspective the difference between game design by Google troubleshoot VS actually knowing how to program hahaha.
    One cool thing I'd probably add is some chance for the enemies to take a fast attack at you if they are at your back, exposed, and you're facing another enemy. Like a sort of backstab manuever that serves as a punishment for getting surrounded.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      lol, the experience does help a lot. xD
      I don't want to discourage being surrounded. imo combat is a lot of fun when you are surrounded and having to change your target to the biggest threat. But I'll play around with that idea. :)

  • @geoffreymegardon5624
    @geoffreymegardon5624 2 หลายเดือนก่อน

    Very impressively detailed ressource on enemy movements! Thanks for sharing!

  • @curiouslycory
    @curiouslycory 3 ปีที่แล้ว

    Lots of really great thoughts and concepts here. Thanks for sharing!

  • @TheGangstaMofo
    @TheGangstaMofo 3 ปีที่แล้ว +10

    This is one of the coolest 2D combat AIs I've ever seen. Looks amazing when they fight each other. And it seems pretty simple as well. You should definitely implement a spell which will make an enemy attack other enemies (mind control). I think it would fit extremely well with the AI. Saved the video for future references. I might implement something similar.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +4

      Thank you. I've already added such a spell! :D I mean, it needs so ironing out, but yeah. Also added a necromancer spell to summon your own skelly. It's pretty nice.

    • @nlaps
      @nlaps 3 ปีที่แล้ว +2

      @@GameEndeavor That's amazing!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +3

      I expect the next devlog to be about it. :D

  • @choilive
    @choilive 3 ปีที่แล้ว +3

    Im a developer (but not for games) and found this really fascinating. I liked that it had enough technical detail so that I could probably implement this myself if I wanted and enough visualizations to understand exactly whats going on and why you made the design decisions that you did. Subbed. Keep it up!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      That's exactly what I'm after with my devlogs. :) Informational for the developers that watch, entertaining yet understandable for everyone else. Hadn't considered non gamedev devs though, so glad to get your perspective. :D

  • @jeremybond2
    @jeremybond2 3 ปีที่แล้ว

    I got most of what he said but it was so much fun looking at this that I watched the whole thing twice... Great stuff man!

  • @honeyproto3455
    @honeyproto3455 3 ปีที่แล้ว

    Hey, I just found this video on my recommended, which is very convenient since I was trying to figure out how to make combat fun in my game! It'll take me a few to figure this all out, but thanks for the video! Very helpful :)

  • @Dolphin002
    @Dolphin002 3 ปีที่แล้ว +11

    Good news: I found your channel and I enjoy it!
    Bad news: I watched all your videos in one sitting and now I have no content to watch

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +2

      lol, I'm working on a video now that I hope to push out soon. :) Thanks for watching! :D

  • @BlueFan99
    @BlueFan99 3 ปีที่แล้ว +13

    Damn! This looks amazing! A lot more games could benefit from using similar combat ai cuz it looks really smooth

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Thanks! Yeah, been hearing that a lot, lol.

  • @Ceefaproductions
    @Ceefaproductions 3 ปีที่แล้ว

    Awesome work man, great use of applied math to get such behaviors. I used to do game dev professionally and wanted to try my hand at solving the same problem of enemies bunching up but kept getting projects that weren't the type of games that had that problem to solve and I tended to work long enough that I was too burnt out at the end of the day to work on personal projects. I'd thought about playing around with using weights with the 'boid' type logic as a solution but there are a more parts to the puzzle I never got around to approaching that you've came up with some great answers for. This is very cool to see, keep up the great work!

  • @AlexanderMouse
    @AlexanderMouse 3 ปีที่แล้ว

    That's a lot of knowledge and experimentation results packed into

  • @the_procrastinator8606
    @the_procrastinator8606 2 ปีที่แล้ว +7

    Just returned to this video for the hundredth time or so, and now, since I'm quite a similar processing of implementing context-steering behaviors to my game, I couldn't help but notice that your implementation of the collision avoidance behavior is MILES away better than anything I could ever come up with for mine.
    I'm currently using a combination of the navigation 2d plus a standard context-steering-behavior (started from the kidscancode tutorial and built it up from there). So far I've already implemented both chase & flee behaviors (and a "standby" one for middle-ground)... But no matter what I do, I always end up with enemies either overlapping themselves WAY too much - especially when they "enter" each others' collision shape, they kinda get stuck in there since it kinda disrupts the raycasting - or they keep getting stuck in those infinite search-cycles of spinning around. (I'm using the direct_space_state for multiple raycasting)
    Should I turn collisions on for enemy vs. enemy? Or should I keep it only via the raycast (so they won't get stuck when high in numbers)?
    Tried to mess around with flocking but I think it's kinda over my head... Thus I heard performance is not the greatest; that and I simply do not whether it'll produce any kind of superior result than the standard context-steering behavior.
    Any kind of resource on the area (specifically for Godot + actual pathfinding application of it) would be greatly appreciated. Thanks in advance!
    for reference: I'm currently utilizing the addition of the danger to its opposing interest. At first with it, I got into that infinite circling situation, but after applying a curve normalization to the interest array, it went away... Still, enemies are simply overlapping each other way too much.

    • @the_procrastinator8606
      @the_procrastinator8606 2 ปีที่แล้ว

      update: got quite a bit luckier with the cast_motion function, by casting a copy of the character's colshape 2d into motion and give the danger score based on how successful each motion went. Enemies overlap each other a LOT less now, and tend to get "blind" by being stuck inside of each other a lot less.... However, it seems to be very performance intensive, I'm afraid - so it limits me on how many rays and how far I can cast each one of them.

  • @greymatter4096
    @greymatter4096 3 ปีที่แล้ว +171

    There’s a game called Archvale which is similar to this and started development 3 years back. I was wondering if this was an inspiration at all?

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +83

      0 inspiration (Archvale seems like it'll be a great game, but not one that I personally will enjoy) and imo nothing alike. :) In fact I even developed my own sword mechanic before I ever heard of them and have been designing this game / story in one form or another for over 18 years.
      This is inspired by 0x72's dungeon pixel art set that I used in the first of miziziziz jam about a year and a half ago (linked below) where I spun the sword around the character (this jam / tileset even directly got me interested in working with pixel art), and over time polished it up until what it is today.
      th-cam.com/video/u0GZKJGeQLY/w-d-xo.html
      Archvale is a fast paced, procgen bullethell roguelike (every one of those words is why I'm not interested personally, but respect what they've done). Zoe and the Cursed Dreamer is a slow paced RPG with some action elements. More akin to if Stardew Valley's NPCs suddenly found themselves in Morrowind. :)
      That said, if I'm not mistaken, Archvale is inspired by Terraria, as am I, it being one of my favorite games of all time. Which is probably how we both came to the same sword mechanic separatly. But my only inspiration from terraria is the freedom of the sword swinging mechanic. :) The single facing sprites is simply because it has cut my character art by 2/3rds, and so many games have done eactly this for exactly that.

    • @greymatter4096
      @greymatter4096 3 ปีที่แล้ว +12

      @@GameEndeavor I see, I was just wondering cause at a glance they seemed similar. I do really enjoy these videos too it’s fun to see the development of a fun looking indie game.

    • @bluesap7318
      @bluesap7318 3 ปีที่แล้ว +4

      I remember my friend in college making a flash game like it. It only had one map and took 2.5 mins to complete.

    • @mospusthespider1246
      @mospusthespider1246 3 ปีที่แล้ว +1

      Moment when the pinned comment has 4 likes

    • @greymatter4096
      @greymatter4096 3 ปีที่แล้ว

      @@mospusthespider1246 It is what it is my friend 😂

  • @Zurasuta
    @Zurasuta 3 ปีที่แล้ว

    This is very helpful in a conceptual level. Thank you!

  • @fyzxnerd
    @fyzxnerd 3 ปีที่แล้ว

    This is so cool. This video just randomly showed up in my feed and about halfway through I subscribed. Keep up the great discussions like this love the breakdown in your thought process.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Thank you! Yeah, I like to keep it informational and entertainment. I like that kind of content personally. :)

  • @Addercus
    @Addercus 3 ปีที่แล้ว +9

    You are too smart, damn this is amazing!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +2

      You're too kind, thank you. :)

  • @nachoijp
    @nachoijp ปีที่แล้ว +4

    I love that you made the behavior emergent instead of scripted. It looks amazing!

    • @GameEndeavor
      @GameEndeavor  ปีที่แล้ว +3

      Thank you! Yeah, it's a big improvement over purely scripted. I'm wanting to do some emergent gameplay mechanics in this game because it's such a fun concept I think. Hard af to do, but fun. xD

  • @Malitor
    @Malitor 3 ปีที่แล้ว

    Man, this looks so great! Good job!

  • @Alvaritoo79
    @Alvaritoo79 11 หลายเดือนก่อน

    Super cool to see your approach on this! Congratulations on the results

  • @neco5740
    @neco5740 3 ปีที่แล้ว +7

    I see the algorithm brings us together once again

  • @daniiii888
    @daniiii888 3 ปีที่แล้ว +8

    I have a random ideia here: projectiles should get weaker the longer they travel. That way players would be rewarded for getting up close to the enemy and risk getting damaged. This would also make it so that projectile classes can't just camp far away.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +6

      That's an interesting idea. I would want to convey this to the player because I don't like hidden mechanics that could be confusing. But I could do some speed lines effect that step down in stages as the projectile weakens. I'll play around with this, thanks for the suggestion!

    • @tiamat9874
      @tiamat9874 3 ปีที่แล้ว

      @@GameEndeavor You could also change size, having it taper off towards the edge of range, aswell as speed, and maybe even color.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      @@tiamat9874 I like the size idea. :)

    • @635574
      @635574 3 ปีที่แล้ว +1

      Maybe a relative damage indicator or hit animation to indicate damage, this isnt looking like a explicit number and healthbar game.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      @@635574 health bars are a possibility, not numbers so much.

  • @sul.7900
    @sul.7900 3 ปีที่แล้ว

    hidden gem. You should have a LOT more views. This is outstanding work and as an aspiring game dev student I'm totally in awe over how good this looks!

  • @badmonkey91
    @badmonkey91 3 ปีที่แล้ว

    Your games are always wonderful. And I really enjoy the way you describe them.

  • @duckonaroll1913
    @duckonaroll1913 3 ปีที่แล้ว +3

    I suggest that when enemies are fighting each other, when the enemies in their group start to go down (say skeletons defeat 3/5 sprouts in a herd) then the losing side starts to run away.

  • @marcopohl4875
    @marcopohl4875 3 ปีที่แล้ว +4

    that reminds me of two AI ideas I had for an MMO I may or probably make once I motivate myself to learn coding:
    1. Enemies of the "Undead" type will always move toward each other when not having spotted a player to attack, this can snowball until it riggers the "Zombie Apocalypse" world event,
    2. there's a pollution system similar to Factorio, this will give players who focus on building stuff something else to do by having their building attract nearby monsters.
    are those good ideas? I don't know yet how they would interact.

  • @tooky_7087
    @tooky_7087 3 ปีที่แล้ว

    I just found this channel and I immediately got it exited when he started talking about this game. I can’t wait for it to come out.

  • @dynamichunter843
    @dynamichunter843 3 ปีที่แล้ว

    This is awesome. Got my subscription for sure!

  • @bonjagonzales1868
    @bonjagonzales1868 2 ปีที่แล้ว +7

    What I personally find fun in fighting AI, is when they can tactically coordinate with each other, for example Combine Soldiers from Half Life 2.They feel more real and are quite challengingly fun to fight against.

  • @r2o2
    @r2o2 3 ปีที่แล้ว +6

    I'd love a tutorial on this! Keep up the good work!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +5

      Some time soon I plan to make a video that goes into further detail about this. :)

    • @Joshua-hk8mn
      @Joshua-hk8mn 3 ปีที่แล้ว +1

      @@GameEndeavor hey I dont know if you're already done or not. I'm trying to replicate the steering behavior stuff, but I'm having a really hard time with collisions from those vectors. The guys set to avoid a wall obstacle try to go around but end up going through. If you could cover it. God bless.

    • @masterblastr
      @masterblastr 2 ปีที่แล้ว +1

      @@GameEndeavor PLEEEEASE do. I love the system and the game looks great!

  • @inuinuinuinuinu
    @inuinuinuinuinu 3 ปีที่แล้ว

    this is awesome and inspiring. your really cleanly break down how you used the different tools at your disposal to generate really complex behavior! you're a great teacher! also, the visualizer you made for the weighted movement options is a genuine piece of art by itself. i feel like you managed to make the game development process into a game itself. cheers!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Haha, funny you should say that because this absolutely is a game for me. My community will often tell me that I need to play more games, but to me this is my game. I love this kind of thing. :) Glad you enjoyed the video!

  • @charlieluz830
    @charlieluz830 3 ปีที่แล้ว

    OMG! I really like what you trying to do, actually looks like a great game to play tomorrow

  • @jay-tbl
    @jay-tbl 3 ปีที่แล้ว +4

    The enemy battles look so realistic!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +3

      Thank you. Still need to iron out some kinks, but I'm very excited for it. :)

  • @brandonmack111
    @brandonmack111 3 ปีที่แล้ว +19

    This game just looks so amazing - even I, who hate most game combat, think this combat looks fun ;)
    Can't wait to see where this goes!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Thank you! Do you mind if I ask what it is about most game combat that you hate?

    • @netcore10
      @netcore10 3 ปีที่แล้ว +3

      @@GameEndeavor For me, it's when it's predictable when it shouldn't be. You've solved that though. It's like how darksouls needs to be predictable, vs when a game needs immersion.

  • @infinitenex8165
    @infinitenex8165 3 ปีที่แล้ว

    I like how in depth you explain your decisions. Subbed and will be watching with great interest.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Glad you like it. The next video should be especially interesting I think. :)

  • @illsaveus
    @illsaveus 3 ปีที่แล้ว

    I had a little trouble following what you’re talking about but I appreciate the time you spent on the iterative process for NPC combat. Can’t wait to check this out!

  • @kermitlaranja
    @kermitlaranja 3 ปีที่แล้ว +5

    This game looks sick man, i wish i was as talented as you are at making games

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      You can be, you just have to learn. I was terrible at it not even that long ago, but I started doing jams and learning how to improve.

  • @brandonanderson8663
    @brandonanderson8663 3 ปีที่แล้ว +4

    Would you be willing to show us the end code you are using? Both the idle and target? I think this looks nice and I would like to see it and play with the variables.

  • @Sableknight
    @Sableknight 3 ปีที่แล้ว

    This is fantastic, I appreciate how deeply you describe your design process and decisions! Good luck with your game!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Thank you! Glad you enjoyed it. :)

  • @dominikthurau9944
    @dominikthurau9944 3 ปีที่แล้ว

    Your videos are so chilling to watch and interesting, you got me as a follower ;D

  • @Dragonorder18
    @Dragonorder18 3 ปีที่แล้ว +3

    An AI system built like that. It's got to be revolutionary for how smart it is turning out. I could imagine it even better if Monsters were the main focus of it, where you're a monster tamer raising a bunch of those into a fighting force. And you wanted your monsters to act semi autonomous. You could suddenly have a game for monster hoard battles!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Something like that, but I have slightly other plans for this. Perhaps in another title. For this you can have one pet follow you (tameable / raisable), party members, and if you're a summoner / Necromancer you can summon one entity to follow you as well.

    • @Dragonorder18
      @Dragonorder18 3 ปีที่แล้ว

      @@GameEndeavor You know what I'd think you could with it? I'd see if you can get a development partnership with a well known Monster franchise, and team up with them to develop a game together someday. So many of them are just... Lacking in a great AI, yet still managed to get some popularity. Kinda like the digimon world games that the digimon just fight while the player just gives orders and raises them up. I always thought those games could of been so much better.

  • @CobainSnake
    @CobainSnake 3 ปีที่แล้ว +13

    This looks amazing, I love the gizmo as well, it really helps visualise the 'intent' of the AI.
    Would adding a little randomness to those angles be a good design choice? If not, why not?
    Take for example Doom's character movement - they use a randomly generated number to zigzag towards the player. This means that no 2 interactions are quite the same, however at the cost of sometimes sub-optimal pathing. I'm wondering what the implications of changing your dot_away to have a little random factor in it (for example generating a factor between 60, 65) would mean for the enemy AI here.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +3

      Thank you! Randomness could be good. :) I actually did this when I was trying to figure out the strafing behavior. My first attempt was to generate a random angle and use it to rotate the seek normal before applying weights to it, and it produced a behavior similar to this. However I removed it in favor of the shaping function that I use now and completely forgot about it. I'll make a note to re-add it back in to the seeking behavior before strafing. :)
      When I did it, I generated a random value after every attack. I wasn't trying to zig-zag just invert the strafing direction. To do the zig-zag I'd need to randomize and invert it on a timer.

  • @josephturgoose7470
    @josephturgoose7470 2 ปีที่แล้ว

    The logic behind what you did sounds impressive. The game looks impressive. Good video, you just got yourself a new subscriber :)

  • @ElmiraTewa
    @ElmiraTewa 16 วันที่ผ่านมา

    your commitment to excellence is evident in every frame!️

  • @ayhana123
    @ayhana123 5 หลายเดือนก่อน +3

    what is this game's name?

  • @NaraSherko
    @NaraSherko 9 หลายเดือนก่อน +3

    I came here from Griffpatch

    • @His-Games
      @His-Games 9 หลายเดือนก่อน

      Welcome to the world of real devlogs. If you can understand the mechanics of what's being talked about you are doing it wrong.

    • @NaraSherko
      @NaraSherko 9 หลายเดือนก่อน

      @@His-Games Bro griffpatch made a devlog too

    • @Crystal_Drawings
      @Crystal_Drawings 9 หลายเดือนก่อน

      Samee

    • @TochedGrass3742
      @TochedGrass3742 9 หลายเดือนก่อน +1

      Same

    • @His-Games
      @His-Games 9 หลายเดือนก่อน

      @@NaraSherkoyeah and there are scratch devlogs, and there are devlogs which discuss using shaped trigonometric functions and min-maxing to make the movement of skeletons more realistic

  • @DragnEYE
    @DragnEYE ปีที่แล้ว

    Just stumbled across this channel and this is awesome! Just the inspiration and the info I needed to get back into coding!
    Also really cool looking game

  • @jonboi1127
    @jonboi1127 ปีที่แล้ว

    Awesome content! Thanks for the explanations

  • @_SparkHere
    @_SparkHere 9 หลายเดือนก่อน +3

    Those who came from griffpatch:
    👇

    • @TrollMonster24
      @TrollMonster24 9 หลายเดือนก่อน +2

      Those who came from Griffpatch:
      👇

  • @jman2150
    @jman2150 3 ปีที่แล้ว

    Having myself recently started some game dev projects and work on enemy AI movement I am crazy impressed with what you're doing. This is tough stuff and you make it look really good!

  • @Commonwealthgoose
    @Commonwealthgoose 10 หลายเดือนก่อน

    Awesome video and very helpful, thank you!

  • @millerbyte5579
    @millerbyte5579 3 ปีที่แล้ว

    Great stuff, thanks for sharing! Subscribed.

  • @penguindood8315
    @penguindood8315 3 ปีที่แล้ว +2

    Just discovered this channel today, instantly subscribed. You’re such a good programmer and artist, I love what you’re doing with this game.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Thank you! You're very kind to say so. This is the first game where I've been genuinely proud of the art.

  • @GrizzliusMaximus
    @GrizzliusMaximus 3 ปีที่แล้ว +1

    I'm new to the channel. I've seen many devlogs but this one is not only very useful, its super interesting!!! Thank you very much. I feel like just learned a new skill I havent actually learned yet. cant wait to try out making my own AI!

  • @gaminggaming7658
    @gaminggaming7658 3 ปีที่แล้ว

    This one of you vids really took off, which is well deserved with quality like this,
    Great video, I hope your project will do well.

  • @HoutarouOrekiOsu
    @HoutarouOrekiOsu 3 ปีที่แล้ว

    The explanations are very clear and easy to follow, and the presentation is great. Thanks for sharing!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Thank you for watching!

  • @alexeyvyakhorev171
    @alexeyvyakhorev171 ปีที่แล้ว

    Great vid, thanks for sharing the ideas!

  • @ashlerify
    @ashlerify 3 ปีที่แล้ว

    First of your videos I have seen, but love the in depth explanations of your process and found it all very entertaining. Worth the sub :)

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      Thank you! That's the goal, informative and entertaining. :D Glad you liked it.

  • @mr.capoone5008
    @mr.capoone5008 3 ปีที่แล้ว +1

    Can't wait for the next devlog. Congrats on how this vid has blown up! Your AI prototype with the shaping function causing the enemies to circle the player got me thinking: an enemy who was encountered in hordes whose strategy it was to actually surround the player and attack from all sides could make for some great variety in combat and interesting fights. Maybe keep this in your back pocket

  • @maddyv5948
    @maddyv5948 3 ปีที่แล้ว

    This looks amazing! All the best for your game 👍👍

  • @TheRoadtoJapan
    @TheRoadtoJapan 3 ปีที่แล้ว

    This is so cool dude. You clearly have a genuine love and interest in learning and improving existing game concepts. Subscribed.

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Thank you! That's pretty much me. I'm out here having fun pushing my skills to try and learn cool new things, and they're turning into a game, lmao. Thanks for subscribing. :)

    • @TheRoadtoJapan
      @TheRoadtoJapan 3 ปีที่แล้ว

      @@GameEndeavor Love it! I'll be tuning in more often :)

  • @darryllim9037
    @darryllim9037 3 ปีที่แล้ว

    Dear lord I can’t believe I only just found this channel great content dude have been binge watching your stuff and learning a bunch!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว

      You're very kind, thank you. :) Glad you enjoy it!

  • @prowokator
    @prowokator 3 ปีที่แล้ว

    I work on a project of my own and this is very interesting and well presented video! Subbed and all the best with your project!

  • @nichegames9590
    @nichegames9590 3 ปีที่แล้ว

    Wow, I'mma have to follow this channel. Very good stuff.

  • @centenarium
    @centenarium ปีที่แล้ว

    This was so educational. Subscribed!

  • @bladescreed
    @bladescreed 3 ปีที่แล้ว

    I may be a little late but this looks incredible! Already this well thought out behaviour makes everything seem infinitely more interesting!

  • @idkbruh173
    @idkbruh173 ปีที่แล้ว

    I love the way this video is made! It's quite in-depth, well-paced, and the glowing explanations are beyond awesome for nerds like me!

    • @GameEndeavor
      @GameEndeavor  ปีที่แล้ว

      Thank you! That's what I tried to achieve, so it's good to know it worked. :)

  • @Jay1001
    @Jay1001 3 ปีที่แล้ว

    I just discovered you thanks to TH-cam recommending this video. This not only is a beautiful looking game but I love the technical yet simple solutions you've developed to create enemy movement. You clearly have a lot of passion and creativity for your game and game development period. I'm very much looking forward to you finishing this game and will be following the progress. Good luck with the development!!

    • @GameEndeavor
      @GameEndeavor  3 ปีที่แล้ว +1

      Thank you very much! It's interesting when people point that out to me. I didn't expect my passion to shine through so much. :) Game development is very dear to me, it's actually my recreational activity. I rarely play games nowadays, instead I just enjoy making them.