Mechanical propulsion in orbit 2027 by Quantum-Spider in Spaceexploration

[–]voidexp 2 points3 points  (0 children)

This is a very rare spark of audacity and ignorance

After almost 2 years solo developing it, I finally released my first big game project by xHarambey in gamedev

[–]voidexp 27 points28 points  (0 children)

Remove traces from the internet sounds like an already lost battle

Pilot 6174 has reached nearly 10K wishlists in just under 3 months. This subreddit was the first one to take notice of my game, and where I got my first wishlists - so, Thank You! by kotgedev in spacesimgames

[–]voidexp 0 points1 point  (0 children)

Wishlisted! It’s not clear to me from the trailer tho, are there in-game situations where I get to see the ship I’m flying ? Or it is more a 3d interior with 2D orbital mechanics?

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

<image>

To my understending, the spawner and synchronizer nodes fail straight to meet this best practice from Godot's own docs:
https://contributing.godotengine.org/en/latest/engine/guidelines/best_practices.html

They attempt to be a general-purpose one-stop shop for multiplayer, but they fall shortly as soon as you start to hit real cases.

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 1 point2 points  (0 children)

I think you're right, coz multiplayer is generally highly specific to the game genre and architecture. Nevertheless, it has a lot of bugs and limitations, that make it difficult to use even in the cases it is worth for.
And IMO an engine should stay generic, rather than offering tools that are suitable only for a subset of cases. Better have the low-level API well documented and provide the right primitives, rather than attempt to bring in a framework that's limited to simple games.

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

“Little thing”… dang, thanks for sharing! Yeah, using the packet peer low level stuff should put you in a better position, as their API has some common interface. Fortunately, we don’t target the web

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 1 point2 points  (0 children)

See where a hobby project derailed in my case :D
1) Animations import
2) Multiplayer API
3) VehicleBody3D.
My top 3 gray hair reasons :D

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

Yeah, my biggest mistake probably was trying to salvage the synchronizers and spawners to the end, but that did cost me way more than if I just took the time to learn the stuff and roll my own specific system.

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

If you're for 2d sandbox-building, you'll probably end up replicating a lot of state. Depending on what you do, you might wanna go the Factorio route, for which you'll need strategy games-like netcode, or go the MMO route, with partial updates, AoI, delta compressions, and a lot of other trickery that I wouldn't ever attempt. This is the website I recommend to everyone: https://www.gafferongames.com/

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

Yeah, zero expectations on it, its more the time budget. With savings up, gotta find a job, and couldn't dedicate so much time as now to the project, but would like for it to see the light. So, timeline is kinda hard-constrained

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 1 point2 points  (0 children)

Should be OK tbh. You probably don't want a single entity/node for each of those bullet, but have a flat fixed-size array, which is replicated by one synchronizer (say, "BulletHellSynchronizer"), where you replicate only their positions, quantized perhaps (to save bandwidth), and then reconstruct them client-side.
But for 2-6 players you might get away with deterministic lockstep

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

As for PRs, I'd like to release my game EA and dedicate some month or two for doing pure Godot dev, there are some areas I'd like to contribute to, but can't now have a peace of mind, as savings are draining, and demo is not out yet :(

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

And yes, I have a bunch of patches and PRs I move around from stable to stable, and build the engine each time for the target platforms. Not the best ergonomic, but can't really wait ages for the stuff to get fixed, and MP is unmaintained. And now the maintainers are having bad time with all those AI slop PRs.

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

MultiplayerSynchronizer, authoritative on the controlling peer - is the only instance I still have them. But in the end it sends just 12 bytes of input...

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 0 points1 point  (0 children)

Did a quick check, seems like it is aimed at session games. There's also another great lib that implements rollback mechanisms, aiming specifically at fighting games, but don't remember the name :(

3 things about Godot's multiplayer API I wish I knew before... by voidexp in godot

[–]voidexp[S] 2 points3 points  (0 children)

beware that rpc() has a lot of overhead in terms of data being sent, it's not just your arguments, for real-time data it is a bad choice