3D Dungeon Code Walkthrough in Under 15 Minutes - Godot 3.4

แชร์
ฝัง

ความคิดเห็น • 128

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

    Hey! Hope you enjoy this video and learn something from it. Here is the link to the source code.
    3D Dungeon source Code: github.com/uheartbeast/3d-dungeon
    Here is the link to my 1-bit Godot Course Sale if you are interest. The deal expires on Nov 30th
    1-bit Godot Course by Heartbeast: www.heartgamedev.com/1-bit-godot-course-youtube
    I'll have a channel update sometime soon (likely after the holidays). I'm still plugging away on Demonlocke and Tic Tac Tanks is nearing completion.
    - Ben
    P.S I've also started a free substack newsletter where I post short gamedev thoughts and tips every Thursday: heartgamedev.substack.com/

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

    HeartBeast you are literally the reason I got into godot and I am thankful for the rpg series! Keep up the good work :D

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

    This is disturbingly simple considering how absolutely clever it is. :) Nice! Really like this.

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

    Hey man, you shouldnt stress about releasing content here on youtube. You have built up so much goodwill me and lot of people i am sure will watch whatever you put out. You could even just pick a topic and discuss your own design opinions on it. Keep up the great work. More HeartBeast = more better.

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

    Signed up for your 1-bit course! Really to support your work - which is greatly appreciated!

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

    This is so cool if I had time I'd be super tempted to add the turn-based combat you made from your mobile game tutorial (converted to 3d of course). Thanks for making this stuff open source it's really nice to see talented people like you contributing to the wider game dev landscape!

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

    Hey this seems great and I've been trying to reproduce it and update it for Godot 4 but I am pretty new to all this and feels like I'm clearing one hurdle only to run into another. I know you're busy and probably have a lot of videos planned in advance, but I would absolutely love to see this get updated for 4. Thanks! You're killing it!

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

    Hey there. I made a 2D dungeon crawler last year and realized that the wall animations were going to be the death of me (there's like, so many frames!), so I decided I should try my hand at making the walls into 3D sculptures in Blender. I've used this project as a guide so huge thanks...! I made this work in my game, in my own style. It's super helpful and I'll post what I've got in a little bit. I've translated the code to C# for use in Godot 4, so if anyone is looking to do this in Godot 4, well I'll have something like that in a tutorial. Probably will be ready to do that in a week or two.

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

    Eyyy, congrats on the new baby! It's great to hear from you again.
    This project looks amazing. Reminds me of Dungeon Master I played long ago on the SNES. Personally I'd love to dabble in something like this one day, especially after seeing how good it could look in this video.

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

      Thanks GE! Good to see you again too :) I'd love to see where you take something like this.

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

    I've been wanting to make some kind of orcs and elves type of game so this is so cool

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

    In case you didn't know. Aseprite has a "Normal Map Color Wheel" in the palette options. Which lets you choose normal colors. I couldn't find a page for it in the documentation though.

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

    This is absolutely perfect!
    I've managed to get dungeon crawler style movement working before, but not drawing a map that then gets converted into a dungeon. This is exactly what I was looking for.

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

    Your tutorials literaly inspired me to start using godot as my first game engine so I'm really happy to see a new video from you. I was worried that you didn't have updates but It turns out you are ok :)
    Congrats btw :)

  • @Pengeszikra
    @Pengeszikra 17 วันที่ผ่านมา +1

    Thx, this is very clear describe how to start a retro style dungeon made with a code, including mapp editor, perfect. I can use this information for my javascript game also.

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

    Thanks for this tutorial!!!! I really needed this, I searched like crazy videos of this type and didnt find much.

  • @togashi-azul
    @togashi-azul 2 ปีที่แล้ว +1

    Dude this is so creative yet so simple, you got a new sub!

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

    I made something similar a while ago. It even had pressure plates, levers, doors etc. It made use of godots autotiling functionality. That way you reuse the 2D bitmasks to pick the 3D tiles more easily. And I later used gridmaps to improve performance. If you use a nice looking tileset you can even reuse the 2D representation as a minimap. Right now I'm porting my system/plugin to godot 4.0 while adding functionality like having 2D and 3D side by side with realtime changes.

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

    I was JUST thinking on how to do dungeon crawling and you just came with this. Thank you so much.

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

    I've been watching your content since your Gamemaker stuff, so I'm glad to hear you're still alive and kickin. Congrats on the baby!!

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

    Congratulation on the new baby!

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

    Epic comeback. Glad to see ya again Ben

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

    I am happy
    Heartbeast came with a new video

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

    That's really cool! Also, congratulations on the little one!

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

    Hey, just wanted to say I appreciate all the work you put here. It helped me make my first games years ago. Thanks man

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

    Yooo without you I wouldn't have had interest in. Godot at all. Thank you so much and big congratulations for the new baby🎉🎊 :) Take care of yourself and your family 👪 and have a good day!

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

    Good to know you're doing well, Ben.
    I was worried that something happened.

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

    You always make such interesting tutorials. Concise and well-explained, to boot. 👍

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

    Thank you for the video. Trying to piece together how to code using Godot and this is definitely helpful!

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

    New series: teaching a baby how to develop a game in Godot 3.4

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

      Hahaha Currently teaching my oldest daughter GDevelop. She's having fun :)

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

    HAPPY NEW YEARS

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

    Great video and congrats on the baby!

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

    I tried something similar a few month ago. This gave me much needed inspiration to improve my project. Even this ungodly movement set up has some thing I wanna try out xD

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

    Thanks so much for this! Really easy to understand and looks like a fun project to build from.

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

    Hey! thank you this video is super helpful! I was wondering if you could maybe do a video on how to do melee combat/ interactions for this sort of a game?

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

    I would love to see you do more with this.

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

    I made some changes in the player-code:
    i removed 3 raycasts (only the forward one remaining) and set it´s property target_position to a vector, that i generate from the move-inputs ().
    And i replaced that processor-timer with a boolean variable "is_idle", that is checked to be true before letting any input through and set to false for the time of animations and stuff.
    I think that looks a bit cleaner now.

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

    You could have used a Quad Mesh for the room walls. To get the UV to tile like that, set the texture to repeat in the import settings in Godot. To the MeshInstance add a spatial material that has a UV 1 scale of (0.5, 0.5). No need for Blender.

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

    This'll be good for me to remember whenever I end up doing a real project outside of RPG Maker.

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

    Earlier today I was debating trying my hand at some simple game dev just for funsies, and wanted to see if Godot could do a blobber / grid based movement system...and here we are. Guess I am gonna try to duplicate this and make a simple maze to start!

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

    Congrats on the baby!

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

    an SMT 1 & 2 remake should take on this art style one day

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

    It's so annoying to find out that this video literally came out a few days after I gave up on making a game because I needed some help with stuff like this. I'm still glad that I moved on to a different project, I'm having a lot more fun with it and it's easier to code and design, but... 🤬🤬🤬
    Great vid as always though, and keep doing whatever suits you!

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

    Cool! This project reminds me of Lands of Lore.

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

    Thank you so much! It looks amazing!

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

    Very clever, great job, and thanks for sharing!

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

    Back at it with an awesome video as always

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

    Looks awesome! With how it's set up, you think it would be easy for someone to implement extra cells being drawn using other colors or tiles in the tilemap?

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

      Yeah, you'd have to get the cell data for each vector in the tilemap but that shouldn't be too hard

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

      It would be easy, but you'd run into complexities when having to mix together the intersection between two different tiles. But it should still be somewhat straight-forward, I would think.

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

      Could have a cell specifically for mixing them maybe? Would be interesting.

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

    Looks like the game: Eye of Beholder. Great program and excellent job!

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

    Do you think you'll update this to 4.0?

    • @GreedFeed
      @GreedFeed 6 หลายเดือนก่อน +1

      Agreed. There’s a huge resurgence on this genre with a few games in this style coming out I think it would get a lot of traction.

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

    This is pretty similar to how I made Cubic Nightmare, though with more efficient cells. (I'm moving to a system using procedural meshes for my next projects, since that game did not become what I wanted, so I'm still working on that idea.)

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

    Dude I'm so stoked i found this

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

    allllright! fantastic overview of how things are setup. really helpful when you already know how to code and maybe an approach of your own for this problem, but not how others do it

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

    You’re literally the brackeys of godot! Your tutorials are a gift honestly thank you so much

  • @АртёмДубравин-ы6у
    @АртёмДубравин-ы6у 3 ปีที่แล้ว

    Thank you, man. Very interesting stuff.

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

    Thank you so much for everything my brotha.

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

    Imagine if only someone did a full tutorial series on how to create a classic 3D dungeon crawler.

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

    Thanks man. You're an awesome teacher

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

    Heartbeast can you make a video on how to make an infinite procedural generating world?
    great video Thanks for the RPG series by the way

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

    you could have a lot of fun combining this with a randomly generated map program

  • @YTShortFaxTV
    @YTShortFaxTV 5 หลายเดือนก่อน +2

    any update for this on 4?

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

    In Aseprite you can change the color wheel to normal map colors.

  • @okok-jf2qw
    @okok-jf2qw 3 ปีที่แล้ว

    Missed you, pal

  • @リンゴ酢-b8g
    @リンゴ酢-b8g 3 ปีที่แล้ว +1

    ich beneide dich, du siehst ziemlich Klug aus, es ist grossartig, das du deine Tutorials mit uns teilen

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

    Now i combined your 3d-dungeon from 2d map generation with a random map generator in another tutorial, now i can explore random generated dungeons with it.

  • @clubycoder-original
    @clubycoder-original 3 ปีที่แล้ว +1

    I'm curious if you tried the GridMap for this and if there was something you didn't like about it that made you take a different approach. It seems like using a GridMap would give you more functionality and flexibility for free with a similar map building workflow in the editor.

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

      I personally tried to use gridmap for something pretty similar and while it works for simpler stuff like this I didn't like to use it due to current limitiations: you can only use single meshes, you can only have one thing per cell so you either make every combination or you put them on different gridmaps or you place certain stuff completely outside of the gridmap.
      For example you can't use his "room" scene because it consists of several meshes so you have to do every possible combination of walls as joined meshes to represent them in a gridmap. Now add more stuff than walls or different tilesets to get different environments and the work you have to put it gets out if hand pretty quickly.

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

    Missing you man!

  • @5minutemovies977
    @5minutemovies977 2 ปีที่แล้ว

    You should try using Material Maker to make these materials, it's so easy to make a lot of them and get lost in it :)

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

    Awesome! Thank you a lot!

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

    heartbeast is the goat of godot

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

    How to i start game dev? I want to work in godot bc of the 2d and the small 40mb file size of the engine.
    I wanna make a hybrid of a top down and kinda like a platformer. (Think cuphead) :but only the boss battles:

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

    i legit made this exact thing like a month ago damn

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

      Hahaha great minds think alike, right? :D

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

      @@uheartbeast yeah still a really good video

  • @alikease11
    @alikease11 6 หลายเดือนก่อน

    yo this looks so cool!!

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

    Really inspiring!
    I'm a little bit concerned about the player movement controller using raycasting

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

    dumb question: how would you go about spawning things within the map using this system? enemies, items, doors, traps, ect...

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

    Why die you put the tilemap as a separate scene?
    If it is plugged directly into the world-scene by using the scene-tree-panel and hided with the eye-icon-there, you don't need to do theese things in code and you don't need the small script, that only hold a tilemap acess function.
    You can acess it just with an onready variable, that hold it's scenetree-path.

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

    Alright so, I've implemented this system into a game I'm making but expanded and changed it quite alot, and the thing I've noticed, is for large map sizes the load times for the maps are quite ridiculous. I love how it makes map building and plannng alot easier but i'm finding it to not really be practical for actual use. Is there some way to implement a merging of instances? I feel like the long load times are because of the massive amount of instances and having to perform logic checks on each one to determine if their are walls that need to be removed.

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

    Inspirational. Awesome.

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

    Random question. Is this possible in Gamemaker Studio 2?

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

      I'm sure it is, but I haven't really used GameMaker Studio 2, so I don't know how to go about it.

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

    How DARE you not delete the default cube.
    You are gonna need to go down town and turn in your indie badge and gun.

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

    You should make this for Gamemaker Studio again, its much needed.

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

    Is there any particular reason why you control movement script with a Timer?

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

    I'm having trouble understanding how the 3d-map is being made from tilemap

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

    Hey, just wondering if this system can support more than two tiles.

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

    you mention that texturing the object in blender is easier? is there a way to apply different textures in godot? I was thinking of having the objects and collisions for a system similar to yours. but would like the ability to change the texture. I am coming from Unity3D so I am still learning.

  • @sirpootsman1048
    @sirpootsman1048 5 หลายเดือนก่อน

    How did you make the faces one sided?

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

    Nice bro, great 😁👍
    Bro make content on how to make a horror game on Godot bro, please.. 🙏😊
    Edit: Make a series bro..

  • @henriquelc3
    @henriquelc3 8 หลายเดือนก่อน

    Hello, my assets for the map are 3d, and I wanted to know if there was a way to use this code for this, apart from the fact that some of the assets make curves like in Wizardry: Tale of the Forsaken Land, would it be a problem to adapt them or can everything just be built in boxes?

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

    whats the difference of instancing and putting the scene itself in another scene?

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

    NormalMap should be always set as non-color data

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

    For me it looks a bit unlogic and the wrong way around, that you have one single cube-collision-box on your cell-scene and check, that you can walk, where the ray collides.
    I created a modification, where each wall of the cell has it´s own collision-body with a flattened collision-box as a child and the schipt checks, that if the ray collides, there is a wall, that stops movement in this direction.

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

    Be sure to add
    1) doors, including secret doors
    2) zombies

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

    aseprite has an internal normal map reference

  • @ty-xq7bl
    @ty-xq7bl 2 ปีที่แล้ว

    Man the game already looks so good even though theres no gameplay LOL. Can you do a guide on how to make games look better instantly?

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

    I'm a user of this code and I would like to know how to make ui if you can make a tutorial on 3d ui if you don't have one that would be nice. :)

  • @Айдер_Нурмухаммедов
    @Айдер_Нурмухаммедов 3 ปีที่แล้ว

    When will Simple Dungeon be released in godot

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

    Bro i have played a game looks exactly like this a decade years ago but now i could not find it anymore. I only remember the name was Something Dungeon 3D. Can someone tell me what is it? If you know

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

    you understand and implement classes like it is nothing and obviously "get" them. Can you do a video that explains inheritance and classes and when to create a general class, then inherit and build on it like I have seen you do but get neither the logic or the ... magic?!? :D

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

    2D tutorial? or is only in 3D?

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

    This is really clever!

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

    now we must make the map be proceedurally generated as well as proceedurally place objects like chests and enemies
    and then you almost have a completed game