Greetings, glorious adventurers! If you're joining in our Alpha One spot testing, please follow the steps here to see all the latest test info on our forums and Discord!
Options

32-bit System

JiraiyaJiraiya Member, Alpha One, Adventurer
Those who have alpha one access may have seen the gold glitch where you would recieve 2,147,483,647 gold in your bag. Does it concern or worry anyone that AoC is going to be running on a 32-bit system since this is the max gold stack?

Comments

  • Options
    MaezrielMaezriel Member, Alpha One, Adventurer
    I don't know if this necessarily means Ashes is on a 32 bit system
    ZeFuP1X.png
    If I said something that you disagree w/ feel free to say so here.
  • Options
    AzheraeAzherae Member, Alpha One, Adventurer
    It does not.

    I feel like I have at least enough experience to label this take as 'not even wrong'.
    Sorry, my native language is Erlang.
    
  • Options
    bloodprophetbloodprophet Member, Braver of Worlds, Kickstarter, Alpha One
    You mean when you run into Winstead and get gold to buy gear for the seige testing?
    Most people never listen. They are just waiting on you to quit making noise so they can.
  • Options
    NoaaniNoaani Member, Intrepid Pack
    All this means is that Intrepid have most likely allocated 32 bits per character to designate gold storage, nothing at all to do with the system the server is running on.

    This allocation is something Intrepid can set as they see fit, other numbers that need not be that high could be set to 8 or 16 bits, as needed.
  • Options
    GumdropsGumdrops Member, Explorer, Kickstarter
    Im worry more about that the gold is stored in a signed integer and go into debt.
    Reminder to stay on topic
  • Options
    VhaeyneVhaeyne Member, Alpha One, Adventurer
    It is also not an issue if they balance the game economy in a way that gold cap ins nearly impossible to achieve.

    Having things vendor for less and quests give you less gold is a step in this direction. Since nearly everything in Ashes is player made. The market will always adjust itself to the currency supply. Currency is only created from vendors and quests, so it should not be that hard to keep the numbers low and have them work.

    Another possibility would be having a currency conversion system. Instead of just having gold alone have like: [Platnum, Gold, Silver, Copper]. Each being like 10x the value of the one before it in the list. This could be done in a way where the character has 4x32bit numbers to fill to reach gold cap.

    I think as long as they are conservative about how large they make reward numbers, they will be fine.
    TVMenSP.png
    If I had more time, I would write a shorter post.
  • Options
    NoaaniNoaani Member, Intrepid Pack
    Gumdrops wrote: »
    Im worry more about that the gold is stored in a signed integer and go into debt.

    They can fairly easily put a check in place so that you cant go negative.

    Even if people did manage to work around it, Intrepid should have systems in place to alert them if a character all of a sudden has 2 billion gold, at which point they can investigate.
    Vhaeyne wrote: »
    Instead of just having gold alone have like: [Platnum, Gold, Silver, Copper]. Each being like 10x the value of the one before it in the list. This could be done in a way where the character has 4x32bit numbers to fill to reach gold cap.
    Personally, I'd rather see it be 100 of each in order to equal one of the next tier up.

    If we assume the base currency is copper (if we assume anything else, copper serves no purpose), a 10x system would make a platinum piece worth 1,000 copper.

    A 100x system (which happens to be what most real world currencies are based on), that platinum piece is worth 1,000,000 copper.

    While this may seem kind of trivial, is means that using 4 32-bit numbers, a 10x system will see the cap on a player of 2,385,854,331,817 copper, while with a 100x system, that cap is 2,169,175,379,318,350 (my math may be off, feel free to double check my numbers here).

    But yeah, the general idea you have here is absolutely spot on.
  • Options
    VoidwalkersVoidwalkers Member
    edited July 2021
    (Off topic regarding 4x32bit ints for gold) Storing gold as a single 64 bit unsigned int and just converting it to platinum/gold/silver/copper at runtime for human-friendly-display is probably a much better idea.

    (Back to the topic) No. And FYI 64 bit systems can still have 32 bit datatypes, and 32 bit systems can have 64 bit ones.
  • Options
    NoaaniNoaani Member, Intrepid Pack
    (Off topic regarding 4x32bit ints for gold) Storing gold as a single 64 bit unsigned int and just converting it to platinum/gold/silver/copper at runtime for human-friendly-display is probably a much better idea.
    This is a better idea if you are keen on automatic currency conversion, as there is no way to determine specific amounts of any one coin type.

    I can't remember what game it was, but I do remember playing a game where you could take a specific number of coins and melt them down to get a bar of that metal. If Ashes has a system like this, keeping each coin type separate would be key - though I doubt it will have such a system.
  • Options
    JiraiyaJiraiya Member, Alpha One, Adventurer
    Vhaeyne wrote: »
    It is also not an issue if they balance the game economy in a way that gold cap ins nearly impossible to achieve.

    Having things vendor for less and quests give you less gold is a step in this direction. Since nearly everything in Ashes is player made. The market will always adjust itself to the currency supply. Currency is only created from vendors and quests, so it should not be that hard to keep the numbers low and have them work.

    Another possibility would be having a currency conversion system. Instead of just having gold alone have like: [Platnum, Gold, Silver, Copper]. Each being like 10x the value of the one before it in the list. This could be done in a way where the character has 4x32bit numbers to fill to reach gold cap.

    I think as long as they are conservative about how large they make reward numbers, they will be fine.

    I totally agree with you, realistically i think that they will probably make it not even obtainable to max out. I think having more than one currency is a great solution.
  • Options
    JiraiyaJiraiya Member, Alpha One, Adventurer
    These are all good points - the only reason i was really curious about it was previous experience with a max cash stack of 2147m in OSRS. There has been some serious issues with it maxing one especially since its a single type of currency economy. Their solution was to come out with platinum tokens which is a place holder for 1000 gold coins. You cant spend plat tokens but it helps keep your max cash stack down.
  • Options
    KarthosKarthos Member, Braver of Worlds, Kickstarter, Alpha One
    I'm about 95% sure Steven has told us there's an artificial gold cap they set in place.


    This is probably what that cap is.
    Aq0KG2f.png
  • Options
    DreohDreoh Member
    Lol

    Does the existence of a Boolean mean we run on Boolean systems?
  • Options
    BaSkA_9x2BaSkA_9x2 Member
    edited July 2021
    As others have pointed out, that gold cap absolutely does not mean AoC "runs on 32-bit systems", that makes absolutely no sense. The amount of gold a character has is simply a column in the game's database. The maximum number today simply means that that column data type only goes as high as that number.

    The reason RuneScape has that limit is because, when the game was implemented, they used the Java data type "Integer", when they obviously should've chosen "Long".

    I guess they used a signed 32-bit data type in AoC because they don't think anyone will ever reach that amount of gold.
    🎶Galo é Galo o resto é bosta🎶
  • Options
    AerlanaAerlana Member, Alpha One, Adventurer
    edited July 2021
    and probably in the release, the limit could be even lower.

    And so "why 2,147,483,647 and not the round number "2,000,000,000 ? "
    as said maybe not definitiv amount. and... i think it is faster and easier to set the limit bind to how memory works than adding a line "maxmoney="
Sign In or Register to comment.