Live data from Hacker News

OpenRA

openra.net

161–170 of 174 posts

Re: OpenRA

#161

Would be nice if they finished Tiberian Sun/Red Alert 2 support. I only complain because I put in over $1,000 USD as part of a crowd funding campaign to do just that ...13 years ago :(

Wait, Tiberian Sun is not working? In what sense? I'm sure I played with walkers, visceroids, giant ants, mole tanks, and hovercraft.

It's half-implemented in OpenRA's engine and then spread across a bunch of mods that attempt to augment as much of the game in as possible

Re: OpenRA

#162
post #153

Earlier quoted context omitted.

It should work but you'll need .net 10 and powershell. works on macos, win64 and winarm64 so far I just haven't uploaded binaries since it's just work between a friend and I on weekends to fine tune or fix things

Binaries would suck. Buildable source enables inclusion in distro repositories.

Why would publishing binaries prevent using the source elsewhere?

Re: OpenRA

#163

Earlier quoted context omitted.

Weird. I find the balance for player vs AI to be actually pretty horrible. AI can outrange artillery sight so you have no choice but to push forward always or micro manage units. I have a fork of OpenRA on my GitHub where I try to address this, along with pathfinding bugs, enabling Tiberian Sun and fixing bugs with that. I also updated it to cross platform .NET 10 and bumped the performance up about 6-10x fixing mino…

> AI can outrange artillery sight so you have no choice but to push forward always or micro manage units. Since when is having to micro your units viewed as an issue in an RTS?!

Not all RTS have such a big emphasis on micro: TA-type RTS tend to have mechanics that try to avoid a huge amount of micro being required (though, in any RTS, there is still some advantage to be gained from it).

Re: OpenRA

#164
post #129
post #42

Earlier quoted context omitted.

The load/save is what kills me. It's a great project, but having to wait 2 hours for a game to load, fans blaring on my laptop, makes it less playable. For context, I love huge, massive maps with loads of players. OpenRA replays the entire game to restore, it doesn't have a save-current-state routine. So 20 hours of massive map + 8 players means 2 hours of pegged CPU to reload the save. Heartbreaking.

Why is saving the state hard for them? So many games and other software save their state .... Imagine Excel 'replaying' the spreadsheet to return to the latest state.

The main thing is that synchronizing the state is hard: with hundreds of units and low latency being important, there's big advantages to having a deterministic simulation and relaying the player's commands instead of the whole game state, in fact unless you know everyone playing the game has a very good internet connection it's the only viable option. As an added bonus, it also allows you to hide small amounts of latency without rollbacks or stuttering by having a small delay on command execution. Once you've got that it's obvious that the best way to make a replay file is to save the stream of commands, and this also doubles as a save file, as opposed to making a seperate mechanism for saving and loading state which might introduce it's own bugs.

(It's not impossible to do both: while it's not strictly an RTS, Factorio has the same difficulty of synchronising the whole game state in multiplayer, but also has the disadvantage of quite long-lived and simulation-intensive games. So it uses a hybrid approach: it has a deterministic engine and a game state save, and when someone joins a multiplayer server, the server snapshots and sends the game state, which may take a few minutes, then it sends a replay to catch that player up to the current state of the game. But this is something that took them a lot of work to get into a reliable state and was kind of forced onto them by the constraints they had to work with)

Re: OpenRA

#165
post #129

Earlier quoted context omitted.

Why is saving the state hard for them? So many games and other software save their state .... Imagine Excel 'replaying' the spreadsheet to return to the latest state.

it sounds so stupid u know i am curious Why on earth people would do this. How it is not possible to dump some memory as save/load. is the game state not known?? :/

Save files are not just memory dumps, you need to have a serialisation/deserialisation mechanism for the game state. But this is not generally a viable way to do RTS multiplayer, so you either need to build both a save game system and a deterministic replay system (which might each make the other more complicated), or go for the latter which you need to do anyway and then reuse it for saving the game as well.

Re: OpenRA

#167

Earlier quoted context omitted.

it sounds so stupid u know i am curious Why on earth people would do this. How it is not possible to dump some memory as save/load. is the game state not known?? :/

Save files are not just memory dumps, you need to have a serialisation/deserialisation mechanism for the game state. But this is not generally a viable way to do RTS multiplayer, so you either need to build both a save game system and a deterministic replay system (which might each make the other more complicated), or go for the latter which you need to do anyway and then reuse it for saving the game as well.

Factorio manages to pull it off and I'd argue they are tracking far more individual entities.

Re: OpenRA

#168

Earlier quoted context omitted.

Save files are not just memory dumps, you need to have a serialisation/deserialisation mechanism for the game state. But this is not generally a viable way to do RTS multiplayer, so you either need to build both a save game system and a deterministic replay system (which might each make the other more complicated), or go for the latter which you need to do anyway and then reuse it for saving the game as well.

Factorio manages to pull it off and I'd argue they are tracking far more individual entities.

It's not impossible, it's just a question of if it's worth the effort. Factorio was kind of forced into it, because a) they built a save system before they went multiplayer, and b) it's impractical to replay a factorio save when loading a game, because it lasts a lot longer.

(note that factorio does a hybrid: multiplayer works like an RTS but starting from a save game instead of from scratch. If your PC can barely keep up with a server that you're joining, it can take a long time to actually get into the game or actually just not be possible)

Re: OpenRA

#169
post #129

Earlier quoted context omitted.

Why is saving the state hard for them? So many games and other software save their state .... Imagine Excel 'replaying' the spreadsheet to return to the latest state.

The main thing is that synchronizing the state is hard: with hundreds of units and low latency being important, there's big advantages to having a deterministic simulation and relaying the player's commands instead of the whole game state, in fact unless you know everyone playing the game has a very good internet connection it's the only viable option. As an added bonus, it also allows you to hide small amounts of la…

Thank you for explaining.

> there's big advantages to having a deterministic simulation and relaying the player's commands instead of the whole game state, in fact unless you know everyone playing the game has a very good internet connection it's the only viable option.

If I understand, running it all on a server and just updating player UIs doesn't work for an RTS because some user Internet connections bottleneck the updates, putting those users at a disadvantage. You need to keep as much on the client as possible.

Re: OpenRA

#170
post #162
post #153

Earlier quoted context omitted.

Binaries would suck. Buildable source enables inclusion in distro repositories.

Why would publishing binaries prevent using the source elsewhere?

They don't.
Post reply on HN