Author Topic: Bricks ghost and place BEFORE you spawn.  (Read 2104 times)

I was thinking that after datablocks and objects are done loading that another screen should pop up and say that its ghosting bricks. This would be useful because in TDMs you sometimes autospawn and get killed before your done ghosting, and you can't really fight back because your projectiles sometimes don't render. This becomes a real pain in hunger games and hardcore TDM servers were you only get one life and immediately start out spawned and the game normally takes a long time to finished, so you die before your ready. I also think that it would make ghosting bricks a little faster since you don't have to see them and the game doesn't have to render projectiles and ghost at the same time.

I totally agree with this.
Currently, how ghosting works is load vehicles, items, dts shapes and stuff first, and then load bricks.
However, it is well known that vehicles and etc. are causing ghosting process to lag a bit, making it pain in the ass to ghost.
Solution is easy, like you said, make a new loading screen component and viola!


Doesn't the game render bricks on a server when you can see them, hence the warning when you save a build? It would mean you would have to spawn before you've finished loading.

People should just make TDMs and suchlike with safe zones where you can ghost without being shot at constantly whilst you can't do anything, but this would be a better alternative.

Its also a real pain when the bricks don't load unless you go near them. But the place is off limits so you still lag and your shots don't render half the time.

Regardless, my issue with ghosting is how you can see the entire build load on front of you ruining any secret areas or hidden content.

Even if the player spawns before they are done loading just to ghost bricks, it would be fine by me.
I'd love to see this.

Also if I go on my web browser and put blockland in the background when I'm ghosting in a server it NEVER ghosts.

It'd be nice if Badspot could add an onGhostingFinished callback.
I'm not sure how it would work with how the ghosting system works though.

What I'd want is that the player joins the game, joins the minigame, but doesn't spawn, and the player has to click to spawn when they are ready.

The point of rendering is that you see all the bricks, you gpu takes all of the brick data and transforms it into data for your monitor to display (more or less). What could work instead of having another load screen is just keeping the player from spawning until ghosting is complete. Like headcrab said, however, there is currently no callback for when the ghosting is complete so we would have to guess

It'd be nice if Badspot could add an onGhostingFinished callback.
I'm not sure how it would work with how the ghosting system works though.

I haven't tested any of them at all, but you could try messing around with the following functions:

gameConnection::activateGhosting()
gameConnection::clientWantsGhostAlwaysRetry()
gameConnection::getFinishedInitialGhost()
gameConnection::getGhostsActive()
gameConnection::onGhostAlwaysObjectsReceived()
gameConnection::setFinishedInitialGhost(bool val)


The point of rendering is that you see all the bricks, you gpu takes all of the brick data and transforms it into data for your monitor to display (more or less). What could work instead of having another load screen is just keeping the player from spawning until ghosting is complete. Like headcrab said, however, there is currently no callback for when the ghosting is complete so we would have to guess

Rendering has nothing to do with ghosting.

The point of rendering is that you see all the bricks, you gpu takes all of the brick data and transforms it into data for your monitor to display (more or less). What could work instead of having another load screen is just keeping the player from spawning until ghosting is complete. Like headcrab said, however, there is currently no callback for when the ghosting is complete so we would have to guess

This is where my addition comes into play.  There are two stages to respawning.  When you die, there is a timer, usually 5 seconds, then you have to click to respawn.  If Badspot were to include something like this right as you join the server, where you have to click to spawn into the environment, then this would be a solution.

Rendering has nothing to do with ghosting.
What's the difference, then

What's the difference, then
I think the first sentence of your previous post decribed rendering adequately enough
I believe ghosting is sending brick (and other objects) data across the network, and the client creating the objects
« Last Edit: November 13, 2012, 05:48:37 PM by Headcrab Zombie »

The best way to do this is transfer the initial ghosting sequence over TCP.

Imagine being able to load the Golden Gate Bridge build in less than 1 second. I've done something like that in the other direction: save uploading.