1.08 Bug Reports

Status
Not open for further replies.
Yes, but that doesn't preclude using a linear congruential PRNG. It just means you can't use the standard library's srand() and rand().
 
By the way, what of that upcoming C port of Legacy? If it gets to a stable enough state before SRB2 is finished, will there be an attempt at porting SRB2 over? It supposedly is a lot more moddable and user-friendly than the current Legacy release.

Or would that be way too much work? =/
 
BlazeHedgehog said:
By the way, what of that upcoming C port of Legacy?

Don't you mean C++? and no, I don't think it's useable right now
 
No, it's currently in C. If it were practical to "port" SRB2 to a different engine there would be better options.
 
SSNTails said:
You have to maintain synchronization for network games.

Yeah, but with rain and snow? Games like Half-Life 2 don't even really syncronize physics objects unless they're really big. I don't think it would be a terribly big crime if the thunder and rain/snow generation wasn't sync'd.
 
It should be synced, though. After all, in a dark map, a lightning flash could be very beneficial to everyone in trying to see the opponent.
 
The preciptation part of the weather ISN'T synchronized between everyone. For that, the basic rand() is used.
 
Rain and snow should be easy to add to multiplayer since they don't need to be synced with the other players. I mean, the chance of a snowflake falling in front of you and blinding you is a pretty low chance.

As for lightning, why bother actually syncing it? Just pre-randomize about 20 to 50 lightning strikes at certain time intervals over a 5 minute or more period, transmit those lightning bolt times to any player entering the game or starting the game along with the host, and just loop those for your lightning strikes. You could sync them locally to the in-game timer and wouldn't have to worry about transmitting every lightning strike over the network since every player's game already knows when each lightning strike will occur, even though the player won't. You could also randomly select the time period ahead of time so that it would be nearly impossible to predict every lightning strike.

Mind you, why go to all that trouble even? I would think this would just be a gravy feature to add if 1.1 gets done ahead of schedule.

--- Gemini
 
Lightning strikes aren't transmitted over the network. Rather, they use the game's PRNG (which is currently implemented with a lookup table), which is synchronized (the PRNG starting point is transmitted over the network once when a player joins).
 
I played a single-player Chaos game on Conveyor Chaos. Red Crawlas only respawning at 2 seconds, Armageddon Shields only respawning at 1 second.

This enabled me to create a chain as large as I wanted:
chaos1.png

chaos2.png


In the second picture, there's a blue square character serving as a negative sign. This should be replaced with the proper sign for the next version. It was taken during the first of two rollovers of the 32-bit score counter.

I tried taking a third screenshot, with a chain of 11131, but instead all I got was SRB2 closing and an error that I had exceeded a 32MB allocation (forgot the name that was used).

[EDIT] Next time I tried to start SRB2, it immediately crashed with error:
Z_Malloc: failed on allocation of -61255656 bytes
Try to increase heap size using -mb parameter (actual heap size : 32 Mb)

What happened there, and can it be fixed?
 
Err, use the -mb parameter to allocate more memory so you can do more crap like that?

Chaos with the spawn rate set to 0 is fun, if taxing and phenomenally against the whole point of the mode. Bashing Crawlas in is so appealing...
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top