Jump to content

traffic in gta3


Recommended Posts

yeah i had considered something like a grid system...

it sounds cool in concept... and its probably the best way to go.. but this still leaves it on the server to calculate the positions for all the cars, its pretty cpu heavy...

its gonna have to be done in one form or another...

at this point though the netcode is actually storing the double(?) values into strings... which means for numbers w/ many digits a lot of space is wasted rather than just sending the 8 byte double..

i think we've gone over this a lot im gonna talk to my Computer science professor and learn a little about how OBJ files work, and see if there is a way to put C/C++ code into a VB project... that way there isn't this little console running in the background.. its all handled in the VB code..

Link to comment

stat^,

actually it is that easy

pings are not a result of netcode, it is solely dependent on your connection.... a bad connection is gonna screw you no matter how good the netcode is... obviously more bandwidth is gonna help that situation... because you can send packets faster..........

and yes vb is very limiting as far as netcode goes, thats why we are suggesting at least that part be written in C, where arrays of any data type can be sent...

and it wouldnt' be hard at all to write... just some way of getting the data from the VB program to the C program and getting information backf rom the C program to the VB program... would be neccessary, which im looking into.. I'm meeting w/ my Computer science professor on this topic tomorrow morning.. i imagine it has something to do w/ OBJ files, but i haven't messed with that before

kent

Link to comment

lag is obviously based on efficient netcode. a good example being Tibia ( http://www.tibia.de ). when that was first released, the netcode was awful. the server load was very low and way too much data was being sent and recieved. over the years, the code was optimized to send only certain integers and values at certain times, complex timer systems and truncated data made the load a lot less, thus the game lagged a lot less and load could be increased. this whole concept is basically the same as the deus ex multiplayer discussion, which resulted in the deus ex multiplayer patch being deprived of much, in the form of the unreal basec multiplayer system, as they are the same engine. being that GTA3 uses a unique engine, which is not built for multiplayer usage, it was obviously too much for the GTA3 programmers to code, and WILL be too much for a wins0ck system to handle. there will have to be some serious downgrading of game resources for it to work, and relistically it will suck. tbh. removal of all the extra shit, eg cars and peds will just be shit.

as for the grid system, GTA3 pretty much operates on a similar concept. the data will still have to be sent and recieved, its just a slightly different way of calculating entity positions. plus it would be extra coding for the GTA3MTA team, which will result in more delayed release times ;)

Edited by Guest
Link to comment

Definte lag.. i think you may have a different definition...

Bad netcode may make the game "feel" laggy.. but thats not the case

Lag is experienced when packets are not making it to the server, or packets from the server aren't making it to the client... this results in the game hanging or freezing at intervals....

What bad netcode can do... is take too long to send large amounts of data, making the game freeze.... But there's always ways to cut that down...

Kent

Link to comment

lag is packet loss, inability for client to recieve from server, and vixe versa. the netocde schedules packet sends, and regulates what packets should be sent and when, plus the conent. the sending and recieving of these packets are based solely on the netcode, and how it sends and recieves. when the netcode attempts sending this huge amount of data, there will obviously be packet loss to players on low end connections as the netcode is attempting to send more than the client can recieve. this will be the case, even for high end connections. andd as i have said already, many times, there wont be a way to synchronize everything, not without severe lag :P:P:P

What bad netcode can do... is take too long to send large amounts of data, making the game freeze.... But there's always ways to cut that down...

which is precicely what lag is, the client waiting for packets to be recieved, and freezing, lag

Link to comment

i don' thtink you really understood my methodology.. the idea of the circle concept would be to allow large amounts of peds/cars to be handled w/ minimal lag..

w/ my idea the average person wont receive more than 20 cars/peds at a time... and the server wouldn't have to send more than that either..

all the peds and cars outside the bubble wouldn't be sent... to anybody.... it saves time on both ends... its probably the most effecient way your gonna be able to do it..

Kent

Link to comment

the 'bubble' idea is plausable. but, being able to code and implement that could be a problem. i glanced over the other GTA3 multiplayer mod, and it seems the individual programming it has devised a way to sync everything. i have not tried it yet, so i dont know about the lag, if anyone has tried it, let me know if it is laggy or buggy.

Link to comment

The other mod "ggm" does not have synced anything. When another player jacks a car on his screen it just sorta appears out of knowhere on yours. :shock: Like wtf?? Also when he is driving he dodges cars that arn't even there and drive straight through cars on your screen that just go flying.

Ggm has Uber lag cars sometimes drive side ways or upsidedown(rare) some times even with the front or back up in the air.

I think the bubble idea is great and we definatly need to have peds and cars otherwise it would not be GTA. How did gta 1 and 2 synce there cars ? can't be that different.

Link to comment

i think the bubble idea is the best.. there is still the issue of having the server keeping track of all those cars... (not necessarily sending data on every one..) but at least having to know where they are...

until a dedicated server is worked out, i don't think this idea will be happening..... its just way too much on the server...

But... there may be another way... probably much more difficult to code... but allowing players to generate their cars.. and only synching to each other's bubbles... there would be issues to work out when player A spawns a randomly generated car into person B's bubble, etc..

Its just a basis for the concept.... I think the first focus shoudl be the dedicated server, (which it looks like they are working on...)

Kent

Link to comment

GTA1/2 wokred on 2 dimensions, and lagged to hell over 56k and sometimes over LAN. there were some unofficial patches to alleviate lag, and in multiplayer there were decreased numbers of peds and car spawns were less. if it lags in 2D, there aint much hope for 3D :P

Link to comment

its one more variable for just about every calculation :-P... but its still possible...

Many first person shooters run with very little lag, and sending lots of data..

The genius of netcoding design isn't in making your packets send faster.. (not much you can do w/ that when certain amounts of data HAS to be sent..)... the genius is in deciding what to send...

If I'm on the opposite side of the city... its not necessary to know whats going on on the other side... moral... if you can't see it, its not happening..

Obviously the server keeps track of these things, and updates what the client knows about as necessary...

Kent

Link to comment
Many first person shooters run with very little lag, and sending lots of data..

most FPS games dont have immmensly huge maps, with an immense amount of entities reside within. and GTA3 does use the bubble idea. ever zoomed in with the sniper rifle and walked forward ? you can see ppl appear in the distance, then walk backwards then forwards again an they have gone and have been replaced with different models in different positions. it is a part of the coding that will affect the bubble theory for multiplayer.

Link to comment

The server doesn't even need to keep track of 1000's of permanent cars/peds. You could simply leave the cars/peds alone on each client (allowing them to be generated), and when 1 players begin to get close to each (i.e. their bubbles are approaching), sync the traffic of one player with the other. I guess the server could randomly choose which client sets up the traffic to be synced. But, once it's setup, any other players coming into the area will have synced traffic too. The only problem is, when too many players get next to each other, more data will need to be sent and less cars/peds will be able to be displayed.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...