Rooms in a Walker Level Generator - Godot Tutorial

Поділитися
Вставка
  • Опубліковано 8 лип 2024
  • Thanks for watching my video! I hope you enjoyed learning about random level generation.
    Github page: github.com/uheartbeast/walker...
    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.heartgamedev.com/1-bit-go...
    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!
  • Навчання та стиль

КОМЕНТАРІ • 73

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

    Here is the github project (MIT License): github.com/uheartbeast/walker-level-gen
    If you haven't seen part one you can find it here: ua-cam.com/video/2nk6bJBTtlA/v-deo.html
    YAY! The sound is better in this one. I hope you enjoy the video and your weekend.
    - Ben

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

      i know Im randomly asking but does someone know of a tool to log back into an Instagram account..?
      I was dumb lost the password. I would appreciate any tricks you can offer me

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

      @Terrance Jeffrey instablaster :)

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

      @Devon Imran Thanks so much for your reply. I found the site thru google and im in the hacking process atm.
      Seems to take quite some time so I will reply here later with my results.

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

      @Devon Imran It did the trick and I finally got access to my account again. I'm so happy:D
      Thank you so much you really help me out !

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

      @Terrance Jeffrey No problem :D

  • @pudgystump
    @pudgystump 4 роки тому +23

    I absolutely love random generation. If you're going to continue on with this particular method of random level generation, could you also please add in some more fleshed out Tilemaps with art and show how to randomly populate the areas where a player can walk around with stuff to make it seem more alive?
    Absolutely LOVE this channel, keep up the awesome work!

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

      Agreed, you should definitely keep this series going would love to see a more game-ish implementation of random generating levels.
      Keep up the good work

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

    I love that you show always in the beginning what is the video is about and you actually show it at the beginning how it will look like! That's awesome. Love your videos!

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

    Great tutorial, every time I think I know Godot you show me new content hahaha

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

    I remember finding your tutorials way back when I was first trying to get into games-dev. Before getting into Uni and such now I'm going into my third year and applying to these game-dev jobs doesn't seem like such a pipe-dream. Very glad to see you're going strong - perfect timing too, planning on dipping my toes into Godot for a while. Unity's animation system driving me crazy.
    Gamemaker double jump if I remember correctly was what I found you through :)

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

      Wow! That video is pretty old so you've been following for a while haha :)

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

    I dont know why I've had such a hard time finding a decent level generator tutorial but this one is so straightforward and EASY to use. You explain everything perfectly. (so those hashtags are getting used quite a bit in my code lol).
    I'm really looking forward to implementing this (with my own tilemaps) into a project.

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

    I love all your tutorials, they are simple and straight to the point. On other tutorials I usually play on 1.25x to 1.50x speed because they talk so slow.

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

    Perfect! just what I needed. Would love to see your approach on a walker with pre-made rooms

  • @sergeiorlov5096
    @sergeiorlov5096 4 роки тому +13

    Idea for this system:
    How to generate a "premade rooms" within the rooms that generated.
    Like in diablo. For instance... you have a room that is 3x5 blocks, so the algorithm can check what types of rooms are "premade" to fit this size ( like a smithy/ treasure room/ torture chamber/ whatever...)
    I hope you cought my drift)))

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

    Please continue this series its great!

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

    Another great tutorial! really love what you are doing!

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

    VERY nice! I have been exploring Rogue-like level generation on my own, coding it from scratch rather than Godot (though I do have and like Godot). I never thought of this walker style system, as I am rather new to Rogue-likes. It's an elegant solution that seems VERY flexible! in my own implementation I was generating the rooms at random locations first, none overlapping then connecting them with halls. I like this much better. I may try and code this myself again (in C) (just to do it) then maybe boot up Godot and see what I can come up with.

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

    Loving the fact that this also works with a 3D gridmap.

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

    Thank you! Lookin forward for the next video

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

    So good, thanks a lot for the tutorials!

  • @n-icebeam
    @n-icebeam 3 роки тому

    Exactly what I was looking for! (know the Hearthstone reference). Good video, thank you!!!

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

    I reached here so fast, your series are kind of adicting

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

    You're a good person, Benjamin.

  • @okok-jf2qw
    @okok-jf2qw 3 роки тому

    i love you, ben. you are a good guy

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

    Awesome ben!

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

    generating enemies and treasure rooms would be amazing

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

    Thanks!

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

    Opa muito bom , me ajudou muito. Obrigado :D

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

    If you want to try a variation on that, a hex grid based system would be interesting for caves or hex crawls.

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

      Fun Fact: You can use a simple 2D grid and convert it into a hex grid easily.

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

    Can you set different tile to represent door on connection of doors?

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

    What about the Hybrid Approach?
    For my game, I need to spawn Hand-made Scenes a specific distance apart (Spelunky style)
    as suppose to just generating the level automatically (Minecraft style).
    That hybrid approach is like giving the Level Designer a lot of pre-made Rooms in the form of actual TSCN files,
    and ze can also not physically place certain rooms next to other certain rooms,
    and that Level Designer is a computer algorithm.

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

    How would I go about reversing this as instead of deleting tiles, it places the tiles?

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

    HeartBeast, thanks for another awesome tutorial. Would you be willing to work in to the process of this a way to 'see' the walker doing its thing? I'm assuming a yield would be placed somewhere, and I've tried a couple of things but haven't been able to make it work just yet.

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

    nice video

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

    Please follow this series!

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

    Thanks for another great tutorial! Would you be likely to ever do one on branching dialog in Godot? It's surprisingly hard to find any good tutorials on that.

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

      I'd love to cover that at some point :)

  • @generic........
    @generic........ Рік тому

    Great tutorial!!
    Any clue where/if I can find part 3??

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

    Hey can you make a tutorial on how to place items in these dungeons like enemies or weapons?

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

    How do we make the levels look detailed tho, with flashy wall sprites and cliffs, etc.

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

    Hey, I wanted to ask you this on steam but its kinda down right now, But in your first devlog for Monster Pack you mentioned you will launch it on Itch.io any chance you will also launch it on steam? If cost of uploading is a problem im sure lots of people watching would love to chip in to make it a thing there. (personally I only buy games that are on steam)

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

    Please make video on " How to make a 2D game in Godot where the player
    can pick things from one scene and place them in other scenes (either by
    manually or by creating an inventory) . Also , how to make such game
    for mobile . We take and place things in inventory and then move to
    other scene and then place that thing at a "specific" point by dragging
    it from our inventory to that "specific" point . Also , how to show that
    we have placed the right thing from our inventory to that "specific"
    place ?
    Thank you

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

    The new walker generator reminds me of five nights at freddys.

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

    I've used Godot for 2 years but still kind of root for GMS2. Hopefully 2.3+ makes it even better, and a linux IDE would be nice, too. That was the main thing that made me switch to Godot. (which doesn't have console export like I want)

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

    hmm, thinking of how I'd be able to convert this generator into an isometric format

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

    say how to make it add a another type of tile instead or removing it?

  • @chrismaragos5413
    @chrismaragos5413 5 місяців тому

    I'm trying to do this in godot 4.2.1 with an isometric tileset and terrain, and it's placing the tiles in reverse - it's placing upper walls where the lower walls should be and it's not making rooms. Anyone who can help?

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

    Hi, im trying to buy your Godot Course, but i just cant (it does not let me). Is there some kind of limitation to buy it by country or something like that? Or region?

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

      Hey! Sorry you are experiencing issues. There shouldn't be a limitation of any kind. Send me an email (heartbeast.studios@gmail.com). I'll do my best to figure out what is going wrong.

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

      @@uheartbeast Okay, i just bought it =)

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

    can you expose the variables so you don't have to recompile, and tweak things in real-time?

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

      Yup! This page is a great reference for all the different export types in Godot. I use it a lot: docs.godotengine.org/en/stable/getting_started/scripting/gdscript/gdscript_exports.html

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

    I need a tutorial for C A L E N D A R S

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

    How is he changing rooms after he runs the program? Looks like it might just be a slide show of rooms he has previously done but I am not sure.

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

    What do you use to record your screen?

  • @Nobody-fm6ch
    @Nobody-fm6ch 4 роки тому

    Make tutorial about joystick pls!

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

    do u have a on screen control tutorial for mobiles? i love your content men.

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

    is it possible to do this in 3d?

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

      I think so, as there is also a tilemap feature in 3D called gridmaps

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

    Please make a procedural dungeon crawler or roguelike.

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

    Make a video on cellular automata for Godot in gdscript

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

    HOW TO BREAK IT: Trying making it bigger = breaking with no return. It won't ever function again, rewrote it btw but guess changing size literally broke like everything. Undo is useless, reloading a save before the changes just doesn't work and clearly rewriting it is not changing anything.
    I have a 100% copy of this and it just doesn't work anymore.
    Here is my only and single error: generate_level()

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

    Does anyone know what language he's using?

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

    Pleas make magic piano tutorial, or a fruit ninja tutorial

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

    As a programmer when watching your coding part I start going crazy.' x % y' is modulus which is basically return remainder after divide x by y. So the returned value will always be between 0 -- (y-1) when adding a number you are just adding to both those variables

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

      Same

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

      So you're saying he should be doing randf() and multiply instead of randi() with modulus? Is that the issue?

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

      @@KlausWulfenbach No. He is doing it fine. The explanation was not that great. randf() might give issues. I felt he did not explain it well. I tried to make a comment that would help people understand how the code worked a bit better.