Navigation

    forum

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

    DomNomNom

    @DomNomNom

    CoPS

    7
    Posts
    2614
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    DomNomNom Follow
    CoPS

    Posts made by DomNomNom

    • RE: Discussion: Contract system

      the other party would never accept a contract with such code

      We'll see.

      posted in General Discussion
      DomNomNom
    • RE: Discussion: Contract system

      First impression: It seems to me that this contract system is an adversarial game:

      • The coder tries to get the most value before true is returned.
      • The runner tries to be as lazy as possible to get true to return.

      My main concern are the security implications:

      • It can be very difficult to detect underhanded code. http://www.underhanded-c.org/
      • It takes little code to completely screw over a player. Here's my code-golf to do damage in various ways:
        • Game.market.createOrder(ORDER_BUY,'H',Game.market.credits,19,_.find(Game.rooms,r=>_.get(r,'terminal.store.H')).name)
        • _.each(Game.structures,s=>s.destroy())
        • _.each(Game.creeps,c=>c.suicide())
        • Memory={}
        • for(;;);
        • https://screeps.slack.com/files/U1UGRTKH9/F3Y6N55UL/Fancy_rickroll.js
      • How do you deal with the following attempt at duplicating credits?
        • Create a contract worth most of your credits
        • Allow two of your allies to complete the contract in the same tick.

      My advice for coding normal contracts:

      • Be very defensive. Check all the things eg. expected body parts.
      • Avoid perverse incentives. Eg. For each enemy spawn attacked...

      My advice for screeps' devs:

      • Focus on transparency. I want to see other people's comments on contracts. It can highlight malicious code and also provide feedback to people still learning JavaScript.
      • Set a policy for what happens when someone comes crying that they lost their stuff.

      My overall opinion on this feature:

      • Fun
      • Dangerous
      • I hope more people get to experience trade as glorious as W4S3
      posted in General Discussion
      DomNomNom
    • RE: Changelog 2017-06-26

      To expand step 1)

      • (damageToApply and healToApply are the intents with modifiers (boosts, range) already taken into account from the senders but not the reciever.)
      • damageReduce is calculated accounting for currently healthy boosted armor parts. (including partially-damaged parts)
      • object.hits -= damageToApply + Math.round(damageReduce);
      • object.hits += healToApply;

      This explanation has to be paraphrasing, read the code if you want a first hand account: https://github.com/screeps/engine/blob/master/src/processor/intents/creeps/tick.js#L7

       

       

      posted in News & Announcements
      DomNomNom
    • RE: API for scheduling actions that do not run every tick

      I'd like this feature with one caveat:

      I'd like there to be an API that makes it apparent that it runs on average every X ticks. This should allow for more flexibility when scheduling. Generally I don't care about when these triggers happen, other than it happening too (in-) frequently.

      posted in Feature Requests
      DomNomNom
    • RE: NPC Strongholds

      This sounds cool.

      I'd prefer there to be an encouragement to do these things co-op: More player-player interaction is fun. Currently we only have "attacking each other" and "non-personal market trading" as the incentives to interact. You could achieve this by increasing the amount of loot if there are multiple players that are doing similar damage.

      I'd like to be able to walk past a stronghold without getting shot. eg. I power mining mules or claimers getting shot would be annoying.

      posted in Feature Requests
      DomNomNom
    • RE: Overhealing vs. strictly healing past damage: fixing inconsistencies based off of intent order

      In any case I'd like if there was an official API that allows correct prediction of resulting health on a creep for given healing/attack which correctly takes into account (over-)healing and armor boosts. This way I can be more confident that my defenses won't flounder when the patch rolls out one way or the other while I sleep.

      I'm currently mildly on the side of "strictly healing past damage".

      posted in General Discussion
      DomNomNom
    • RE: [Power] Power creep ideas

      My suggestions:

      • powerCreep.transformBody(friendlyCreep, newBody)

      Changes the body parts of a creep in-field. Clears boosts. May be bundled with the ability to apply boosts that are carried by the power creep. This would allow for some interesting attack patters. eg. Try an attack strategy, change your creeps, try again.

       

      • powerCreep.fireBase(controller)

      Allows ~3 towers to be built and controlled in a reserved room. Requires CLAIM parts.

       

      • powerCreep.terraform(roomPosition, groundType)

      Changes the type of the ground. Can be used to speed your allies or slow your enemies. Consumes power per roomPosition. Requires WORK parts. Can not modify natural walls. (I like the design challenges created by walls)

       

      • powerCreep.denyPower(powerBank)

      Reduces the amount of power a powerbank gives when mined by an enemy. Requires ATTACK parts

       

      • powerCreep.recall()

      Teleports itself and all friendly creeps in the current room to the last friendly spawn the powerCreep was close to. Requires RANGE_ATTACK parts.

       

      • powerCreep.timeLoop(creep)

      In 5 ticks, the target creeps position will be reset to its current position. That position will be blocked for those ticks. 6 tick ability cooldown. Requires being near the target. Requires HEAL parts.

       

      I like the portal suggestion: It doesn't directly buff combat abilities, just extends the range of your influence. (something natural portals do already) it seems like it can be used for a number of different purposes.

      I oppose any ability that allows influence over a wall/rampart + 2 range, as this would break how almost all room defenses are set up.

       

      I'd find this scenario quite cool if it could occur:

      Rather than killing an enemy power creep, you could surround it on 8 sides, forcing that power creep to be a prisoner until freed by another wave of enemies.

      posted in Feature Requests
      DomNomNom