Mythfall Devlog: The Volcanic Forge

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

КОМЕНТАРІ • 22

  • @ugib8377
    @ugib8377 5 місяців тому +1

    These are a ton of fun to watch. One day I gotta hop on and try the game out. It looks like a lot of fun!

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

      Thanks! glad you liked the video!

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

    hes back

  • @lumagatto1191
    @lumagatto1191 5 місяців тому +2

    Maybe instead of guard, you could add "defense" to bosses (and enemies), which would decrease the received damage by the amount of defense, like in terraria. I think it's a solid system

    • @UnitOfTimeYT
      @UnitOfTimeYT  5 місяців тому +1

      Yeah I've been thinking of a few ideas like that, I did kindof want to keep the stat consistent for players and monsters, but its kind of hard when players dont have much health, and monsters have a ton of health. I'll keep thinking about it! Thanks for the suggestion!

  • @mirrorinfinite5392
    @mirrorinfinite5392 5 місяців тому +1

    Nice video! Did you have to build your dungeon level editor from scratch too?

    • @UnitOfTimeYT
      @UnitOfTimeYT  5 місяців тому +1

      Yeah I built my dungeon room editor from scratch. At one point I was using LDTK but I switched over when I was wanting a few extra features that were specific to my game. Overall its nice to have but a bit annoying to maintain sometimes.

  • @jomy10-games
    @jomy10-games 5 місяців тому

    It’s starting to look like a game

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

    Hey, I love this series as I'm also interested in doing graphics stuff in Go. How do you build to WebAssembly?

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

      Thanks! If you search online Go has some pretty detailed instructions on how to build to wasm (You basically just set the target GOOS, IIRC). I basically just followed those. If you take a look at ebitengine (which is a pretty good gamedev lib in golang), then they also have detailed instructions on building for multiple platforms!

  • @pixleartyoutube4795
    @pixleartyoutube4795 4 місяці тому

    This is amazing and a huge inspiration for me to see something like this is possible with no game engine is there any reason you chose go?

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

      Thanks! Yeah it's been a fun and very learning-heavy process with lots of mistakes along the way. I just like Go so that's pretty much why I picked it. The performance loss from GC is usually not that much unless I do something super lazy like allocate a lot.

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

    Hey Unit of time, I was wondering if you could make a video on the topic of area of interest?

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

      Hey I think I talk about it a bit here: ua-cam.com/video/7r7oUirkBhg/v-deo.html
      Maybe i'll make a video in the future going into more details

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

      Hey @@UnitOfTimeYT, I just got done watching the video. If you wanted to scale the game further, do you think it would be worth considering spatial partitioning methods as an optimization around packet construction? Let's consider the potential benefits of a simple Grid based partitioning system. You could write a single packet for all entities located in that cell with the world state of that cell and adjacent cells. I've been wondering for a while, if this sort of optimization is worth it. Or is it better to limit bandwidth by sending to a client just the information that they need to know, like you do in the video.

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

      Yeah I guess it's a tradeoff with how much bandwidth you want to spend to save CPU resources when building packets for clients. Maybe I should make a full video about this to go into more details, but currently I do this per each proxy connected to the main game server:
      1. [Server] Calculate vision of every player (which is basically a spatial hashmap check for nearby networked colliders)
      2. [Server] Construct a single packet with every entity that every player on that proxy sees (kindof the union of all the entities and their data
      3. [Server] Send that uber packet to the proxy
      4. [Proxy] Loop through every player in the packet and construct an individualized packet for that player
      5. [Proxy] I do extra packetsize reduction by saving entity states that we've previously sent and caching those, so that we don't resend information that hasn't change
      6. [Proxy] Send the individualized packet to the respective client
      Number 5 is one of the bigger users of CPU, but it does save a ton of bandwidth per player and lets me be less careful about adding components that don't change frequently to entities in the game (because I know they're going to be filtered out of the final packet by the proxy cache in step 5

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

      @@UnitOfTimeYT
      That is a pretty clever solution, that probably scales pretty well too.
      | 3. [Server] Send that uber packet to the proxy
      | 4. [Proxy] Loop through every player in the packet and construct an individualized packet for that player
      | 5. [Proxy] I do extra packetsize reduction by saving entity states that we've previously sent and caching those, so that we don't resend information that hasn't change
      Thanks for responding! I'll continue to keep a look out for more videos!

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

    2:24 thats me because i cant even get good gear

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

    umm whats up with the discord why was i banned

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

      lol I mean I obviously I banned you because within like an hour of joining you changed your profile picture to a nazi swastica