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
  • 1
    you make so many posts about theoretical aspects of this but do you do even any demos? 🤔
  • 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
    for networking there's some data modeling you gotta do

    but if you will do networking later you must design for it now

    but the meme is also if there's networking then the code is x10 difficulty mode to write. it's a skill that requires experience and will have lots of pitfalls and hurdles

    game dev community laughs at someone not having made a game and thinking their first game will be multiplayer. difficulty curve, bugs, etc. will balloon costs of a game, time, and requires more intelligence to do so many can't get over the hump to be proficient. you'll burn out. so it became a meme

    it's the equivalent of trying to write a game on 2 threads, which means data duplication. except the 2 threads can also have 200-1000ms latency, so now you'll be doing simulations to try to hide it also. I'm making it sound easy but average ADHD gamer is trying to figure this out with no programming background

    and forget anticheat. just forget it. that causes more problems than will ever solve
  • 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