How to implement dynamic inventory using Websockets in UE

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

КОМЕНТАРІ • 9

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

    very good job, and thanks for share

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

    Thanks for your efforts and your time.

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

    Hello! First of all, I wanna say good job for your work, and thanks for sharing it with us! It's awesome, really.
    I have a question, I think it's an easy one for you, but you see, I want to make an "MMO-style" game, but single player only (when I say MMO style, I talk about the camera view, abilitiy slots, inventory, gear display, loot in dungeons etc, but all will be offline and single player only).
    Do you think tweaking your process is going to be hard for me? I mean, getting rid of the server relation and stuff like that? I'm asking cause if I had to guess, I'd think it would be just taking a step out of the blueprints, but is it really that simple? I'm just starting my journey on game developing and I'm going to start my project soon (I'll make a start menu, a hub and a dungeon at first, so I'm not jumping into the spells and gear system directly). I figured since I have a bit of time before doing it, I might as well ask haha.
    Thanks for your time again, and I hope you have a great day!!!

    • @unreal-dev-with-yaz
      @unreal-dev-with-yaz  3 місяці тому

      hey :)
      sorry i missed this
      hmm there will certainly be some things which are simpler (e.g. motion updates/validation etc will be way easier)
      but i also hide a lot of logic in the custom server
      inventory is a an example of this, in the UE client code, there's very little to no inventory management code, they are just requests to request for those updates - the underlying logic is not actually too straightforward as there are numerous dependencies
      but having said that, there are plenty of assets available in UE marketplace to help handle things like inventory
      also I haven't utilized the GAS (Gameplay Ability System), as I can't use it in my java server, but i'd suggest checking it out

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

      @@unreal-dev-with-yaz Hey! :)
      No worries, really! And thanks for your time mate.
      Alright, it is as I thought then (since then, I progressed a bit, and I took a look at some other projects that had inventories and gear displayed with slots and stuff like that. At the start of this month, for free on the unreal market, there even was a "skyrim-like" RPG template project, so if I ever feel lost I can always take a look at this as a reference to figure things out).
      So yeah, thanks again for everything, you rock!
      Have a nice day/night :D

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

    Hello, will you be doing a lesson on how to protect the server from attacks and cheaters?

    • @unreal-dev-with-yaz
      @unreal-dev-with-yaz  Рік тому +1

      yes I was thinking of doing that later, once i have an MVP that I want to deploy on server
      its a relatively complex topic and the first/main line of defense is through request authentication
      thing about that is that its a little different depending on the tools you use (e.g. azure vs aws vs other providers)
      a lot of the logic to prevent hacks will also sit on server side, such as request validation - e.g. should you allow the character to make such requests

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

    do you think is it beneficial for an mmo to use QUIC protocol? Would it help optimise bandwith, maybe allowing more players?

    • @unreal-dev-with-yaz
      @unreal-dev-with-yaz  Рік тому

      I haven’t tried it so not really sure
      From features perspective, websockets are probably faster but perhaps more error prone
      They may be both good candidates so probably better thing to check are:
      - framework compatibility (e.g. if I am using Java Micronaut, does it support it)
      - UE / C++ compatibility and ease of use
      - what you’re more comfortable to use
      Bear in mind that the differences are unlikely to exceed something like 30% (this is a guess)
      Whereas system design can make things very sluggish, such as choosing wrong data structures (array vs map for search etc) which can make game features 500% slower for example
      Furthermore, the payload you send, the structures and their format (e.g. the structures I send in JSON format are quite un-optimised, they can be a lot better)
      I would suggest creating a solid, generic service layer and make the transport layer interchangeable perhaps.
      To some degree that’s what I am doing, my first APIs were HTTP based and those that are compatible I am just pushing into websockets now.
      There is more complexity in changing the design to reactive style though.