Navigation

    forum

    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    1. Home
    2. QzarSTB
    3. Topics
    • Flag Profile
    • block_user
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Groups
    • Blog

    Topics created by QzarSTB

    • Unsolved room.energyCapacityAvailable returns null due to corrupted spawn store
      Technical Issues and Bugs • • QzarSTB

      4
      4
      Posts
      6830
      Views

      @o4kapuk I've looked further into the issue and I think I've found it. I think it's caused by providing the energyStructures towards the spawnCreep call, and one of the extensions that you pass has no energy and therefore an empty store object. In the "newEnergyHandling" method you have this code: let availableEnergy = _.sum(energyStructures, id => roomObjects[id].store.energy); if(availableEnergy < cost) { return false; } and a bit further: let energyChange = Math.min(cost, energyStructure.store.energy); energyStructure.store.energy -= energyChange; bulk.update(energyStructure, {store:{energy: energyStructure.store.energy}}); The lodash _.sum seems to be very robust and handles null/undefined without a problem. A Math.min() with undefined in it will give NaN, so I think this is were the problem originates from. When not providing energy structures to the spawnCreep call I can't reproduce the issue, so If it's not what I described above there's definitely something else wrong in there.
    • Solved Room.lookAt doesn't include ruins
      Technical Issues and Bugs • • QzarSTB

      4
      4
      Posts
      4910
      Views

      The fix is deployed, it should be solved now.
    • Screeps Arena Hype
      General Discussion • • QzarSTB

      2
      2
      Posts
      3483
      Views

      Sorry, we're unable to give any reasonable timeline at this point. Although we'll make sure to invite you to the closed alpha as soon as possible
    • Nuke landing doesn't reset safemode
      Technical Issues and Bugs • • QzarSTB

      5
      5
      Posts
      6763
      Views

      Hotfix deployed.
    • PvP Game discussion
      General Discussion • • QzarSTB

      38
      38
      Posts
      72496
      Views

      I would like to revive this thread, so I will what I understand from all comments so far: * It is easier to wipe player than to take single room (and thus big players are de-facto immortal) * It should be easier to take single room than to wipe player * 2 week holding by attackers is not fair against insta-reset by defenders * It shouldn't be more complicated * One 'correct way' of waging war shouldn't be enforced * Rooms shouldn't be steamrolled (even against 'few hours a week' player) * Is screeps fully PvP-based strategic game with conquests (part of community) or semi PvP-based sandbox game with PvP arena fights (Artem)?   Also from another thread about SWW1 we have learned that there are various playstyles, where "Culture is a lighthearted civilized collection of city states (Greek), TK is a barbarian horde (Germanic) and SUN is a militaristic empire (Roman)". And of course each of these playstyles would prefer different attacker-defender balance. I personally advocate for... * more dynamic wars and against immortality, where single rooms change hands casually but players respawn rarely. For me this is the first beauty of screeps - survival in diverse universe. * perseverance of player diversity. For me this is the second beauty of screeps - survival in diverse universe. * simplicity. I think it is critical to ease automation and make everyone better at survival in screeps universe. * wider strategic and tactical options. I think it is critical to make screeps universe more diverse.   I think that root controller won't solve this. I really liked the idea by @Dissi that creates more fixed points in times on which people can act (fun), and by @tedivm that attacks mean something (simple, easier to take single room). Here is my combined proposal that tries to take the best of both: const DECAY_OFFSET = 1500;  // Some ticks to wait since last upgrade to start decay controllerconst DECAY_AMOUNT = 50;  // Some amount at which controller loses points per tickconst DECAY_THRESHOLD = 0.25;  // Some percent at which decay doesn't decay at decayAmount rate but drops to 0 and lowers RCL.const CONTROLLER_LEVELS.8 = 32805000; // some amount RCL 8 controller continues to accumulate points Example #1: Attacker wants to conquer fully filled RCL 8 room and destroys everything in it. Defender retaliates DECAY_OFFSET/2 ticks later, kills attackers, puts 1 energy into controller and DECAY_OFFSET is reset, no controller points are lost. Attacker successfully attacks again before defender builds defenses. The rest of defender raids with intention to reset DECAY_OFFSET are unsuccessful so he prepares for a big battle several days later just before DECAY_THRESHOLD will be reached. Defender successfully kills attackers, and starts building both defenses and upgrading controller to buy time. Attacker is aware of opportunity to burn DECAY_THRESHOLD amount of controller points, so he calls in friends, kills defenders, waits until DECAY_THRESHOLD is reached and room drops to fully filled RCL 7. --- From that point on, everything repeats but with shorter periods. Both sides are motivated to fight for the room and are rewarded for that. Simpler, more balanced and motivating, and taking a room becomes easier than wiping a player. Example #2: Underdog is up to bite a big player. He watches one room that just turned RCL 7. Underdog prepares a high burst army and waits until that RCL 7 gets just below DECAY_THRESHOLD controller points. Then he launches the attack, luckily gets through and after DECAY_OFFSET instantly burns all constroller points and drops room to RCL 6. Big player soon after gets army together and easily regains room. --- Well timed attack can cause big costs so that even underdogs can at least hinder big players. More fun. Extra ideas: * Make controller to drop energy at DECAY_DROP rate as it loses controller points, and drop a proportional pile when threshold is triggered. Could also be intentionally used by defender as "emergency funds" in case he runs out of energy under siege. * Make creep.attackController part to fasten the process. * In case of respawn don't release ownership of rooms but transfer ownership to dummy player, so respawns don't free up rooms instantly. Probably with -1 RCL penalty to prevent respawn spam.   What do you think about this?
    • Devs seriously...
      General Discussion • • QzarSTB

      3
      3
      Posts
      3914
      Views

      That's weird Chris, I got a nice website under construction page and other players at IRC channel as well.
    • Abusive players
      General Discussion • • QzarSTB

      13
      13
      Posts
      13989
      Views

      Just an idea. But implementation of a time based account suspension system might be appropriate here
    • Remove structures on unclaim controller
      Feature Requests • • QzarSTB

      2
      2
      Posts
      3454
      Views

      The room isnt unclaimed though. It shows up as Azura being the owner. That aside why would it matter? If a room is unclaimed it means someone else can try to take control of it. More situations where there is potential for player interactions/conflict are a good thing.
    • Remove memory watch
      Technical Issues and Bugs • • QzarSTB

      5
      5
      Posts
      6912
      Views

      It does not matter if that object exists or not, I already tried to delete my local storage with the mozilla dev tools. But it does not fix it. I can add new ones, but never delete old ones, unless i clear local storage.
    • CPU volatility
      Technical Issues and Bugs • • QzarSTB

      4
      4
      Posts
      5310
      Views

      Agree. Also things as creating empty objects or searching room has annoying high volatility. For example, var t=Game.getUsedCpu(); for(i=0;i<100;i++){ Game.rooms.W4N5.find(FIND_DROPPED_ENERGY); // 1.5-5.5 CPU }; console.log(Game.getUsedCpu()-t); Spends 1.5 to 5.5 CPU units despite the averaging of 100 calls. I did several tests and you can see how much each eats CPU at the bottom of (https://github.com/Akuukis/screeps)
    • Multiple extensions on 1 tile
      Technical Issues and Bugs • • QzarSTB

      5
      5
      Posts
      5780
      Views

      Managed to build 3 links in a room with lvl 5 controller. 2 of them are on the same tile - http://i.imgur.com/Nr5Atgw.png Room W12S6
    • Respawn protection
      General Discussion • • QzarSTB

      10
      10
      Posts
      10034
      Views

      Artem, thanks for looking at my history and explaining to me what happened. I got the answer from chat at the same time you posted. To answer your question, I believe a stronger message or popup saying "WARNING - this will disable room protection!" would help beginners in the future to avoid such mistakes.
    • Ramparts and enemies
      Help • • QzarSTB

      3
      3
      Posts
      3960
      Views

      Also this article could be helpful: Defending your room
    • Creep stuck
      Technical Issues and Bugs • • QzarSTB

      10
      10
      Posts
      11068
      Views

      Thanks for reporting, fixed.
    • Losing screen
      Technical Issues and Bugs • • QzarSTB

      4
      4
      Posts
      5353
      Views

      It also doesn't account for energy in Extensions. That used to be useless without energy in the Spawn, but now you can build new creeps with energy in Extensions only.
    • Creep energy costs
      Help • • QzarSTB

      6
      6
      Posts
      8727
      Views

      This has been changed today. See more info in this post.