PC Developer Discussions: Alpha 17

Developer Discussions: Alpha 17

  • Newly Updated

    Votes: 1 100.0%
  • Check out the newest reveals by Madmole

    Votes: 0 0.0%
  • Over 100 new perk books with set collecting and bonuses

    Votes: 0 0.0%

  • Total voters
    1
Status
Not open for further replies.
They've now got the AI guy working on vehicles. Problem is that he gave the vehicles AI. That's why they nicknamed the 4x4 Christine. She drives around the map hunting players down to murder them. Your only hope is going to be luring her into the salvage yard and into the crusher. Good luck.
Autonomous driving vehicles with anti-avoidance technology confirmed for A17

 
We still use floats for a reason. Floats use 4 bytes of memory, while doubles use 8. In some cases doubles are also slower.
This is true. I could see needing speed for 3D games to keep it from playing slow, lag, stuttering, etc. Especially since it's constantly updating instead of just a 1 time load or some such like most applications. I know in my controls programming, it scans every some 10ms and if it hasn't finished it's run through, it'll just start over without ever executing the rest of the code (granted most can run through a whole program in a few micro seconds, so 10ms is typically more than enough). I'm guessing it would be roughly the same for Unity. I've dabbled in Unity ever so little, so don't know the full range of what it can do. I'm guessing as faster processors and all becomes more widely available and cheaper, then it'll jump to doubles to then give an even larger playground for game programmers to play in with the precision. I could see that alone causing more issues since then the developer themselves have to be more careful and precise, haha.

Wish I had time to jump back into it and try out a bit more in Unity. It was fun while I had the time, lol.

 
I bounce around a lot and like it that way.
AI blood moon testing and fixing is next, but since yesterday when the testers started calling the 4x4 Christine, I decided I might want to fix exiting vehicles sometimes ragdolling you into the air and maybe killing you. Added a roof exit too, so if all 4 sides blocked you can exit above instead of inside the vehicle where physics then tosses you out.
What happens if someone encages the vehicle (and its passenger/s) within, lets say, wood frames all over, and the driver tries to exit?

 
AI blood moon testing and fixing is next, but since yesterday when the testers started calling the 4x4 Christine, I decided I might want to fix exiting vehicles sometimes ragdolling you into the air and maybe killing you. Added a roof exit too, so if all 4 sides blocked you can exit above instead of inside the vehicle where physics then tosses you out.
Spoilsport. Fixing all the cool bugs and leaving us experimental players with only the boring bugs.

We players need to form a Society for the Conservation of Interesting Bugs, SCIB. It isn't too late, stand up for your rights to get quality bugs. Support SCIB.

 
Pretty much every 3d game has been using floats (32 bits) for coordinates since the 90s shift from fixed point to floating point math. Someday we will all be using doubles (64 bits) and not care much. Like how we shifted from 16 bit to 32 bit ints.
To be honest, for a game with map sizes in the tens of km, I would say that a 32 bit integer is enough to localise objects. If 0,0,0 equals the center of the map and the precision is done in mm then the maximum size of the map would be 2150x2150x2150 km. Increase the precision to 0.1 mm accuracy and you'd still have a 40000 km2 playing field. The only reason some games switched to 64 bit values is because they had to create solar systems with the size of 1 mil km and then still had to be able to keep track of players positions highly accurate to prevent players from registering each other moving meter by meter for instance.

Correct me if I'm wrong but where floats lose precision, the larger they get, integers stay accurate until overflow. Or I am missing something big within programming with Unity? I'm just a C/C++ programmer haha!

 
To be honest, for a game with map sizes in the tens of km, I would say that a 32 bit integer is enough to localise objects. If 0,0,0 equals the center of the map and the precision is done in mm then the maximum size of the map would be 2150x2150x2150 km. Increase the precision to 0.1 mm accuracy and you'd still have a 40000 km2 playing field. The only reason some games switched to 64 bit values is because they had to create solar systems with the size of 1 mil km and then still had to be able to keep track of players positions highly accurate to prevent players from registering each other moving meter by meter for instance.
Correct me if I'm wrong but where floats lose precision, the larger they get, integers stay accurate until overflow. Or I am missing something big within programming with Unity? I'm just a C/C++ programmer haha!
It's not the accuracy of the terrain that's the issue, it's the fine-grain maths required to animate the rig correctly. The rounding errors cause the shaking seen on the characters.

Unity originally used floats instead of doubles so that they could easily compile across several architectures, as these architectures have moved to 64 bit unity really should move on and join everybody else.

 
@Faatal, @MM, @Jaz, @Roland

guys I have a big question, now that we have the jeep 4x4 as we keep the vehicle inside our bases? Do we have doors 4 blocks wide? or will they give more points of life to the garage door that is 3 blocks wide?

 
giphy.gif


 
I'm curious if that's because it is Unity? I'm curious because I program mainly php, javascript, and a form of C++/C# (it's a weird mix of their own) that is dealt in industrial control programs for Beckhoff. Typically I won't have issues with floating points unless I forget to convert the integer to a float point (or equivalent based on programming language) since then it just truncates the number.
I guess mainly it's because I don't realize how large the coordinates can get? Because I don't imagine them getting large enough to start losing precision in that sense since it would then start cutting off from lack of memory space based on data type.

I almost feel like we need a new sticky thread for times when people that know coding, or want to learn it, to be able to talk to you all about it, lol. Mainly for the more technical people, anyways. Though I know that'd take up more time you guys can't afford, hehe.
I hear ya. My first thought was:

"What exactly is their max range of coordinates? A decimal and an integer have some pretty big max values. And why is precision involved at all in what I thought was a 3 axis coordinate system?"

As a developer, I've looked up why people use floating points at all. The biggest reason is to be able to manage and store very large numbers. Which was why my first question was, What exactly is their max range of coordinates?

*shrug*

I'm sure there's good reason to use the floating point numbers in a game for coordinates. I just have no idea what that good reason is. Curious myself.

 
I'm sure there's good reason to use the floating point numbers in a game for coordinates. I just have no idea what that good reason is. Curious myself.
A 32 bit float runs the same speed on 32 bit and 64 bit architecture. A 64 bit float runs far slower on 32 bit architecture because the number must be split into two 32 bit numbers and recombined afterwards for the processor to be able to handle it.

When about half of computers were running 32 bit architecture it made sense to use the lowest common denominator (metaphorically speaking).

 
Status
Not open for further replies.
Back
Top