Voxel Game development - Creatures and Spells

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • ...for gameplay has been achieved.
    My voxel engine (written in Rust using the Bevy game engine), has finally a core gameplay loop implemented!
    Sponsor: Quadratic - The Data Science Spreadsheet
    Check out the project on Github: github.com/qua...
    View open jobs here: careers.quadra...
    Whilst I've previously only programmed voxel engine technologies like
    hot reloadable rust code, ambient occlusion, block texturing, mesh generation, multithreading etc... I'm now shifting focus to gameplay development.
    In this devlog, I go into detail how I implement game AI and spells.
    The AI library I'm using is a Bevy plugin called big-brain. The spell system is completely self made, which I might release in the future once it's stable.
    My discord group:
    / discord
    Want to support me?
    Patreon: / tantandev
    Monero: 43Ktj1Bd4Nkaj4fdx6nPvBZkJewcPjxPB9nafnepM7SdGtcU6rhpxyLiV9w3k92rE1UqHTr4BNqe2ScsK1eEENvZDC3W1ur
    Resources (The tech I'm using)!
    bevy game engine: bevyengine.org/
    game_stat: github.com/Tan...
    physics (3D and 2D): github.com/dim...
    inspector ui (runtime tweaking): github.com/jak...
    hot reloading using dlls/so files: docs.rs/dlopen...
    benchmarking: github.com/bhe...
    world generation: my own custom implementation is not open source at the moment.
    other rust libraries, that I recommend:
    game engine: github.com/not...
    Graphics rendering api: wgpu.rs/
    multithreading: github.com/zes...
    profiling: crates.io/crat..., using Optick feature
    #tantan #gamedev #voxelgame

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

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

    Let's show Quadratic some love for supporting rust developers, by at least staring their github page!
    github: github.com/quadratichq/quadratic
    careers page: careers.quadratic.to/

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

      looks cool!

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

      This is actually the first sponsor ad in any video that I've been happy to check out. I've been looking for something like this

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

    I've found having a build first refactor later mentality helpful too. If I spend too much time thinking of the best ways to do things I end up doing nothing, nice video!

    • @Tantandev
      @Tantandev  ปีที่แล้ว +23

      Yeah consciously thinking: build first refactor later. Helped me a lot with avoiding analysis paralysis

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

      I am a developer that is so lazy, that philosophy for writing code was:
      Build first. Refactor on 30th February

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

      @@Tantandev it also gives you a real world test case. You can see the result you’re looking for and figure out if that is the result you’re going for or if you need to tweak it. Once know this you can figure out the appropriate level of abstraction.

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

    TANTAN! Love these videos, and can't wait until this version gets into playtesting! Also, congrats on another sponsor!

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

    I just recently got into game development with zero programming background, so the work you’re doing is essentially black magic to me. Still, it’s insanely fascinating and I love seeing your creative approaches to problem solving. Thanks for making these awesome videos

  • @s.sviatoslav
    @s.sviatoslav ปีที่แล้ว +8

    You are doing here some cool stuff! It’s hard to tell what drives you, but please continue ❤

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

    Nice, your videos of using Rust for games definitely spiked my interest for learning Rust at some point (when I have time xD). I'm a game developer too. Something that helped me a lot to be more of a "game develop" than a "game engine developer" was studying game design, prototypes and target audience and play-testing, for you know, make a game that someone will want to play and enjoy, hahaha. Good videos. Cheers!

  • @draido-dev
    @draido-dev ปีที่แล้ว +15

    Can't believe that you finnaly share some new news about the voxel engine 😄 never give up 🙂
    btw just wanna ask something, when you start did you get views like now? Just sayin' 🙂

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

      views like now? hmm...
      well no, after 1 year doing youtube I believe I had about 2000 subscribers, it's truly an exponential growth, I had to spend a year to get decent enough on TH-cam, with the knowledge from that time, things started picking up

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

    Nice editor choice btw

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

      absolutely love Helix!

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

    I'm really liking what I've seen so far in this series. I found this channel while I was looking for components to use for my own Rust project, since that's what I'm learning now. And my end goal (after learning all these) is actually really similar. I want to make a voxel game, too. And the way you're going about it really interests me!
    Keep up the good work. ❤

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

    Jag är alltid imponerad över hur dedikerad du är till ditt projekt! Ser fram emot varje ny video : )
    Har lekt lite med Rust och även Bevy tack vare dig

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

      oj, kul kul!

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

    Even tho I never used Rust I love your projects and enthusiasm! Good luck!

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

    I have been loving these videos a ton lately. Keep it up Tantan.

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

    Your videos are always amazing and inspire me...thanks

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

    I cannot help it, but the crab, of all things, should be your friend/companion! :D

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

    nice video. The spell system is gorgeous

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

    i really love the idea of your magic system for your game this sounds sick!!
    spell idea: you can shoot a slow water ball out and the more water spells you shoot at it, the bigger it grows! the bigger the ball = more damage

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

    I’ve been trying Bevy for a bit becuz of your vids and have been thinking about making devlogs for my game, keep it up

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

    Great devlog! Really cool to see some combat and AI in your game.

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

    Banger video again.
    Love the Rust content. 👍
    Keep doing what you do AND ... Etcetera

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

    4:52 i'm embarrassed to admit how long it took me to realize he was saying cast not cost

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

    I always use Minecraft sounds for prototyping too

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

    You had been mentioned in Dani!

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

    Very cool. I like voxels, little squares but not squares actually cubes.

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

    Well I think the transition shader is very cool and sexy

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

    priority state machine (minecraft-like) is easy to make, no external libs required

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

      game named "noita" (witch) should be fun game mechanics

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

      in 3d voxels tho, its a 2d game

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

    I saw a mud-crab the other day.

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

      that is very pog!

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

    Cool to see the voxel game still being updated, I myself am thinking of starting a new project possibly. But I think I'll use some other framework like Macroquad instead of the Bevy engine, just for the sake of it. (And also cuz I think it will be closer to the pygame experience I was used to, still love the ECS tho.)

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

    I've been giving the build first refact later mentality a go, but I've only done the building so far. It mostly works, but I'm dreading the refactoring!

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

    Great upload! :) thank you

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

    Must be hard to wrap your head ECS at the beginning, but damn, your videos really make me want to try it.

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

    wish there was something like bevy, like data-orientated, on rust, plain and cool, but not bevy

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

    Hi, thanks for your wonderful videos. They really motivate me to continue studying bevy for my home projects) I have a small question. How and where do you plan tasks for yourself and keep records of current affairs? Whether you use kanban or stops at notes in a notebook.

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

      I'm not super consitant with setting up and sticking with tasks, but I use a website called: hacknplan

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

    Nice ironman armor

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

    Great!

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

    9:13 Would this not be improved by giving each spell an animation property and matching over that? For example, a 'punch', a 'fire punch' and a 'water punch' may all use the same creature / player animation, just with a different (or none at all) emitted projectile.

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

    So Kool : Crab Melee .

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

    at 1:00, your code has a typo. You have `jump_strenght` instead of `jump_strength`

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

    tantan video :D

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

    Vad kul!

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

    Finally a new video :)

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

    Would be co if the enemies who picked up these weapons could learn the spells too. Then you could keep feeding a crab equipment until it becomes a super wizard

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

      No way I'm gonna add cosmetics for every creature, but you comment makes me imagine seeing a crab in full armor+shield+staff, that would be a sight to see haha

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

    Is there a chance to share the ai code, at least the farming simulator one?

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

    @Tantan have a twitch? I'd watch live dev from him, seems like a fun dude.

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

    0:31 every game I've ever made!

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

    In your game, can the player add and remove blocks and make builds?

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

    You probably won't do this, but Ive always though that too many voxel games have the same _voxel resolution._ Ive always though that *4 blocks per the height of the player* (or 1 block = 1 foot for even higher resolution) would be much more interesting, because then plants can have branches and similar stuffs. Might not fit the vib of your game though.

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

    Wait... Is this gonna be cube world??

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

    I do like GOAP for AI, it is very smarty but costly

  • @jacques-dev
    @jacques-dev ปีที่แล้ว +1

    Yay ❤

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

    Wouldn't make it funny and challenging if the crabs picking up wands and casting enough spell can learn the spell forever like the player? Like if a crab picks up the fireball wand and cast 10 fireballs all crabs for the rest of the game can cast fireballs all over the world!!This way the player have to make sure not to let some random crab with a wand alive for too much time...

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

      haha, I feel like that would be very hard to balance, and I feel like that would only ever make sense, if the crab had a baby, inheriting the spell knowledge, but I'll probably not have mating in the game lol

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

    Hello Heath Ledger

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

    I will learn rust

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

    🦀 CRAB 🦀

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

    Congrats on pronouncing etc correctly lol. Most people say "ek cetera" for some reason, even though there's clearly a "t" in "et".

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

    No spell crafting?

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

    kung

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

    I feel like all the .step .when style code could be made WAAAAAYYYYY nicer by rewriting your AI into a coroutine.

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

    Build first, refactor never. If it works, don't touch it 🤣

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

    I’m always having to tell myself to stop optimizing

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

    🦀

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

    *Voxel Game*

  • @aqua-bery
    @aqua-bery ปีที่แล้ว

    Why do you prefer Ubuntu over other distros and windows?
    Edit: It's Pop!_OS not Ubuntu

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

      It's PoP_OS

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

      I enjoy doing things in the terminal (opening up my projects, file management is all faster in terminal)
      Window handling works better (PopOS has vim-motions built in)
      I dualboot however, when I need windows specific things like video editing. Windows + PopOS.

    • @aqua-bery
      @aqua-bery ปีที่แล้ว

      @@Tantandev ah makes sense, I used to use pop_os on my laptop but currently I run nobara. It's mostly because i still haven't found something that works perfectly for me

    • @aqua-bery
      @aqua-bery ปีที่แล้ว

      @@kaczok61 my bad I'll edit the comment

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

      @@aqua-bery Both of them are Debian based distros so it's not huge mistake

  • @process-env
    @process-env ปีที่แล้ว

    why is everyone calling it voxelengine even though the development uses polygons?

  • @roryb.bellows8617
    @roryb.bellows8617 ปีที่แล้ว +1

    In what world is this from scratch? You’re using a full ass engine

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

      The entire voxel engine, I made as an external library, all the rendering atm is custom written. The entire spell system is also an external library, with optional bevy support.
      Bevy gives me a powerfull ecs amongst some other things, I'm not gonna do every single thing from scratch.

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

    4th

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

    First!

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

    69th comment. ;)

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

    Imbalanced audio, favors right side

  •  ปีที่แล้ว

    Rust is so incredibly ugly, one of the biggest blockers for me. Imagine rust with C++ or even TS -like syntax.

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

    Eyyy that's awesome, I was waiting for Your upload. Part of my game's design is also based around something like spells that can do practically everything. Possibilities that system like this can create are really awesome. My current implementation focuses on adding them to equipment and equipment modifiers and later on I will use them to create certain situations, for example spawn enemies near a village to make a siege scenario. It's awesome to see, that You are doing something similar