Jump to content
SSForum.net is back!

Vidiot_X

🜲 Administrator
  • Posts

    453
  • Joined

  • Last visited

Everything posted by Vidiot_X

  1. This is a video showing the server ship (white) moving on a client (yellow ship) at a 'one' second lag/delay (1000 milliseconds). I'm only using the 'lockstep' method sending a frame number and the moves for the that frame plus a position/velocity correction. So it's not catching missing or out of sequence frames (packets) but it looks promising so far. The video recordings a little slow on the FPS but I thin k you can see what I mean. Just the first step in working this out but for a 1000 milliseconds of lag it's kind of cool, http://www.youtube.com/watch?v=3taNSJhl2B8&feature=youtu.be
  2. Right on JoWie, You could even have other applications mess with the level of precision resetting the register on the same machine. This post really sums up how I feel about this subject. http://www.blitzmax.com/Community/posts.php?topic=98786#1157186 Client side prediction really does handle this sort of incongruity fairly well. Since SubSpace does not use this model the use of fixed point math is needed. My position is that server side corrections should easily handle the accumulated differences in an objects position.
  3. It is looking like the best approach is to just deal with the non-deterministic nature of floating point numbers by correcting clients when they drift out of position due to differences in floating point values as they accumulate over time. Using a fixed point method will work but other math functions like Sin() and operations like +,-,* and / would all have to be processed by a fixed point algorithm.
  4. Some interesting discussion about this here: https://plus.google.com/u/0/111116177023306684673/posts http://www.blitzbasic.com/Community/posts.php?topic=98786#1156840
  5. @Dr. Brain NP. Speak freely. Math is not my strong point. In my frameworks there are just a few variables that need to match on the both the client and the server. Those would be object position (x,y), object velocity (dx,dy) and object rotation. There are other variables involved but I'll use these as an example. At 4 decimal places there is likely to be little difference in the values of two floating point numbers on two separate platforms. So I might get values like these using single precision: Platform A - 1.999991 Platform B - 1.999993 Truncated at 4th decimal place I would have 1.9999 on both platforms. In the case of: Platform A - 1.999998 Platform B - 2.000000 If platform A is the server I could then correct the client (platform B ). This is what I was envisioning and why I suggested higher accuracy in matching between the two platform values. This is an issue I had plan to research and I have had this method suggested to me by others.
  6. I am thinking the differences in the floating point numbers between two platforms might be very small at 4 decimal places and I could handle it in my client side prediction framework. The precision at 4 decimal places should be good enough for the collision and physics framework and affect a only a handful of variables.
  7. Perhaps truncating the floating point number to say 4 decimal places (for example) and convert to integer like this ( float * 10000 ) =Int and then converting it back to a float like this ( Int / 10000 )=Float. Or just using truncated floating point numbers. Edit- In effect lowering the precision of the floating point number but getting improved accuracy.
  8. Yup... This is on my mind. I use floats for lots of things but as you both point out different platforms and hardware (or even twice on the same hardware) can and do give different results. I believe that I can use integers for all the networking stuff. The mapping, collision and other frameworks all use floating point math currently which I love because of the smooth movement of an object at low speeds to the display device. You can see what I mean in Continuum when your ship moves very slowly and sorta hops to the next position. The other issue is the vertlet style collision I am using really needs floating point math. My thinking here was that any differences in the expression of a float would be small enough to be periodically corrected by the server which gets done anyway in a client side prediction model, but an integer based model would require less correction and thus less bandwidth per client. My other concern regarding floating point math is devices like cellphones or tablets which have limited hardware performance. Much to consider here. . .
  9. And.. SubSpace I'm told does not use any client prediction at all but instead the server simply (old school) forwards close by client's data to the the current client receiving data. This makes scene to me as the original servers were plagued by cheating. Client prediction removes cheating (nearly) as a problem as even if a client is cheating it only fools it self. The server will verify it's data to make sure it fits a set of parameters. If it falls outside then the client is removed. The other model I'm considering is a generalized networking model that may fit my design for Phoenix. - Rich -
  10. @Resol Well, I am using client side prediction and the buffer I'm talking about is used to record (on the server) the movement/weapons from the client. The client too would have a similar buffer. I can use this buffer for predictions on player/ship and bullets. Basically using a time or other index to sequence and then process the movement of a ship or bullet based on the buffered inputs from a client (in the case of a server) and make predictions about the player/bullet. It is a method to help with latency and accuracy in predictions. You can read about it here for more information. http://gafferongames.com/game-physics/networked-physics/ http://wiki.beyondunreal.com/Legacy:Lag_Compensation
  11. @Axe, LOL. . . I forgot that was even there. And the six's are my kinda girls. @All The biggest issue I'm working on now is timing from the server to the client. The server is always behind the client as the clients have to send data like movement/location to the server then the server can process that data. So I'm working out a buffering system to record movement/location that lets the server run behind all the clients and keep timing. It's simple and complicated all at the same time.
  12. Hi, I have a working client and server that can handle ship/bullet collision. I am working out some small issues but close to getting it working. Below is a server (left) and client (right). I have a number indicating shield strength/power on the local ships as well as changing color. I'm also using the radar back screen to indicate shield status (just for testing). I'll be adding explosions and fixing a few issues. So I'm close to posting a new version. http://www.phoenix.subspace.co//s_c_ship_col.jpg
  13. LOL^ Ya, it is.. but now everyone calls me Ricky Bobby.
  14. Hi, I have had to take care of some personal issues here at home, so sorry for the delay. I have a new server running and client. So as soon as I have worked out a few bugs I'll be posting a new client. This next version will let you shoot and kill an opponent as well as plus show energy via HUD. - Rich -
  15. Cool I was in a Metal band sometime back. We even wrote about a dozen songs. Was a fun experiment.
  16. Hi, I have been doing a lot of music related stuff of late and that has been stealing time ( https://www.facebook.com/Ozark80Proof ). But, I am back at it developing a playable version of the server/client for the next release. Soonish - Rich -
  17. ^No Problem I am working on it now. Adding in a new networking framework called RakNet ( http://www.jenkinssoftware.com/). It should handle networking UDP very well and has everything I would need including voice commutations. - Rich -
  18. Hi, I am leaving it down as the version of the server/client will be available soon. - Rich -
  19. Hi, There is a patch available here: http://code.google.com/p/planetcreator/downloads/detail?name=PlanetCreator_Patch001_Screenshot.zip&can=2&q= To use just download and unzip to your Planet Creator directory. As I mentioned I will package this all up and post it on the Phoenix SS protect page. - Rich -
  20. Hi, The author should be updating his app and installer to reflect some bug fixes I have made. I'll keep you posted. I will have this application posted on the Phoenix SS project page for downloading Monday'ish and on my other web sites as well. - Rich -
  21. Hi, The server will be down until Monday. Reworking routers and playing music this weekend. - Rich -
  22. Hi, This is a new app to make planets and backgrounds by Christian Hart aka. "Krischan" ( See here: http://www.blitzbasic.com/Community/posts.php?topic=97870#1140987). It is written in the same language I use for Phoenix SS and the author has released the source-code and it is redistributable. This means that I can modify and include this app as part of the Phoenix SS suite of tools. Simply Awesome! It has many options including Atmosphere, Clouds, Lighting, Rings, Adjustable LOD, Navigation, Views, Zoom and more. I plan to modify this to suit the needs of Phoenix SS. This also uses the 3D engine I will add to Phoenix SS sometime down the line. Download here: http://code.google.com/p/planetcreator/downloads/detail?name=PlanetCreatorInstall_1.0.exe&can=2&q= Main Project Page: http://code.google.com/p/planetcreator/ Here is a screen shot http://redeyeware.uphero.com/postimages/planetcreator.png - Rich -
  23. Hi, Well, here is what I am up against. There is at current or soon to be added these option, Display Zoom in/out, Manual Screen Rotation, Map Rotation Mode On/Off, Display Rotation Mode On/Off, Snap Display ( N,S,E,W ), Snap Zoom to Preset Min/Max, Map Line Mode (for testing), Detail Level, Change Resolution, Change to Windowed Display, and lots more to come. To manage some of this or I will use a menu system but for other options there has to be a combination of keys to effectively manage it all. I am most concerned with ease of use and would prefer to set aside a set of key commands that are standardized and do not change. This has a definite advantage in development and support. But I also know that customization of the key map is required. I really don't want this to get fragmented and messy. Shift+Alt (the modifier) does make sense but could be a complicated task when in combat because in addition to the modifier there has be an additional key. Been a long night so I will give this some more thought. Thanks, - Rich -
×
×
  • Create New...