Remix.run Logo
Madmallard 14 hours ago

Has he dealt with some of the more challenging problems in game dev that engines help a lot with? Like... multiplayer netcode.

Seems like if you're doing this for a hobby or solo/small team then maybe it's reasonable.

For most people where they want to be a game dev but they probably will just work in industry, it seems like learning the major engines to competency cannot be ignored.

jesus_666 13 hours ago | parent | next [-]

You should use tools that are appropriate to what you intend to achieve. If you want to make a 3D game then Unreal, Unity, or Godot are appropriate choices. If you want to make a 2D game then something like MonoGame might make more sense than Unreal. You don't need highly refined netcode if your game never needs to exchange data in realtime.

Heck, I've seen someone build a visual novel-type game with WinForms. That was actually a sensible choice for the game's presentation and interaction needs.

Of course if you want to become a game dev at a studio then you should be competent with whatever the studio uses (or something comparable so you can pivot to their stack). If you only want to make your hobby project and maybe publish it later it doesn't matter if your engine is Unreal, MonoGame, RPG Maker 2000, or vanilla JS/DOM.

rob74 13 hours ago | parent | prev | next [-]

Well yeah, he's working with a pretty small team, and quite successfully: https://en.wikipedia.org/wiki/Celeste_(video_game)

I would say that one of the "Miscellaneous Thoughts" at the end of your article answers your question pretty well:

> I need only the best fancy tech to pull off my game idea

Then use Unreal! There's nothing wrong with that, but my projects don't require those kinds of features (and I would argue most of the things I do need can usually be learned fairly quickly).

raincole 12 hours ago | parent | prev | next [-]

> that engines help a lot with? Like... multiplayer netcode.

Rust (the top 10 most downloaded game ever on Steam) is built with Unity. However they ended up to write their own netcode anyway. Of course Unity isn't known for the best netcode, but how much an engine helps is often overstated. Genshin even bought Unity's source code to customize it.

voidUpdate 9 hours ago | parent [-]

Unity used to have a pretty good netcode implementation, but then they ripped it out in newer versions and still don't really have a good replacement for it

Zarathruster 8 hours ago | parent | next [-]

Interesting. I'm new to this and trying to get a grasp of the situation but there's a ton of noise.

What's wrong with Netcode for GameObjects, and what are the odds I'll regret going with it?

voidUpdate 7 hours ago | parent [-]

I mean, I dont hate netcode for gameobjects, but generally I prefer to have the application just set up some sockets for me and I'll handle the rest myself, which you can do in NfG, but I've not used it too much. There was a really long gap between having working netcode stuff, and I wrote what I felt was a really nice layer over the top of the old LLAPI for a project I was going to work on, and then they immediately deprecated it.

Im sure NfG is fine

raincole 9 hours ago | parent | prev [-]

Unity used to have _____ but now they don't.

This is the mantra of the past decade of game dev.

allthetime 4 hours ago | parent | prev | next [-]

Netcode is tricky, but it's a solved problem (in terms of practical use). There are many first class examples to base your own work off of.

grian42 11 hours ago | parent | prev [-]

multiplayer netcode isnt overly difficult to write unless you're at the highest lvl of complexity lol. it's not a black box, it's just transferring bytes around efficiently and keeping track of state, your "netcode" can literally just be bare tcp (+ssl), validation, and state, it's not that deep.

kayamon 5 hours ago | parent | next [-]

How are you handling NAT traversal?

Madmallard 10 hours ago | parent | prev [-]

handling latency to keep a coherent experience in a real-time game is an unsolvable problem where every single mechanic requires a planned out scheme and companies go so far as buying data centers in optimized locations to help out with the illusion

that's probably what you mean by highest level of complexity

but even just a regular turn-based game there's a lot of questions you need to answer and decisions to make regarding latency, packet loss, and disconnects that all have to be solved in a coherent and consistent way

intelVISA 8 hours ago | parent [-]

Bytes + FSM, don't overcomplicate unless your salary depends on the solution.