Time to raise the credit cap

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    Yup, another one of these

    Starmade is significantly more stable than it was a year ago, yet we still have the same limitations we have always had. Time for an upgrade. Before you say "but what about the crappy PC's?!" I have an ASUS UltraBook with Intel HD4000, and while yes, it struggles with larger structures, it can play with them. I have the most entry level graphics i am aware of that plays the game, and if you have worse, its time for an upgrade. I'm not suggesting a cap of 50 billion, or infinite, but at least 2 or 3 times what we have now. Even if you dont want to raise the default cap, allow a server.cfg option so we can.

    and yes, i just want to be able to use my big ships on servers :P
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    I personally wouldnt mind removing it all together. But a raise would be nice
     

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    Your point there is that the game would need overhauling to a 64bit system. gravypod (he knows java) informs me this is not the case. Instead you just need to change the datatype being used to store the number from an integer to a "BigInteger".

    [21:43:01] gravypod: Schema could use BigInteger to make it unlimited
     
    Last edited by a moderator:

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    Easy fix: Re-balance the economy to the point where 2.14 billion would not only be hard to do but largely useless.
    The alternative: Have a nice script take your excess cash and store it in a bank file where you can call for it at any time.

    Considering the to-do list of needed base-level additions to StarMade itself (it is in alpha after all) the money cap isn't really a pressing issue. If it gets really bad and you don't want to use a script/plugin/daemon/wrapper then you can just enable purchasing ships with blocks. Tosses the credit cap right out the window.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    Easy fix: Re-balance the economy to the point where 2.14 billion would not only be hard to do but largely useless.
    The alternative: Have a nice script take your excess cash and store it in a bank file where you can call for it at any time.

    Considering the to-do list of needed base-level additions to StarMade itself (it is in alpha after all) the money cap isn't really a pressing issue. If it gets really bad and you don't want to use a script/plugin/daemon/wrapper then you can just enable purchasing ships with blocks. Tosses the credit cap right out the window.
    And still people would put the time and effort into building ships that would be over the credit limit.
    And the existence of hacky community made fixes shouldn't prevent features in the game.
     
    Last edited:

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    Any still people would put the time and effort into building ships that would be over the credit limit.
    And the existence of hacky community made fixes shouldn't prevent features in the game.
    Your first sentence is very hard to read. I admit English is not my first language but I don't think a native speaker could read that without confusion.

    I think you are trying to put a limit on what people build? Well that's fine. You can do that in the server settings.
    As to your second line; I didn't say it should. Also.. Referring to the console output that allows such scripts to exist as 'hacky' seems pedestrian. Considering schema himself placed them there for that purpose.

    Don't you have a script of some sort gravy? You're not calling your work a hack-job are you? I hope not. I've heard good things about it.

    This game is meant to be community based. This isn't any other voxel-boxel game you've played. This is StarMade. The game that isn't just a sandbox experience for the user but also for the server. Rules can be changed. The whole universe can be redefined with a few keystrokes in a config file. Impose limits and destroy them at a whim. If your users don't like it they'll leave. If they do like it they'll stay and praise you for your server managerial acumen. That sort of built-in modability has come at the cost of an unheard of quickly evolving alpha dev cycle. So you can't complain it's taking too long. All this power and you want a bigger credit integer? Take the last number off every block in the XML. Instead of 450 a hull block might sell for 45. Add a decimal. 4.5 credits for one hull block. Try to hit 2.14 billion now.
     

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    Don't you have a script of some sort gravy? You're not calling your work a hack-job are you? I hope not. I've heard good things about it.
    Of course it is, DTSD that nass uses is aswell, there is no modding api, its all done with text the game spews out of the console, and the commands we have.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    Your first sentence is very hard to read. I admit English is not my first language but I don't think a native speaker could read that without confusion.

    I think you are trying to put a limit on what people build? Well that's fine. You can do that in the server settings.
    As to your second line; I didn't say it should. Also.. Referring to the console output that allows such scripts to exist as 'hacky' seems pedestrian. Considering schema himself placed them there for that purpose.

    Don't you have a script of some sort gravy? You're not calling your work a hack-job are you? I hope not. I've heard good things about it.
    I corrected the spelling of my message. It was meant to be "And" instead of "Any".
    Today has been a strange day, implementing all of the new commands from this starmade update into my server.

    Yes, I am calling my script a hacky fix. I basically wrote an 8000 line log parser :p. Anyone who thinks that is not hacky, should re-evaluate their code.
     
    Last edited:

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    Well I have some server operators to apologize to. I had recommended your script to several folks who wanted a nice private server. Glowing endorsements all around. I don't know what you are trying to 'fix' as the game is incomplete.
    You may have written a log parser but having contributed code myself to the Doomsider/Titansmasher StarMade Daemon I can speak with some authority when I say that project is not simply a log parsing spaghetti press.

    It's a shame you stopped at 8000.
    If it had been closer to 10000 we could have made a nice DBZ meme reference out of it at least.
     
    Joined
    Sep 15, 2013
    Messages
    267
    Reaction score
    63
    I agree that there's a problem with a reachable ceiling in the credit system, however I think the problem is more that it is so easy to get to 2.14 billion credits. What I mean is that 1 credit is quite literally worthless (in fact, anything short of 1 million credits is worthless). What really needs to happen is a reduction of item prices by 1 or two orders of magnitude.
     
    • Like
    Reactions: MossyStone48
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    integer to a "BigInteger".
    The problem is, that BigIntegers are used slightly different, than integers.
    Standard number types have operators (e.g. +,-,*,/,%,...) in java, but "java.math.BigInteger" has no operators. Thus switching from a standard type to BigInteger effectively requires you to rewrite all code, which uses the variable in question.
    Switching from a standard type to another (from int to long e.g.) on the other hand doesn't require this. The only thing that could happen is to have to change the type of some method parameters and local variables.
    The biggest problem with switching types however is the file-format, but this applies to any change of type.
     
    Joined
    Nov 22, 2013
    Messages
    17
    Reaction score
    11
    The current credit cap, while just a limiting factor in the language used, has defined the scale of ships seen. The purchasable ships just below the cap are currently very large and whose impact on servers is well within what Star-Made can cope.

    However, in my personal experience, ships whose value is many times this cause can cause a number of issues even when stationary. With max graphics settings in an empty set of sectors, large enough ships can fail to fully render, and serious fps drops will be experienced. Large enough weapon arrays, especially missiles, have a tendency to give servers grief.

    Redefining or removing the credit cap will alter the size of ships seen, and whether Star-Made can cope with that is something that needs to be considered, or addressed.

    Don't get me wrong. I'm all for the idea of increasing the credit limit, but the issues that arise from this certainly need to be given thorough consideration.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    It's a shame you stopped at 8000.
    If it had been closer to 10000 we could have made a nice DBZ meme reference out of it at least.
    Thanks! I had not thought about that! I did a quick line count, and here is some of the results:
    StarmadeWrapper Public Code + Internal EwlynEternity Code = 3038 + 2739 + 3320+ 2066 = 11163
    So yes, even the BASE code for everything is OVER 9000!

    I am actively patching and exploring the wrapper.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    The problem is, that BigIntegers are used slightly different, than integers.
    Standard number types have operators (e.g. +,-,*,/,%,...) in java, but "java.math.BigInteger" has no operators. Thus switching from a standard type to BigInteger effectively requires you to rewrite all code, which uses the variable in question.
    Switching from a standard type to another (from int to long e.g.) on the other hand doesn't require this. The only thing that could happen is to have to change the type of some method parameters and local variables.
    The biggest problem with switching types however is the file-format, but this applies to any change of type.
    http://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    I am referring to primitive operations.
    To add primitive number types in java you do:
    Java:
    public static int add2Ints(int a,int b) {
             return a+b;
    }
    However, since BigInteger isn't a primitive type, that wouldn't work. Instead one uses:
    Java:
    public static BigInteger add2BigInts(BigInteger a,BigInteger b) {
             return a.add(b);
    }
    This also applies to any other operation, which is performed using an operator.
     

    Lancake

    Head of Testing
    Joined
    Aug 20, 2013
    Messages
    794
    Reaction score
    560
    • Schine
    • Tester
    Might not be the best place to ask but what happens if a ship has more types of blocks in it than you can hold. Would buy with blocks work then? Does it also check chests that are on your ship? I would check it myself but my singleplayer seems to be broken.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    I am referring to primitive operations.
    To add primitive number types in java you do:
    Java:
    public static int add2Ints(int a,int b) {
             return a+b;
    }
    However, since BigInteger isn't a primitive type, that wouldn't work. Instead one uses:
    Java:
    public static BigInteger add2BigInts(BigInteger a,BigInteger b) {
             return a.add(b);
    }
    This also applies to any other operation, which is performed using an operator.
    That does not change the fact that it would be fairly trivial to use.
     

    therimmer96

    The Cake Network Staff Senior button unpusher
    Joined
    Jun 21, 2013
    Messages
    3,603
    Reaction score
    1,053
    • Legacy Citizen 10
    • Top Forum Contributor
    I am referring to primitive operations.
    To add primitive number types in java you do:
    Java:
    public static int add2Ints(int a,int b) {
             return a+b;
    }
    However, since BigInteger isn't a primitive type, that wouldn't work. Instead one uses:
    Java:
    public static BigInteger add2BigInts(BigInteger a,BigInteger b) {
             return a.add(b);
    }
    This also applies to any other operation, which is performed using an operator.
    This is why Ctrl+F exists :)
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    This is why Ctrl+F exists :)
    That does not change the fact that it would be fairly trivial to use.
    True, however if one has multiple operations within one line[e.g. (a+b/c)*d+e], the expression is becoming very long, and search&replace functions begin to screw up from time to time. Normally such a formula wouldn't be used on ingame currency, however StarMade features/featured(I don't know if it was removed) supply&demand dependant prices. And those make the formula a little bit more complex.
    A change from int to long would require fewer changes, since a long also is a primitive type, and the resulting raised limit would be ~9 quintillion, which would be quite acceptable, wouldn't it?