Random Level Generation (walker) with a Player and an Exit - Godot tutorial

Поділитися
Вставка
  • Опубліковано 6 жов 2024
  • Thanks for watching my video!
    If you are interested in taking a deeper dive into the Godot game engine you can buy my 1-bit Godot Course at this link: www.heartgamed...
    Check out my Patreon: / uheartbeast
    Follow me on Twitch for GameDev livestreams: / uheartbeast
    Twitter: / uheartbeast
    Facebook: / heartgamedev
    Thank you all so much for your support!

КОМЕНТАРІ • 91

  • @AustinNotAustin
    @AustinNotAustin 4 роки тому +63

    HeartBeast: "My name is Ben-"
    My brain: "jamin"

    • @ufrshubham
      @ufrshubham 4 роки тому +5

      Exactly! Benjamin sound much better.

    • @uheartbeast
      @uheartbeast  4 роки тому +17

      Hahaha I use them interchangeably

  • @ss2cire
    @ss2cire 4 роки тому +37

    I’d love to see this series continue but it does provide a good foundation for getting started if it doesn’t .

    • @NeilRoy
      @NeilRoy 4 роки тому +6

      Agreed. And his brief explanation on how to add enemies near the end of this can also apply to treasure etc.

  • @coffeefingies
    @coffeefingies 4 роки тому +26

    Isaac-style room transitions could be an interesting technical topic

  • @krystenhohman9966
    @krystenhohman9966 3 роки тому +13

    I'd love to see a tutorial about adding premade rooms & enemy spawners (to any procgen method, really). Your tutorial style is definitely the one I learn the best from.

  • @grumbleguff7376
    @grumbleguff7376 4 роки тому +8

    Hi Ben! Thanks for the great video - I would love to see some enemies/challenges added to this room generator. It makes a great foundation for an exploration game

  • @mythology100
    @mythology100 4 роки тому +3

    Got the 1-bit tutorial, @HeartBeast. Very informative and I truly enjoy what you have done here too. Keep it up!

  • @nobodyinparticular80
    @nobodyinparticular80 2 роки тому +1

    This series gave me so much inspiration I couldn’t sleep last night!

  • @boxcat8724
    @boxcat8724 4 роки тому +25

    You should try making an online game I havent seen many tutorials on that.

    • @uheartbeast
      @uheartbeast  4 роки тому +31

      Unfortunately that's not an area of Godot I have enough experience with to make tutorials on right now. Maybe someday, though.

    • @boxcat8724
      @boxcat8724 4 роки тому +12

      Okay thank you for at least responding normally alot of youtubers don't even respond to their fans.

  • @Lion4de
    @Lion4de 10 місяців тому +2

    Would LOVE to see more videos on random / proc generation in Godot!!

  • @sleepychicken3938
    @sleepychicken3938 4 роки тому +3

    Your second video didn't even show up in my feed. I feel cheated.
    Love the series, you do excellent work.

  • @nahomaraya2377
    @nahomaraya2377 4 роки тому +3

    Oh my God...I was just wondering if you would ever continue with this new series. Thanks a lot Ben!!

  • @NeilRoy
    @NeilRoy 4 роки тому +3

    In your change_direction() function, you reset the steps_since_turn to zero, then you choose a new direction. I realized this leaves a chance that it will choose the same direction it was going, and seeing as how the steps_since_turn has been reset, you could still end up with long halls. Only a 25% chance of course.

  • @Drachenbauer
    @Drachenbauer Рік тому +2

    Here is a tip:
    Everywhere, where you add a position to the step_history array, surround that line with an "if !step_history.has(that_named_step_there)"
    that prevents from having the same position multiple times in the step-history.
    I noticed this, as i used the tilemap-layout, created by this system to generate a dungeon out of 3d-blocks.
    For this i made it directly draw the layout out of tiles instead of "carving" it out of a huge rectangle.
    I created a 47 blocks-system, that resembles an autotile-/terrain-connect-compatible tileset.
    Than i added a way to generate clickable doors, where 1 cell width hallways connect to whider rooms.
    I noticed, that there are 16 dungeon-blocks, that indicate exactly theese positions.
    So i used theese blocks to tell for placing doors.
    i noticed that duplicated positions behavior through these doors, that multiple of them where stacked in the same position.
    now with the check before actually adding a step, the doors are no longer stacked and work as expected.

    • @frodo4503
      @frodo4503 Рік тому

      hey, do you have code that makes map instead of craving it out? I cant seem to figure it out yet...

  • @brunocintra5332
    @brunocintra5332 4 роки тому +3

    please continue, this is amazing!

  • @7_rlz_714
    @7_rlz_714 4 роки тому +1

    Great tutorial, I would like to see more continuation in this series

  • @sidned5768
    @sidned5768 3 роки тому +2

    you should do another episode with enemies in this series

  • @Gucci_God
    @Gucci_God 4 роки тому +1

    I love this series so i'd be happy if this would continue

  • @NeilRoy
    @NeilRoy 4 роки тому

    Please continue! I have watched many videos on this style of level generation and none even come close to the quality of your videos.

  • @SharyqSiddiqi
    @SharyqSiddiqi 2 роки тому

    This series is amazing, seeing as its been a year and you haven't added any new vids, Im assuming you decided not to continue with it, but from what is here, it is an amazing resource and teaches a lot about level generation. Thanks!

  • @MrBfurse
    @MrBfurse 4 роки тому

    Please don't stop this series! It is amazing and so helpful

  • @MarkJrLuat
    @MarkJrLuat 3 роки тому +2

    I love this series, can you make one more tutorial about enemies

  • @ethanstringham9710
    @ethanstringham9710 Рік тому

    This video may not have performed as well as others but it was invaluable to me, I would love it if you made a series on different level generation methods!

  • @jlizzle85
    @jlizzle85 2 роки тому

    fun to code along side you. Thanks for taking the time to make these videos.

  • @kenmacdonald3619
    @kenmacdonald3619 2 роки тому

    Thanks for this! Your videos are really informative and helpful! I wish this one was continuing but I'm sure i could figure out thespawn thing. Thanks again for taking the time to make all your videos!

  • @mmilerngruppe
    @mmilerngruppe 4 роки тому

    really nice! I am really enjoying the lack of bloated oop shit. you keep things simple and I love it.

  • @BlackCat-gh8fr
    @BlackCat-gh8fr 3 роки тому +1

    Thanks, could you please do another part and show us how to make enemies etc? I'd love that.

  • @raindeir5860
    @raindeir5860 4 роки тому +1

    Amazing! Thanks for the amazing tutorial series!

  • @Drachenbauer
    @Drachenbauer Рік тому

    I improoved the winning situation in my 3d-version:
    Instead of an exit-door i place a dreasure chest.
    And i make it detect win, if the player reaces a naighbor-cell of the chest, facing to the chest.
    My player-character moves in cell-grid-style (in cell-sice fices axis alligned steps)
    If win is detected, i make it pop up a lable with a winning-message and load a new dungeon a few secconds later.

  • @mohammedaldubaisi5808
    @mohammedaldubaisi5808 4 роки тому +3

    I thought that you will upload a demonlock devlog.
    but this is a good tutorial too (:

    • @uheartbeast
      @uheartbeast  4 роки тому +2

      No devlog this week. Had some setbacks. Hopefully I'll have one next week :)

  • @lucgagnon7169
    @lucgagnon7169 3 роки тому

    I realy like all your videos. I've been trought alot of them since i found your chanel !!

  • @MrBfurse
    @MrBfurse 4 роки тому +3

    Hey Ben,
    going on from this tutorial i have made a few bottomless pits within my world, if you are going to continue this series, could you possibly provide some information on environmental things that will restart the level alongside enemies and items to collect.
    thanks

  • @Caffeinated_Capybara
    @Caffeinated_Capybara 3 роки тому

    this was really informative! I hope you explore more algorithms.

  • @epeon-wisp
    @epeon-wisp 3 роки тому

    Thnx for the series man, really appreciate

  • @pierrenagonio
    @pierrenagonio 3 роки тому +1

    Saddly cant find more videos about this topic on Your channel. Looks like this serie wasnt good. My mind is different. Thank you for this 3rd part an waiting for next one. Maybe?

  • @Flo-go6bf
    @Flo-go6bf 3 роки тому

    I love your videos. If you ever continue this playlist, could you make a video how we could fill the room we created with a different tillset?

  • @GamesUesu
    @GamesUesu 4 роки тому

    Thank you for the tutorial, i hope you can continue.
    By the way, you know Mystery Dungeon Games? Players and enemies moving in a grid in a turn based movement and actions, games like pokemon mystery dungeon and Shiren the Wanderer does this, i'll love if you can make and teach us how to do such a thing, like fighting monsters in a grid-turn based, looting items from ground.
    Well good luck!

    • @jawas4181
      @jawas4181 2 роки тому

      Maybe a Global variable,
      the player can use the even numbers and the enemy can use the inpar

  • @g0ldhat55
    @g0ldhat55 3 роки тому +1

    Can you make a tutorial with random enemies spawning and doors locking please

  • @ryanh1869
    @ryanh1869 3 роки тому

    Please do a #4. Thank you so much for this!

  • @verrofy
    @verrofy 4 роки тому

    I would love to see a cellular automata / noise Top-Down 2d Map generation with islands and things like that!

  • @OwlBeats58
    @OwlBeats58 3 роки тому +1

    How do I put enemies in each room? I am a beginner to Godot. Great tutorial!

  • @marktriestolive1781
    @marktriestolive1781 2 роки тому +1

    I think im late for the party but can u make a part 4? Enemies and other stuff. Like decor. Thanks.

  • @Laurent_GameDev
    @Laurent_GameDev 4 роки тому

    many thanks for that Ben !

  • @RandomGuy-kd3xs
    @RandomGuy-kd3xs 6 місяців тому +1

    How to prevent room overlapping

  • @ikesch9288
    @ikesch9288 3 роки тому +1

    Hey! how can I increase the size of the dungeon and the corridors?

  • @lokelindblad3841
    @lokelindblad3841 3 роки тому

    Would love to see how to apply a tilemap to this

  • @DevDunkStudio
    @DevDunkStudio 4 роки тому +1

    Awesome!

  • @jrmblk8392
    @jrmblk8392 4 роки тому +2

    Thanks a lot for this tutorial !
    I justhave a question, I'm currently using this tutorial to generate a sort of tunnel going from left to right.
    The thing is I would like to make it so that it is infinite, I tried for 2 days but could not find any solution :/

  • @Sam-wn3ov
    @Sam-wn3ov 4 роки тому

    Can you make a video teaching how to create a random generation with enviroment?
    Ps: i love you and your channel

  • @Xethenion
    @Xethenion 4 роки тому +1

    I have a question that relates to your Action RPG in Godot 3.2 Tutorials. So I know how to change scenes by using an area2d with a script on collisionshape2d to change scene(levels), but I am unable to find
    how to set a spawn point for the player when they are changing scenes. I basically need to set coordinates for the player to spawn at when changing scenes, but not sure how to do this. Currently using duplicate versions of world scenes to do this, but this would prevent other players from being in the same room without doing a large loop because of this. Could you provide how this is done either in this comment or as a video? Here is my script for changing scenes below.
    extends CollisionShape2D
    export (String, FILE, "*.tscn") var world_exit
    func _on_Area2D_body_entered(body):
    get_tree().change_scene(world_exit)

  • @strew8823
    @strew8823 4 роки тому

    Can you take a video explaining google play services for gms2? For example, advertising, in-app purchases, registering player information in google play account

  • @somedude5951
    @somedude5951 2 роки тому

    Almost 20,000 views now.
    Interesting.

  • @samuelchristian2688
    @samuelchristian2688 2 роки тому

    Rlly noice tut series 😢

  • @brandonphilander661
    @brandonphilander661 4 роки тому +1

    Roguelike please.

  • @zseans2178
    @zseans2178 4 роки тому +1

    hi ben im from Indonesia god luck for you

  • @SKtheMage
    @SKtheMage 4 роки тому

    Hey! If you could, can you do terrain generation(top down) tutorial? Thanks in advanced

  • @friskobar
    @friskobar 4 роки тому

    PLEASE make a tutorial of 3d games because i know there is a different type of code between 2d and 3d games, and im focusing in making a 2d game c:

  • @divyeshchaudhari4119
    @divyeshchaudhari4119 3 роки тому

    pweese make a procedural map system for that last RPG game tutorial.. I am trying to use this logic rn but.. you know... the forest is not made of rooms "^-^ .. and i am trying to make something that generates map chunks or something like that.. welp Thanks to you i could start my final year project in college @-@ Arigato! (i am not Japanese but i like anime)

  • @royplays4634
    @royplays4634 4 роки тому

    are you the brother of awesome tuts guy?

  • @cornifer_caves
    @cornifer_caves Рік тому

    When I run this I find it opens really slow, and take a while to generate a new level, is it just editing or have others have this and if do is there a fix.
    I get this method is a little slow by defualt but I just wanted to know if it's just to do with my computer being old

  • @sseshadowrider3553
    @sseshadowrider3553 4 роки тому

    Can you make a tutorial on making a enemy?

  • @robertvs6429
    @robertvs6429 6 місяців тому

    I have issues in placing enemies, anybody can help?

  • @lop3436
    @lop3436 Рік тому

    plz do one for gms2

  • @sea_ferret
    @sea_ferret 3 роки тому

    Is there a way to add doors in the hallways?

  • @DArK-xj8lr
    @DArK-xj8lr 3 роки тому

    can i do this in 3d too? i mean to make 3d grid based levels

  • @kushal8621
    @kushal8621 4 роки тому

    Hey friends
    Needed some help
    i want to move my character through area2d or any other node
    And I want to make my character appear double or more
    Like the game SKY by ketchapp

  • @AllovQC
    @AllovQC 3 роки тому

    I don't get why your collisions are working. I mean, your colliders are all the tiles, how does the character is able to move when it's colliding with everything?

    • @AllovQC
      @AllovQC 3 роки тому

      WOW! ... I think I just understand what's going on. Maybe you explained this in the first video (gonna have to go back and listen), but it wasn't clear that the walker is actually CARVING a path... lol

    • @AllovQC
      @AllovQC 3 роки тому

      And I just checked, you mention a "digger" in the opening of the first video. Sir, continue that awesome job of yours!

    • @luminousdragon
      @luminousdragon 2 роки тому

      @@AllovQC I know this comment is a year old, but ill still mention this. Yeah you got it. In one video, i assume the first, he holds ctrl-shift and places down all of the tiles just larger than our game room size and then uses the measuring tool to explain why. this is where everything is collisions.
      the generation is carving out a path as you mentioned. I would have to check the code to be sure but we set the tile to -1 if we visit it, which is kinda making it disappear.

  • @vincentjenei
    @vincentjenei 4 роки тому

    Whats the discord link?

  • @neepthepeep2276
    @neepthepeep2276 3 роки тому

    for the love of god make another video for generating enemies i will pay HAHAHAHAHAHHAHA but for real pls

  • @step3033
    @step3033 4 роки тому

    Come back to gms2 pls. I miss you ;)

  • @СИМОН-ц6о
    @СИМОН-ц6о 4 роки тому +1

    Please try UE4...

    • @uheartbeast
      @uheartbeast  4 роки тому +1

      I've tried it a few times. Even made a small test game with it. I don't really enjoy it.

    • @KlausWulfenbach
      @KlausWulfenbach 4 роки тому +1

      Unless you already have a team of dozens of 3D artists, Godot > UE4. By a LOT.

    • @СИМОН-ц6о
      @СИМОН-ц6о 4 роки тому

      @@uheartbeast (

    • @vincentjenei
      @vincentjenei 4 роки тому +1

      @@KlausWulfenbach not necessarily. there are benefits to both. however you are right because ue4 is meant for much larger games.

  • @machzero1457
    @machzero1457 4 роки тому +1

    Tryto create a 3D RPG.

  • @Demogooo
    @Demogooo 4 роки тому

    e

  • @forgdeer
    @forgdeer 4 роки тому

    fist