Remaking my Abandoned Game 2 years later with Bevy and Rust

Поділитися
Вставка
  • Опубліковано 29 гру 2024

КОМЕНТАРІ • 44

  • @bipedpotato
    @bipedpotato  Рік тому +5

    Give video feedback below, also really sorry for the family bird which was loud at the end of the video.

  • @cybresquid
    @cybresquid Рік тому +18

    "not to mention I used light mode back then"

    • @bipedpotato
      @bipedpotato  Рік тому +7

      yes bro, everybody made fun of me for it.

  • @Skeffles
    @Skeffles Рік тому +7

    Sad to see the monogame gone but I hear good things about rust and bevy. Good luck with the game!

  • @RogueShadowTCN
    @RogueShadowTCN 4 місяці тому +1

    Your projects definitely get further than mine ... Curious to see how you've done. This video is a year old.

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

    I recommend decoupling the physics and the rendering. That way your game plays the same way on any framerate. The disadvantage to this is that your physics step size becomes the limit of what framerates are possible, but if you set it at something like 120 steps per second, I think you should be fine.

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

      Not necessarily - you can have framerates larger than physics update rates if you use interpolation. Minecraft does this, for example. Everything in the game runs on a 20 ticks per second system, but movement is smooth even at high framerates because it interpolates all mvoements based on the current and last position.

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

      @@animowany111 Surely, at least the camera controls must tick at a higher rate. A three frame delay in your inputs is very noticeable.

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

      @@josephsmith5110 Yeah, rendering, mouse controls, and GUI is basically completely decoupled from the tick rate, and they all run on every render frame. You can freely look anywhere in between game ticks, it's just that the game does not register any actions (or even any actual movement inputs) in this time. There are mods that slow down the game's tick rate (but don't affect frame rate; they can be useful for several reasons, especially when making very technical builds) - since Minecraft uses linear interpolation for movement smoothing you can see and feel the line segments starting and ending on each tick.

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

    Really like the sewer theming, haven't seen it in many other games

  • @ivymuncher
    @ivymuncher Рік тому +1

    good luck! may the rust hivemind bless you

  • @user-un2vb8mr6e
    @user-un2vb8mr6e Рік тому +6

    Looks cool, although the spider boss seems to blend into the background a lot

    • @bipedpotato
      @bipedpotato  Рік тому +1

      Yeah ill find a way to contrast it

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

    Nice work looks good, can you give a general overview of how you solved the low fps collision issue?

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

      So my collisions are array based, it takes the characters position and transposes it onto the array to check for solid tiles and such. However this means when the character moves too fast from one frame to another which occurs mostly due to bad fps they can end up skipping over some tiles. So basically you store the old position and check the tiles between the old position and the new position.

  • @ChaoticNeutralMatt
    @ChaoticNeutralMatt 9 місяців тому +1

    You were just Done with it for a while. No worries.

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

    There’s a visual studio extension for rust if you want to use breakpoints

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

      Yeah ik but from my personal experience rust already is slow enough and idk if im just using it wrong but when i enable breakpoints it just takes forever to compile.

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

      @@bipedpotato Huh, weird. Breakpoints should not affect compilation, since they are usually done entirely at runtime. Maybe it's different on windows for some reason?
      You might need one extra full compilation including dependencies because of recompiling everything in debug mode, but that should be faster than release (unless your disk is very slow, I guess, the files are larger with debug builds).

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

    What made you want to keep changing languages/frameworks?

  • @NitrosS
    @NitrosS 3 місяці тому

    Why you did not finish it in monogame??😊

  • @DFiveDesign
    @DFiveDesign 9 місяців тому +1

    Nice video bro!!!!

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

    why switch from MG though? what was wrong with it?

  • @23lkjdfjsdlfj
    @23lkjdfjsdlfj Рік тому

    I set breakpoints and debug rust code just fine in vscode.

    • @bipedpotato
      @bipedpotato  Рік тому +1

      My bad man i thought u couldn’t debug but ill definitely look into it.

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

    I've recently tried Bevy but there were noticable FPS drops right out of the box when I launched simple boilerplate examples on my MacBook Pro. That was the main reason why I passed by Bevy engine.

    • @alexandrbromles8658
      @alexandrbromles8658 Рік тому +1

      seems like you did something wrong with it or it's mac issue
      Debug builds in Rust can be 100 times slower than release builds (because, you know, they are optimized for fast compilation and bloated with a ton of debug info, not for fast execution and small binary like release builds), so you need to be sure you estimate fps on the right build. And follow project configuration instructions on bevy's website, specifically opt-levels setup
      it's somewhat common mistake, you hear someone bashing Rust for poor performance, and then you see “Finished dev [unoptimized + debuginfo]” in their logs ;)
      with the right setup, bevy maintains 40fps WHILE generating a map with 6.5 millions tiles, where every single tile is an Entity with Components, on 5 years old i5. I think it is pretty impressive for 0.11 version
      Also I saw the guy that is making Rimworld clone, but with thousands of NPCs, on bevy. He said that the same implementation gave him 100fps with Godot and 900 fps with Bevy (and that's the reason behind going with it)

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

      @@alexandrbromles8658 Ok, so may be it was the second reason because of poor docs which didn't tell how to configure it the right way.

    • @alexandrbromles8658
      @alexandrbromles8658 Рік тому +1

      @@MikeNugget it is literally the first chapter of “Getting started” on the website, called Setup. Big white header, “Compile with performance optimizations”. And the next “Enable fast compiles (optional)”.
      Also, every freaking rust tutorial, including the rust book, are telling you about this debug/release difference
      Did you actually try to read instead of blaming the tool? :)
      Like the literal quote right there,
      “While it may not be an issue for simple projects, debug builds in Rust can be very slow - especially when you start using Bevy to make real games.
      It's not uncommon for debug builds using the default configuration to take multiple minutes to load large 3D models, or for the framerate for simple scenes to drop to near-unplayable levels.
      Fortunately, there is a simple fix, and we don't have to give up our fast iterative compiles! Add the following to your Cargo.toml”.
      and in the official rust book, you are told about it in the third subchapter of the first “getting started” chapter

    • @jethdaflip7741
      @jethdaflip7741 4 дні тому

      What engine do you use now?

    • @MikeNugget
      @MikeNugget 4 дні тому

      @@jethdaflip7741 at least I also tried Godot and Unity, they didn't have such problem at all.

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

    rust doesn't need debugging because of the compiler hints

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

    what is the pixel editor?

  • @eaudesolero5631
    @eaudesolero5631 11 місяців тому +1

    using vulkan this time?

  • @UnderArea51
    @UnderArea51 Рік тому +1

    FINISH THIS THE GAME GAME! So, I'm debating about developing my own Roguelike in Rust/Bevy. I'm coming from a Python - Pygame dev world... and I'm going with a more minimalist approach with game graphics and movements - move more like boardgame on a grid... and all my game character graphics will be created in code VS pngs... points and vertices. This might be stupid approach in hard coding sprites... lucky, I'm not advice enough to understand from - the right and wrong way... plus my characters are going to be pretty simple - hue - color. Your progress of developing your game, will keep ME - my motivation grinding through learning Rust and Bevy dev world... and moving forward - revamping my entire Python game... I've heard great things about Rust. jonathon Blow posted a rant regarding Rust... so, the language MUST be awesome stuff! Jonathon, if you see this comment - your our hero! !! Don't forget that!!! So keep the update vids brewing dude!!! LLove your old art (Joking!!!!) Your updated work looks great so far! 🖖👽

  • @Nerh4k
    @Nerh4k Рік тому +1

    Many things to say.
    First, good job, really.
    The parts you do know, you seem to do well.
    What I would like to say is: Do you know what makes your game special ?
    You talk about a grace period after a jump as if you came up with it yourself (and maybe you did), but it also shows maybe you're not well versed in platformers as this mecanic has been in games for ages, albeit secretly.
    You talk about a double job, and seem to fail to realize it's basically what absolutely every platformers gives it players at some point.
    No harm, just, if you ask for consructive criticism, I would advise you to stop and reflect first of what story you want to tell, and why.
    If you let it be generic, if you let it be just like the rest, without putting you as a person inside of it, then, what's the point ?

    • @bipedpotato
      @bipedpotato  Рік тому +5

      I didn’t say that i thought about the grace period myself, i said that celeste and other platformers used it before. You are right that at the moment it seems a bit generic, however you must keep in mind how early in development the game really is. I haven’t even begun working on the 5th room in the game yet so i would say its a bit unfair to start judging yet. I guess i should have talked about this in the video but i appreciate your concern nonetheless.

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

      @@bipedpotato I realize I haven't been nice enough in the way I phrased everything and I'm sorry if I hurt your feelings, this wasn't the goal at all I swear. I'm sure you're right and I misheard, I'm not an native english speaker and I was just waking up, my bad.
      Forget what I said about anything but the last part, the " you" part.
      My real constructive criticism is this:
      You talk to me about a fifth level not built yet, when I ask you what was the story behind the first four ones ?
      And by story, I don't mean dialogues and such just for the sake of it, I meant, what does this game says about you, what does it mean to you and how do you want to reflect it inside your game ? What part of you, of your personal journey do you bring to life by extracting it from inside you and putting it inside your game ?
      If it's just a platformer you just create for fun, don't worry about it and just go crazy on the level design and all, follow the dopamine and forget about me, there is value in doing that of course.
      If you truly mean to finish this project and wish it the best though, I would like to point that maybe you're doing some of the creation backward, and that could explain why you have so many abandonned projects.
      If you first close your eyes, and think about what story you want to tell, then only build your game, your mecanics around it, then you have a game, a project worth working on for years to come, as long as the initial thought stays with you and is close to your heart.
      If you first start building stuff and you don't really know why, without any soul searching, then what will stop you from stopping the project alltogether when you're bored of just putting levels together without anything really clicking inside your mind ?

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

      @@Nerh4kThe first 4 rooms are sort of a tutorial which is customary in any sort of game to teach people about the controls of the game which i could have sworn i also talked about in the video. I don’t think i ever gave an indication about my feelings being hurt? I was just discussing your reply. Furthermore most of my abandoned games were from lack of technical knowledge and foresight, coincidentally i do actually have an idea of what i will build this game into. I don’t think building some test levels as a starting point to expand into a bigger game has anything wrong, don’t take this as an insult but i have a feeling you thought a little too deeply into what is just me building some stepping stones to create a bigger and more thought out game.