Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

State of Development, Open Development in Early Access, Changes to Release System, Xbox One

Discussion in 'Change Log' started by Drui, Mar 13, 2018.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Burstar Apprentice Engineer

    Messages:
    437
    Yeah, I decided it was not as humorous as I originally intended and removed it before the topic derailed :p
     
  2. Petr Beranek Developer Staff

    Messages:
    206
    So if you created new dynamic grid, it would have flat cost of X PCU, right? Then how would you solve problem when someone cut your grid in half? would the other half cost another X PCU? What if the it would be over limit? Would the new grid become a static grid? Would it disappear? What about wheels on suspensions? They are basically separate grids, would they cost additional X for each wheel you have? What if someone cut your grid into small pieces?
     
    • Agree Agree x 1
  3. Burstar Apprentice Engineer

    Messages:
    437
    I think if the player has the PCU room, then the new grids (with terminal blocks) would charge the dynamic PCU fee. I admit this could be annoying, but would motivate players to be much more tidy (something I as an admin would really appreciate).

    If the new grids exceed the players' limit:
    For small grids then, like it is now with hacking, the new grids should lose ownership. Eventually server cleanup would delete the unowned grids.
    For large grids (much more component expensive) I think the new grids becoming stationary would be the preferred solution.
    Edit: I changed my mind. LG should also lose ownership otherwise ship collisions would be silly.

    For wheels, I do not know the details behind how they work, and their actual server cost. I feel like a lot of the rover issues in MP have to do with wheels being so expensive and so I lean towards making wheels pay the X for each one, with the wheel itself having a low (or even negative?) base cost to offset an imbalance.
     
  4. Petr Beranek Developer Staff

    Messages:
    206
    So enemy shoots your ship in half, and as server is really overpopulated with lot of grids, so it disappears instantly, taking away your precious cargo that you have been mining. Also not giving enemy who shot you time to salvage your ship.
    --- Automerge ---
    Enemy infiltrated your ship, he cuts few blocks loose. They become stationary, but as your ship was moving at 100m/s, it gets completely obliterated as it cuts the ship (ship 100 m/s, stationary block... Well... is stationary :-D ) Same if someone cuts away piece of your ship from the front :-D
    --- Automerge ---
    Each wheel is separate grid, same as piston and rotor head.

    Suspension costs 50 pcu, wheel 25. So one working suspension is 75.
     
    • Agree Agree x 1
    • Informative Informative x 1
  5. Arcturus Senior Engineer

    Messages:
    1,649
    By the way, could the default settings for trash removal be changed to be off for single player/offline? Since the introduction of the skin loot pods, the same update changed default trash removal to aggressive, so the game steals blocks and unpowered small ships when your back is turned. It prematurely ended one of my games by taking a floating unpowered cargo container with most of my stuff, that I had built and left behind temporarily.

    I'm ok with MP having trash removal, just not SP.
     
  6. Petr Beranek Developer Staff

    Messages:
    206
    Then I would start using wheels obly to lower my PCU. I would build box of wheels 10x10x10, which would give me free 1000 PCUs :-D Small price to pay for building infinite amount of blocks. I could later grind them down to get negative PCUs. :-D

    PS the wheels in suspensions are the same as those you can place.
    --- Automerge ---
    You know, you can turn it off, right?
     
    • Agree Agree x 1
  7. Burstar Apprentice Engineer

    Messages:
    437
    This is an issue with overly aggressive server cleanup settings (a common gripe during this weeks inception beta test). In practice when this stuff happens now, the admin is called in to resolve the problem.

    Then that is 75 PCU for you guys to play with while making the final numbers sensible. Per your request I don't want to discuss specific values, just the concept. I agree that negative numbers don't make sense, but threw it out there in case it could work.

    Also, if the fee for dynamic grids needs to be so high it makes these problems very severe, then you're making my point for me. The costs in the current PCU system does not accurately reflect the server performance drains.
     
  8. Roxette Senior Engineer

    Messages:
    1,344
    Ah yes, placing a static heavy armour block inside an enemy ship hangar area, that one never gets old... :D
     
    • Like Like x 2
    • Funny Funny x 1
  9. Petr Beranek Developer Staff

    Messages:
    206
    Yeah, it is always better to come with something, that may not work then with bothing at all. Even if it does not work, it still might inspire someone to come with something better. :)
    --- Automerge ---
    That was not about numbers, but morebabout scales, such as "complete" removal of cost (5000 -> 5) or no impact at all (5000 -> 4999)
    --- Automerge ---
    Yeah, that would usually require a fulltime admin to take care of people. :-D Also the cleenup is a bit aggressive... I died on survival and when I spawned, my corpse and GPS were already removed. :-D Poor elite tools. :-D

    But with that much servers and so much people, there needed to be powerful cleaners as people litter a lot :-D
     
  10. Sinbad Senior Engineer

    Messages:
    2,788
    really?

    suspension definition, note the rotor part
    Code:
    <Definition xsi:type="MyObjectBuilder_MotorSuspensionDefinition">
    	  <Id>
    		<TypeId>MotorSuspension</TypeId>
    		<SubtypeId>Suspension5x5</SubtypeId>
    	  </Id>
    	  <DisplayName>DisplayName_Block_Suspension5x5</DisplayName>
    	  <Icon>Textures\GUI\Icons\Cubes\WheelSuspension5x5.dds</Icon>
    	  <CubeSize>Large</CubeSize>
    	  <BlockTopology>TriangleMesh</BlockTopology>
    	  <Size x="2" y="3" z="2" />
    	  <ModelOffset x="0" y="0" z="0" />
    	  <Model>Models\Cubes\Large\MotorSuspensionLarge.mwm</Model>
    	  <UseModelIntersection>true</UseModelIntersection>
    	  <SilenceableByShipSoundSystem>true</SilenceableByShipSoundSystem>
    	  <DeformationRatio>0.1</DeformationRatio>
    	  <UsesDeformation>false</UsesDeformation>
    	  <Components>
    		<Component Subtype="SteelPlate" Count="40" />
    		<Component Subtype="Construction" Count="40" />
    		<Component Subtype="LargeTube" Count="20" />
    		<Component Subtype="SmallTube" Count="30" />
    		<Component Subtype="Motor" Count="20" />
    		<Component Subtype="SteelPlate" Count="30" />
    	  </Components>
    	  <CriticalComponent Subtype="Motor" Index="0" />
    	  <MountPoints>
    		<MountPoint Side="Bottom" StartX="0.2" StartY="0.8" EndX="1.8" EndY="2.2" Default="true" />
    		<MountPoint Side="Left" StartX="0.9" StartY="0" EndX="2.1" EndY="1.25" />
    		<MountPoint Side="Right" StartX="0.9" StartY="0" EndX="2.1" EndY="1.25" />
    	  </MountPoints>
    	  <BuildProgressModels>
    		<Model BuildPercentUpperBound="0.33" File="Models\Cubes\Large\MotorSuspensionLargeConstruction_1.mwm" />
    		<Model BuildPercentUpperBound="0.66" File="Models\Cubes\Large\MotorSuspensionLargeConstruction_2.mwm" />
    		<Model BuildPercentUpperBound="1.00" File="Models\Cubes\Large\MotorSuspensionLargeConstruction_3.mwm" />
    	  </BuildProgressModels>
    	  <VoxelPlacement>
    		<!--Possible settings Both,InVoxel,OutsideVoxel,Volumetric. If volumetric set than MaxAllowed and MinAllowed will be used.-->
    		<StaticMode>
    		  <PlacementMode>OutsideVoxel</PlacementMode>
    		  <MaxAllowed>0.2</MaxAllowed>
    		  <MinAllowed>0</MinAllowed>
    		</StaticMode>
    		<DynamicMode>
    		  <PlacementMode>OutsideVoxel</PlacementMode>
    		  <MaxAllowed>0.2</MaxAllowed>
    		  <MinAllowed>0.01</MinAllowed>
    		</DynamicMode>
    	  </VoxelPlacement>
    	  <BlockPairName>Suspension5x5</BlockPairName>
    	  <MirroringY>ZThenOffsetX</MirroringY>
    	  <MirroringZ>YThenOffsetX</MirroringZ>
    	  <EdgeType>Light</EdgeType>
    	  <BuildTimeSeconds>30</BuildTimeSeconds>
    	  <PrimarySound>BlockWheel5x5</PrimarySound>
    	  <ResourceSinkGroup>Utility</ResourceSinkGroup>
    	  <RequiredPowerInput>0.002</RequiredPowerInput>
    	  <PropulsionForce>100000</PropulsionForce>
    	  <MaxForceMagnitude>3.36E+07</MaxForceMagnitude>
    ----><RotorPart>RealWheel5x5</RotorPart><-----
    	  <MinHeight>-1.5</MinHeight>
    	  <MaxHeight>1.3</MaxHeight>
    	  <GuiVisible>false</GuiVisible>
    	  <DamageEffectName>Damage_HeavyMech_Damaged</DamageEffectName>
    	  <DamagedSound>ParticleHeavyMech</DamagedSound>
    	  <SafetyDetach>5</SafetyDetach>
    	  <SafetyDetachMax>5</SafetyDetachMax>
    	  <AxleFriction>20000</AxleFriction>
    	  <SteeringSpeed>0.005</SteeringSpeed>
    	  <AirShockMinSpeed>10</AirShockMinSpeed>
    	  <AirShockMaxSpeed>25</AirShockMaxSpeed>
    	  <AirShockActivationDelay>60</AirShockActivationDelay>
    	  <DestroyEffect>BlockDestroyedExplosion_Large3X</DestroyEffect>
    	  <DestroySound>WepSmallWarheadExpl</DestroySound>
    	</Definition>
    	
    and the definition for the wheel the suspention block uses, note the model used.
    Code:
    <Definition>
    	  <Id>
    		<TypeId>Wheel</TypeId>
    		<SubtypeId>RealWheel5x5</SubtypeId>
    	  </Id>
    	  <Public>false</Public>
    	  <DisplayName>DisplayName_Block_Wheel5x5</DisplayName>
    	  <Icon>Textures\GUI\Icons\Cubes\WheelSuspension5x5.dds</Icon>
    	  <CubeSize>Large</CubeSize>
    	  <BlockTopology>TriangleMesh</BlockTopology>
    	  <Size x="5" y="3" z="5" />
    	  <ModelOffset x="0" y="0" z="0" />
    -----><Model>Models\Cubes\Large\WheelSuspension5x5.mwm</Model><-----
    	  <UseModelIntersection>true</UseModelIntersection>
    	  <PhysicalMaterial>Wheel</PhysicalMaterial>
    	  <Components>
    		<Component Subtype="SteelPlate" Count="8" />
    		<Component Subtype="Construction" Count="30" />
    		<Component Subtype="LargeTube" Count="8" />
    		<Component Subtype="SteelPlate" Count="8" />
    	  </Components>
    	  <CriticalComponent Subtype="LargeTube" Index="0" />
    	  <BuildProgressModels>
    		<Model BuildPercentUpperBound="0.33" File="Models\Cubes\Large\WheelSuspension5x5Construction_1.mwm" />
    		<Model BuildPercentUpperBound="0.66" File="Models\Cubes\Large\WheelSuspension5x5Construction_2.mwm" />
    		<Model BuildPercentUpperBound="1.00" File="Models\Cubes\Large\WheelSuspension5x5Construction_3.mwm" />
    	  </BuildProgressModels>
    	  <VoxelPlacement>
    		<!--Possible settings Both,InVoxel,OutsideVoxel,Volumetric. If volumetric set than MaxAllowed and MinAllowed will be used.-->
    		<StaticMode>
    		  <PlacementMode>OutsideVoxel</PlacementMode>
    		  <MaxAllowed>0.2</MaxAllowed>
    		  <MinAllowed>0</MinAllowed>
    		</StaticMode>
    		<DynamicMode>
    		  <PlacementMode>OutsideVoxel</PlacementMode>
    		  <MaxAllowed>0.2</MaxAllowed>
    		  <MinAllowed>0.01</MinAllowed>
    		</DynamicMode>
    	  </VoxelPlacement>
    	  <MountPoints>
    	  </MountPoints>
    	  <BlockPairName>RealWheel5x5</BlockPairName>
    	  <UsesDeformation>false</UsesDeformation>
    	  <DeformationRatio>0.3</DeformationRatio>
    	  <MirroringY>Z</MirroringY>
    	  <MirroringZ>Y</MirroringZ>
    	  <EdgeType>Light</EdgeType>
    	  <Public>true</Public>
    	  <BuildTimeSeconds>30</BuildTimeSeconds>
    	  <InventorySize>
    		<X>2.5</X>
    		<Y>2.5</Y>
    		<Z>2.5</Z>
    	  </InventorySize>
    	  <DamageEffectName>Damage_HeavyMech_Damaged</DamageEffectName>
    	  <DamagedSound>ParticleHeavyMech</DamagedSound>
    	  <DestroyEffect>BlockDestroyed_Large</DestroyEffect>
    	  <DestroySound>PoofExplosionCat3</DestroySound>
    	</Definition>
    definition of the freely placed wheel, again note the model
    Code:
    <Definition>
      <Id>
      <TypeId>Wheel</TypeId>
      <SubtypeId>Wheel5x5</SubtypeId>
      </Id>
      <DisplayName>DisplayName_Block_Wheel5x5</DisplayName>
      <Icon>Textures\GUI\Icons\Cubes\Wheel5x5.dds</Icon>
      <CubeSize>Large</CubeSize>
      <BlockTopology>TriangleMesh</BlockTopology>
      <Size x="5" y="2" z="5" />
      <ModelOffset x="0" y="0" z="0" />
    ---><Model>Models\Cubes\Large\Wheel5x5.mwm</Model><---
      <UseModelIntersection>true</UseModelIntersection>
      <Components>
      <Component Subtype="SteelPlate" Count="8" />
      <Component Subtype="Construction" Count="30" />
      <Component Subtype="LargeTube" Count="8" />
      <Component Subtype="SteelPlate" Count="8" />
      </Components>
      <CriticalComponent Subtype="LargeTube" Index="0" />
      <BuildProgressModels>
      <Model BuildPercentUpperBound="0.33" File="Models\Cubes\Large\Wheel5x5Construction_1.mwm" />
      <Model BuildPercentUpperBound="0.66" File="Models\Cubes\Large\Wheel5x5Construction_2.mwm" />
      <Model BuildPercentUpperBound="1.00" File="Models\Cubes\Large\Wheel5x5Construction_3.mwm" />
      </BuildProgressModels>
      <VoxelPlacement>
      <!--Possible settings Both,InVoxel,OutsideVoxel,Volumetric. If volumetric set than MaxAllowed and MinAllowed will be used.-->
      <StaticMode>
      <PlacementMode>OutsideVoxel</PlacementMode>
      <MaxAllowed>0.2</MaxAllowed>
      <MinAllowed>0</MinAllowed>
      </StaticMode>
      <DynamicMode>
      <PlacementMode>OutsideVoxel</PlacementMode>
      <MaxAllowed>0.2</MaxAllowed>
      <MinAllowed>0.01</MinAllowed>
      </DynamicMode>
      </VoxelPlacement>
      <MountPoints>
      <MountPoint Side="Top" StartX="1" StartY="1" EndX="4" EndY="4" />
      <MountPoint Side="Bottom" StartX="1" StartY="1" EndX="4" EndY="4" />
      </MountPoints>
      <BlockPairName>Wheel5x5</BlockPairName>
      <UsesDeformation>false</UsesDeformation>
      <DeformationRatio>0.3</DeformationRatio>
      <MirroringY>Z</MirroringY>
      <MirroringZ>Y</MirroringZ>
      <EdgeType>Light</EdgeType>
      <Public>true</Public>
      <BuildTimeSeconds>30</BuildTimeSeconds>
      <InventorySize>
      <X>2.5</X>
      <Y>2.5</Y>
      <Z>2.5</Z>
      </InventorySize>
      <GuiVisible>false</GuiVisible>
      <DamageEffectName>Damage_HeavyMech_Damaged</DamageEffectName>
      <DamagedSound>ParticleHeavyMech</DamagedSound>
      <DestroyEffect>BlockDestroyed_Large</DestroyEffect>
      <DestroySound>PoofExplosionCat3</DestroySound>
      </Definition>
    
    they use different models with different collision boxes. i think its telling that that the suspension wheels are called "RealWheel" and the freely placed ones are just "Wheel".
     
    • Informative Informative x 2
  11. Petr Beranek Developer Staff

    Messages:
    206
    Interesting, my whole life was a lie! :D
    So they only share a code, but have different block definition... But I remember that wheel could be attached to the suspension... maybe it didnt work as it should have.

    PS thanks for breaking my illusions... people can be so cruel!!! :D
    --- Automerge ---
    Wait... yes, it is really there.
    "
    <GuiVisible>false</GuiVisible>
    "

    for the Wheel. I always thought that this means it is not visible in G screen. So the real wheels are the ones being placed... Ok, I am going to consult it with the source code... you happy now? :D
    --- Automerge ---
    Ok, seems that RealWheel and RealWheelMirrored are those on suspensions, wheels are those placed and GuiVisible seems to work a bit different. Need a break from work for a weekend. :D
     
    • Friendly Friendly x 2
    • Like Like x 1
    • Funny Funny x 1
  12. Stardriver907 Senior Engineer

    Messages:
    2,866
    I cringe every time I see someone do that. The rotating drill head looks cool but it's unnecessary. In space, it's easier to fix the drills and spin the ship.

    Do scripts get a PCU number?
     
  13. Spaceman Spiff Senior Engineer

    Messages:
    1,275
    In space, no one can hear you dream.
     
  14. Malware Master Engineer

    Messages:
    9,467
    Programmable block scripts? Can't. Impossible to measure.
     
  15. Arcturus Senior Engineer

    Messages:
    1,649
    Yes, however the settings are not with the other world settings. You have to go to the not-visible-to-new-players alt-F10 space master menu and then go to another tab. I am suggesting that you will make the game less frustrating for new players in single player offline games by making the default much less aggressive or off. You could also move the trash removal controls to the world settings menu, since there is already a slider there for the maximum number of floating objects.
     
  16. Petr Beranek Developer Staff

    Messages:
    206
    Everything is subject to change. :D
     
  17. Burstar Apprentice Engineer

    Messages:
    437
    Also, Marek's intention is to relegate scripts, mods, and pressurization to 'Experimental Mode'. Chances are PCU will be ignored by whomever is setting up the game in this mode. At least, that's my prediction and why I hadn't bothered pointing out that PB's cost as much PCU as reactors :stare:
    --- Automerge ---
    Except the subject to change policy :p
     
  18. Malware Master Engineer

    Messages:
    9,467
    It's already done in mptest.
     
  19. Arcturus Senior Engineer

    Messages:
    1,649
    What is "experimental mode"?
     
  20. Roxette Senior Engineer

    Messages:
    1,344
    An option switch in the game configuration to enable all the things that used to be fun but can make the game perform very badly if not used carefully.
     
    • Agree Agree x 2
    • Informative Informative x 1
  21. Stardriver907 Senior Engineer

    Messages:
    2,866
    Yes. There will be an Enable Fun switch.



    :D
     
    • Funny Funny x 3
  22. Petr Beranek Developer Staff

    Messages:
    206
    Well, but take it from the other perspective. If you are new player and you know nothing about the game. You start new game, with highest graphics settings, planets, oxygen,... you have options for everything, so you turn on most things. In game you start building massive ship, because you want those ships from TV in scale as close to 1:1 as possible. Then the game is laggy with low sim speed, because they have there several hundreds of thousands PCU wasted and their PC just can't handle it. Or they join some multiplayer server, where someone is just terraforming planet with voxelhand, or server is slowed down, because someone thinks LCD displays are great platform for drawing. They see, that game is slow, laggy and they can't play it.

    They probably don't know what are the limits of the game, that they have unreasonable expectations and they wouldn't think that "Oh, yes, programmable block, that enables them to do really crazy stuff, that will slow down the server. And voxel hand? So much data is being changed and sent to all clients, of course it will slow the game. And yes, there were like 80 mods, some of them are not optimized and drain performance. And of course I can't play at simspeed 1.0 when I built *insert whatever name of big sci-fi ship*, because having ship several kilometers long is not what SE was meant for." No, they will cry that SE is broken and unplayable, that it was waste of money, or they refund it immediately and they add bad reviews.

    Don't you think, that it is better if they, I don't know, start in mode, that is "assured" to be running 1.0 sim speed most of the time, they can't screw it by unknowingly setting something to really extreme settings and can't build stuff, that would break even NASA computers? If they really want something, that can be "fun" but also has potential to completely destroy their fun, because they don't understand the limits of the game, they can, but they have been warned and can't blame us.
     
    • Agree Agree x 1
  23. Stardriver907 Senior Engineer

    Messages:
    2,866
    Maybe. Or, you could just tell them up front that aggressive building beyond certain limits will cause performance issues.

    I often talk about the first 100 hours as being the "litmus test" for SE players. During that time, players with little patience that refuse to do any research on how the game works will ultimately label the game "broken, unplayable, poorly designed, etc.". There are a lot of people out there that expect a game to make them have fun without any effort on their own part. You can just look at the list of things people have been asking for ever since this official forum was established. Some people wouldn't consider this game "fun" unless it played itself.

    Then, there's the other group who, well before their first 100 hours are up, can see that the game is more than just placing blocks, and they will spend a lot of that 100 hours figuring out how to get the most out of the game. These are the players that stick around for 300, 500, 1000, even (;)) 7000 hours. We may not end up in love with the game, but we all at least understand the limits. Some of us may still blame Keen for "doing it wrong", but we probably won't abandon the game entirely, at least until it's officially released, at which time we will all unanimously declare it a complete failure :woot: (We're gamers. That's the only thing we can call any game).

    Besides, you folks continually underestimate how resourceful we can be, especially when playing this game for the first time. If you think your limits will inhibit new players to the point that sim speed won't be affected or they won't lag a server, you're dreaming. Don't think they won't try. Finding the limits is part of playing.

    You should call the default mode "Kiddie Pool" mode, and call the other mode "Ocean". Then, when players are ready, they can just Enable Fun.
     
  24. Burstar Apprentice Engineer

    Messages:
    437
    If there is one thing Internet conversations prove, it's that people refuse to listen to what they are told. ;)

    KSH has to cater to the <100 hour newbies. A bad review from them counts just as much as one from the hardcore to most people (read: unwilling to do actual research). An argument can be made that they need to be catered to more so than us. I think though, that 'experimental mode' will do less in this regard than accurate tutorials, and expressly declared system v. building limitations.

    That said, this 'Experimental Mode' comes across to those of us in the know as double-speak for 'have not had a chance to fix yet, if ever'.

    Not a programmer, but I don't see why PB's have to be experimental. Are they broken? Can their max memory and cycles not be given a set limit? Why can't they just have a PCU calculated to be worst case under those limits? The best reason I can come up with is that it's handholding so that newbies don't get annihilated by PMWs.

    Pressurized grids experimental? This just doesn't sound right. The same people who don't get that in Science a Theory isn't a guess will get put off by this.

    There must be a better way to describe this than 'experimental'. Perhaps 'advanced', or 'unsupported', or 'better luck next year'. :tu:
     
    • Agree Agree x 1
  25. Malware Master Engineer

    Messages:
    9,467
    @Burstar About the PB. In order, No they're not broken (per se, there's some exploits but they've been there forever), but also no you can't limit their memory and cycles, and no, calculating the PCU is too complicated. And finally, no, it's not about handholding. The PB being put into experimental is the one thing I do understand.

    The pressurizing thing, if that isn't dealt with in the survival update, that's a game ender for me.
     
    Last edited: Jul 10, 2018
  26. Stardriver907 Senior Engineer

    Messages:
    2,866
    Actually, no, they do not. They should not be "catering" to any individual, group, sector, subset, or whatever. The only group KSH has to cater to is KSH. If they're not having fun playing their own game they're doing it wrong.

    There's a group of people out there that like video games. There's a subset of that group that like space games. There's another subset that likes engineering games. Gamers that like space games and/or engineering games will give Space Engineers a look. If you go any deeper than that, such as gamers that like easy games and gamers that like really tough games, or people that like less "realism" or near real-life "realism", you'll never release a game. Keen is already being accused of lack of focus.

    There has to be some investment from the player in determining whether or not the game is for them. Offering a phone app version of the game in the hopes someone that would otherwise find SE too much might be enticed to deviate from their normal behavior and pick up a game they will still eventually be frustrated by is an unlikely way to build a community of long-term committed players.

    "See, it's easy! No wait... it's hard"

    That first hundred hours gives Keen players that decide SE is not for them, players that decide SE has potential but they'll wait until it's released, and players that will play it now. Over time the first two may return, and they'll need another hundred hours. SE is not an easy game. Making it easy will make it less appealing. Seriously, the only thing that stops more people during the first hundred hours is lack of documentation. It's really hard to find out what to do and how things work. The first hundred hours right now is finding out the hard way, and any way is the hard way :D. They get that straightened out and there will be more player retention.

    Then it is quite possible that no matter how someone configures PCU limits, a single grid with a PB on it could still bring down a server?
     
    • Agree Agree x 1
  27. Arcturus Senior Engineer

    Messages:
    1,649
    @Petr Beranek
    I can understand a ensure-new-players-have-high-simspeed mode having block limits and not using scripts or mods. People have certainly pushed the limits on all of those fronts.
    I am wary or skeptical of the claim that oxygen pressurization would be blocked in newb mode. I consider it a core feature and selling point of the game. Is there an issue with it from your point of view? You didn't mention it in the post above.
     
    • Agree Agree x 1
  28. Burstar Apprentice Engineer

    Messages:
    437
    Sorry, no. KSH is a business and needs as many happy customers as possible to stay that way. I submit Planets, the 'simplifying experimentation' of the initial experience, Mareks reluctant agreement to bring back ladders, and common sense as evidence KSH doesn't agree with you. We few hardcore fans are already in regardless of what KSH does before finalizing. It's the new customers they need to impress.

    New players deciding themselves within 100 hours or whatever is, of course, their decision (aren't tautologies great for sounding right), but it is KSH's goal to maximize the amount of these newcomers that decide they like the game, tell their friends, give good reviews, and give us old timers some company :p

    I agree wholeheartedly with @Petr Beranek in regards to the importance of responsive gameplay, especially for the beginner experience, and the use of PCU as a means to ensure it. The (currently) BS things people regularly throw on the MP server I admin bugs me to no end. :clang:

    Considering script writers commonly cite 'script limitations' in 'length' and 'allowed instruction count' to explain the cause of the 'too complex' error, I'd like a little more than you just saying "no it can't be done" please. I still see no reason why assigning PCU to PB's via their max possible demand is impossible. Petr should just do the opposite of his training for a day and throw the worst garbage he can purposefully create into a PB. There's your PCU! :D
     
  29. Petr Beranek Developer Staff

    Messages:
    206
    Yeah, this one was really good. :D Today I had to endure being squashed against front door of bus for like 35 minutes as it was completely full (daily commuting to Prague during summer is really terrible), but this joke blown away all bad mood and made my day. :D Really good one. :D
    --- Automerge ---
    You talk about first 100 hours. I talk about first 2 hours and 2-20 hours. And no, if people find it the game hard to control, they don't just refund or stop playing respectively, because they found out, it is not for them. They usually give bad reviews, cry that game is unplayable and so on. Yes, the game is hard, but most players don't want to spend hundreds of hours by learning. They want fun casual game where they can build. They bought wrong game because it looked so easy in video? Blame developers and the game!
    --- Automerge ---
    Oh, there is actually someone who uses it? I never understand why... When I am on planet with sufficient atmosphere, I open visor, when not, I close visor and pack a bottle of oxygen. Having pressurized room or bottle... in both case you breath same amount of oxygen. The only difference is that you carry one extra bottle.
    --- Automerge ---
    So, how would you compute PCU cost of a script, that is triggered by a time once every 20 seconds and script that will be run once every frame (60 per second). Would the second one have 1200 times higher PCU cost? Or would all scripts be run every frame so it should be always multiplied by 1200? What about scripts that have some input parameters? What is complexity is dependent on them. Let's say, that input parameter is number n. You can have alg with O(n) complexity, but you can have O(n^2) like checking every possible pair in some set of elements. You can have O(n^3) (checking of elements in sphere with n diameter for uniformly distributed elements).

    with input param 1 you would get complexity 1 for all three. For param 2 you would get 2, 4, 8. For 10, it would be 10, 100, 1000. For 1000 it is 1000, 1000000, 1000000000. With what input parameters would you compute script PCU cost?
    What if script don't have numeric parameters but have some string (text) inputs that are parsed (split to pieces and translated to values). Should there be check of script performance for every possible string?
    What if performance is dependent on number of blocks of grid? (every run it takes all rotors/pistons, perform some heavy calculation, like computing inverse kinematics through Jacobian inversion (You say arm is anchored in start and I want it to reach to end, what angles should I set to rotors and what distances to pistons to have end of arm in the end? Alg returns you angles and distances you should set.)) Should adding more piston/rotor blocks force recompute PCU cost of PB and increase it accordingly?
     
  30. Stardriver907 Senior Engineer

    Messages:
    2,866
    I know Keen doesn't (or, at least didn't) agree with me. That was the problem with planets. An early attempt to draw fans they probably had anyway, and it slowed production and caused other... issues. I said they didn't need to cater. I studied business in high school and majored in it in college.

    And how long are they supposed to keep that up? People are supposed to make up their minds about the game from using the nintendo gameboy mode? They will either have to stick with Easy Mode or take that giant leap to Normal Mode at some point. The Hard Mode doesn't get easier because you played the Easy Mode. What happens when they figure out Guaranteed-1.0-sim-speed-no-matter-what-you-do = Limited gameplay? If anything, it will look like some sort of "bait-and-switch" where you only get a smooth game if you give up everything else the game has to offer. You start doing what you really want and the game lags. If you're a newcomer and that happens, you might become a newleaver (heh).

    This is why I haven't scrambled to get my servers running to host a game that is not finished. I don't want to make that effort only to find out I can't do what I want, let alone the other players. I'm still trying to find out if PCU limits are moot if a player has a PB with a nice, robust script running on it.

    I don't know who put the joke tags there, but it wasn't me. If you folks can get the game to run at 1.0 no matter what then fine. If you can't, it's easier to just say up front that ambitious builds will cause performance issues. You can't hide that fact by giving them a mode that won't let them build ambitiously.

    They'll do that anyway. Bad player reviews are rarely about how good or bad a game is. If one thing pisses them off the entire game sucks. Besides, giving a bad review is fun. What do you think they will say when game seems pretty good in Easy Mode but when they want to do the stuff they see us old-timers doing they find out they may have to live with lag?

    "Not only is the game unplayable, they lied about it!" How's that for good PR?

    And this, @Malware is why they might not deal with it. These are the same folks that wonder why we would want a block that looks like a bunk when you can just turn a passage block sideways.
     
Thread Status:
This last post in this thread was made more than 31 days old.