3

Been thinking about game design. Making things testable and modular. I think I have a lot to learn in this area. One idea popped up in my head. How can I design the game so that it can be networked later? One idea was an interface in the logic that gives authority to another set of code (module?). Basically include the abstraction as if networking was there. So if/when I decide the next version of the game or existing version should have online play. I think learning to create client/server would be instructional. Maybe networking could be a dlc or something.

Comments
  • 2
    This is way out of what I can do, but I know that UE5 does this thing where it’s designed to support MP from the get go, and everything is built to allow you to do networking. You can then build on top of that without using the networking features. But by the sounds of it, you are building the engine it seems. If you can understand UE5’s source code maybe it’s worth a dive?
    And some people I know that still works in game dev mentioned that companies typically factor in MP from the very beginning, otherwise adding it later is much more expensive.
  • 3
    one thing i learned from making small games and also from friends, who are game devs is:
    you either design a game with Multiplayer in mind, or you don't.
    Adding Multiplayer to an already far in development game is neither good game design nor easy to accomplish.
  • 2
    @ars1 I am using Godot. It has networking, but it is not used unless you specifically put it in the code.

    @thebiochemic yeah, I have read as much. If I want it I guess I will shoot for version 2.0 or something.
  • 1
    @thebiochemic tsoding also says this
  • 1
    first thing you want to do is decide what parts of the code are client based and server based.

    inventory? server based.

    collisions? server based.

    hit detection? server based.

    and then pretty soon everything is server based.

    server proximity is more important than fucking architecture from what I've seen.
Add Comment