• Announcements

    • HEAVY265

      Hells Gate   03/24/2019

      Break through the lines, and enter Hells Gate!!! This will be the next CRS organized event.  Lead by the High command from each side.
      Free Premium Access for the event
      Date: 3/30/19 Time: 11:00 AM Server time/ 12:00pm EST/ 1600 GMT
mingus

64 bit and you soldier!

107 posts in this topic

IBM mainframes moved from 24-bit to 31-bit, then 64-bit, and it was relatively painless.  But that has a LOT of backwards compatibility engineered in, which builds in limitations with roots in 1970s-80s software/hardware, and certainly not a lot of parallel processing in the modern sense of the word.

 

https://www.ibm.com/support/knowledgecenter/en/SSGMCP_5.4.0/tuning/bittage.html

 

The nice thing about being a dev company is you control a LOT of your environment so you can do things your own way at your own pace.  The bad thing is, it's not a package you can slap on/buy your way through, configure and go, all that customization is going to fall on your staff.

 

Share this post


Link to post
Share on other sites
5 hours ago, madrebel said:

IBM has an literal army of developers.

All being paid six figures probably...

Share this post


Link to post
Share on other sites
5 hours ago, madrebel said:

IBM has an literal army of developers.

Its also i on their proprietary OS i think.
Not sure if that makes it easier or not, probably makes it different though

Share this post


Link to post
Share on other sites
36 minutes ago, SNIPER62 said:

All being paid six figures probably...

deep into the six figures, over a million for the senior most guys.

 

19 minutes ago, Merlin51 said:

Its also i on their proprietary OS i think.
Not sure if that makes it easier or not, probably makes it different though

effort wise - idk not my area of expertise. will, momentum, resources wise undoubtedly.

Share this post


Link to post
Share on other sites
8 hours ago, Pittpete said:

Keep in mind that most of the CRS team is made up of volunteers who PAY the game also.

Fixed.

3 people like this

Share this post


Link to post
Share on other sites

Hmm, most of the time we usually find out it's just a few key people, surrounded by a good support staff, moon shot levels of QA and care and testing before they release stuff.  But that's for specific arenas, it may add up to hundreds of key people taken altogether for a new OS, thousands in support people.

z/OS is proprietary, running on proprietary hardware.

 

In any event, not terribly relevant to the Rats' situation as they are having to play in Linux on the backend on virtual servers, with production backups specific to them and what the colo can do, and then make that all work with a not terribly backwards compatible Windows client environment.  I mentioned it though because 64-bit per se doesn't have to be a complete rewrite, it just does more for sensitive not backwards-compatible language libraries and OS.

Edited by Kilemall

Share this post


Link to post
Share on other sites
8 hours ago, Kilemall said:

I mentioned it though because 64-bit per se doesn't have to be a complete rewrite, it just does more for sensitive not backwards-compatible language libraries and OS.

It can get tricky when a lot of left/right shift, bitmasking or pointer/type casting is involved. These kind of errors are a [censored] to find,

Share this post


Link to post
Share on other sites
30 minutes ago, rote7 said:

It can get tricky when a lot of left/right shift, bitmasking or pointer/type casting is involved. These kind of errors are a [censored] to find,

Can someone translate this into what us mere mortals speak?

Share this post


Link to post
Share on other sites
7 minutes ago, aismov said:

Can someone translate this into what us mere mortals speak?

While not sure of the precise nature of the techniques he's describing, I do know that a lot of older programming would use shortcuts and tricks to deal with the lack of resources particularly memory but also processing, and so would do things that require everything operate exactly with X behavior and Y character count. 

By virtue of increasing memory an OS or language will at the least use the higher addressing to extend/increase functions/instructions, change behavior, and/or process larger chunks of data/instruction, and people not concerned with backwards compatibility may break an older version entirely.

1 person likes this

Share this post


Link to post
Share on other sites

Sry for the gobbledegook, but there is no easy way to explain the details without teaching some programming.

There are some tricks/often used techniques in programming that use the internal representation of numbers as bits to store information.

Example: Lets say we use a 32bit number to store the number of seats occupied in a transport plane. Bit 1 set to 1 means Seat 1 is occupied, Bit 2 set to 1 means Seat 2 is occupied, Bit 3 is set to 0 so seat 3 is not occupied etcpp. Each possible combination of seats occupied and not occupied represents another number between 0 (all bits set to 0) and 2.147.483.647 (all bits set to 1). So to let another client know which seats are occupied and therefore on which seat to display a player avatar, all we have to do is to sent that number to the client instead of the occupancy status of each seat.

Converting to 64bit changes that internal representation and, if not very carefully implemented, many of the aforementioned tricks/operations can lead to slightly different or totally different results with the new number format.

3 hours ago, Kilemall said:

I do know that a lot of older programming would use shortcuts and tricks to deal with the lack of resources particularly memory but also processing, and so would do things that require everything operate exactly with X behavior and Y character count.

Kile said it better than I could but I already typed my post, so there you go. :)

Edited by rote7
Example added

Share this post


Link to post
Share on other sites
25 minutes ago, aismov said:

Can someone translate this into what us mere mortals speak?

I actually had a fairly comprehensive answer written up with examples, but realised that it was rapidly getting overly complex, and really, Kilemall  and rote7 basically summarised it nicely. The only thing I would add is that there are alot of issues that appear when the original code is not impeccable, and the original developers make assumptions about data type sizes that aren't true under 64-bits. Sometimes the errors are caught by the compiler, sometimes they generate obvious runtime failures, and other times they only manifest as odd behaviour in game as some calculations are 'off' that can only be caught by very extensive QA.

 

 

 

 

 

 

 

2 people like this

Share this post


Link to post
Share on other sites
On 1/19/2019 at 6:11 PM, mingus said:

Guys are bashing your damage models and everything else, but it probably has nothing to do with damage models. the ancient 32 bit stuff just isnt cutting the mustard anymore.  So often frustrating things happen in game, like rounds not killing, or going through enemy or a host of other things and guys blame the damage models, lag etc,,. 

 

None of that has anything to do with 32 bit vs 64 bit.

Share this post


Link to post
Share on other sites
7 hours ago, caydel said:

I actually had a fairly comprehensive answer written up with examples, but realised that it was rapidly getting overly complex, and really, Kilemall  and rote7 basically summarised it nicely. The only thing I would add is that there are alot of issues that appear when the original code is not impeccable, and the original developers make assumptions about data type sizes that aren't true under 64-bits. Sometimes the errors are caught by the compiler, sometimes they generate obvious runtime failures, and other times they only manifest as odd behaviour in game as some calculations are 'off' that can only be caught by very extensive QA.

Makes sense. Thanks all!

Share this post


Link to post
Share on other sites

To answer your question mingus.... No, we are working on 64 bit and are not buying time by stalling

but thanks for the vote of confidence

 

 

Share this post


Link to post
Share on other sites
9 hours ago, rote7 said:

Example: Lets say we use a 32bit number to store the number of seats occupied in a transport plane. Bit 1 set to 1 means Seat 1 is occupied, Bit 2 set to 1 means Seat 2 is occupied, Bit 3 is set to 0 so seat 3 is not occupied etcpp. Each possible combination of seats occupied and not occupied represents another number between 0 (all bits set to 0) and 2.147.483.647 (all bits set to 1). So to let another client know which seats are occupied and therefore on which seat to display a player avatar, all we have to do is to sent that number to the client instead of the occupancy status of each seat.

This explains why every time i get on a transport plane, everyone sits on MY lap, i guess i am a bit friendly
:P

Share this post


Link to post
Share on other sites
10 hours ago, rote7 said:

Example: Lets say we use a 32bit number to store the number of seats occupied in a transport plane. Bit 1 set to 1 means Seat 1 is occupied, Bit 2 set to 1 means Seat 2 is occupied, Bit 3 is set to 0 so seat 3 is not occupied etcpp. Each possible combination of seats occupied and not occupied represents another number between 0 (all bits set to 0) and 2.147.483.647 (all bits set to 1). So to let another client know which seats are occupied and therefore on which seat to display a player avatar, all we have to do is to sent that number to the client instead of the occupancy status of each seat.

 

In a language like C++ isn't that sort of thing abstracted in OOP? Do we really care how physically in memory it's being represented? 

Share this post


Link to post
Share on other sites
On 1/21/2019 at 3:59 PM, madrebel said:

IBM has an literal army of developers.

now if only 1/3 of them were worth what they get paid.... My day job is spent trying to get IBM applications working at an Enterprise Level.... 

Share this post


Link to post
Share on other sites
7 minutes ago, B2K said:

now if only 1/3 of them were worth what they get paid.... My day job is spent trying to get IBM applications working at an Enterprise Level.... 

Oh I’m familiar. IBM is full of coasters and IGS is pretty useless too at the individual level. They can tackle monster jobs though ... at a glacial pace ... and for 8 or 9 figures. It’ll eventually get done though - late - and for another 7 or 8 figures over budget.

Share this post


Link to post
Share on other sites

I feel like this is an Apple fan club gathering circa 1981.

Share this post


Link to post
Share on other sites
7 hours ago, Merlin51 said:

This explains why every time i get on a transport plane, everyone sits on MY lap, i guess i am a bit friendly
:P

I see what you did there. (:

5 hours ago, budder8820 said:

 

In a language like C++ isn't that sort of thing abstracted in OOP? Do we really care how physically in memory it's being represented? 

Sure, std::vector would be good choice for that. It was just an example of how to use the individual bits of a number to store data.

Share this post


Link to post
Share on other sites
On 1/20/2019 at 6:46 PM, SNIPER62 said:

There is not a single aspect to this game that is simple or easy to deal with. Everything from websites, graphics, 3D models, vehicle data, databases, billing service, servers, networks, marketing, community relations and the actual codebase. None of it is simple nor easy to manipulate, update or fix. There are multiple teams of multiple people that deal with these different aspects of keeping this game going and helping it to get better, so do not clump all of it together as if it were only a single person working on everything because that's not how things work.

Couldn't agree with this more. It is understood that there is some impatience, in pretty much all that we do... because people want things done quicker than things can actually be delivered on.

It's not that we don't want to or intend to bring solutions quicker, it's just a REALLY complicated thing.

Think of all of the different things going on in our game, it's complexity as a player... now think of the complexity involved with the development or production team making changes to how things work. That's part of the niche enjoyment with all of this, but it's not a simple thing. 

That said we're dedicated to getting things done, and thus far, we have delivered on all that we said we would. In some cases we're still working on delivering on those things, but it's something we intend fully to follow through on.

1 person likes this

Share this post


Link to post
Share on other sites
11 hours ago, B2K said:

now if only 1/3 of them were worth what they get paid.... My day job is spent trying to get IBM applications working at an Enterprise Level.... 

I consider most IBM apps toxic.  Usually they bought someone out and then tried to make it go, while hoarding the real brains on the backend, and culturally they aren't developers.

 

This is a common pattern.

 

Another one is that any app is unduly influenced by the needs of it's earlier customers, and so when it's mature enough to be tried by more companies, their needs or culture or business model is different then the early adopters and you get a bunch of square peg/round hole scenarios.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.