@tehfiend That is an awesome idea! It opens up endless avenues for exploring efficiency after "virtually every strategy is discovered" 5 years from now. I can see the E-Sport footage now... "Well, Steve, they are both using virtually identical quad attack squad strategies, but look at the CPU usage... I think we can see how this is going to end!"
Posts made by Smokeman
-
RE: Screeps Arena Preorder
-
RE: creep.upgradeController() == OK
@detox The only actually erroneous part in the upgrade controller text is: "This limit can be increased by using ghodium mineral boost." This alludes to a pre-alpha power creep concept. The actually implemented power creep ability is the Operator's "OPERATE_CONTROLLER" power which uses the "ops" resource.
But irrespective to that, yes. 15 is the normal cap for a level 8 room. And yes, "0" will be returned from the call because it was a perfectly legal call that returned no error in that it's the CUMULATIVE amount that is eventually checked... this is beyond the purview of the intent system to test for.
-
RE: creep.upgradeController() == OK
It would have helped if you indicated what room that was. But no problem, I found it.
Once a room is level 8, you can only use 15 WORK to upgrade it's controller. Trying to do more will return 0 for the intent, but not do what you want. The 32 WORK upgraders you were using simply weren't going to fly. Likewise, if there are 2 creeps and the first creep upgrades 15 worth of WORK, the second will return O and do absolutely nothing.
-
Safe modes not resetting on room claim.
Ok. I've had this happen several times. This is a screenshot of a room I've recently taken and started building: Note that the room has 2 "safe modes" available... which makes sense in that it's level 3... One at level 2, one at level 3. Ok, great. Notice also that the Safemode Cooldown is over 37K. I never used a safemode. What DID happen is the room was under safemode cooldown when I destroyed it, and that cooldown NEVER RESET when I subsequently claimed the room. I crushed this room fair and square. The cooldown needs to reset on the subsequent claiming of the room.
-
Unable to renew subscription.
So, I was under the belief that if we had a sub, we could keep that sub. But when my sub needed to be renewed, Not only was I unable to do so, but the sub was cancelled. Steam also told me the game was removed from my library... but that was obviously not so.
I had to quickly buy some "CPU Unlocks" from steam to restart my CPU.
Unlike most people that had subs, I do not have a "lifetime subscription." This isn't because I think they're too expensive... I would certainly save money. No, I am ethically opposed to the very concept of the "Lifetime subscription" as it promotes zombies.
Irrespective of that, am I just doing this wrong? I would like to keep the option of renewing the grandfathered in sub OR buying CPU unlocks.
-
RE: Screeps Arena Preorder
Wow. Ok. This is a great concept. You've clearly done your homework, here.
Sign me up!
But I noted that in one of the posts, the game is flagged as "Windows Only", but you indicated there would be a "Mac OS" version. I've never been a Mac fan, and dropped Windows completely when support for Windows 7 was stopped in January. I've used nothing but Ubuntu Linux since then. Will Linux be in there too?
-
RE: How to store live object
@fantasticmark Then you store the object's data in the Memory object. The heap can go away at any time, you have no "hard drive", and you have no persistent "data base" outside of the Memory object, which is reconstructed every tick.
An example: the RoomPosition object. You can create new RoomPosition objects all day with the constructor, and it saves the data on the heap for use during that tick. If you save the object onto the Memory object, only the data is saved, the Memory object won't carry the actual object to the next tick, only the data. You would have to reconstruct the RoomPosition object with the constructor every time you want to use it.
Now, there are types of data that you CAN safely store on the heap, and that's data that's derived from other data as a convenient cache... you can store THAT on the heap, and not take any cost of serialization every tick, but you have to be ready to recreate the data if a tick starts and it's gone.
As another example, I have data stored about the colony. It's data that can't be reconstructed if lost, so I store it in the Memory object in an object called "Memory.colony." Any data I need for the colony is stored there as properties. If I stored it on the heap, it would be wiped every time the heap is deleted... which would be bad. So It's in the Memory object where it's rebuilt every tick and available.
-
RE: How to store live object
What deft said.
I would also point out that you don't directly change the objects you reference with Game.getObjectById() anyway... you REGISTER AN INTENT that the system then uses to change the object AFTER your code runs. So at the end of every tick... any object you have stored is going to be stale.
You can't have direct control over these objects... if you DID, you could just do stuff like change their hit points on the fly. Your script is like a proxy, once a tick, it runs. It has a shapshot of the current state of the objects, then it orders changes to those objects by issuing intents (Through the API calls.) at the next tick, it gets a snapshot of the updated objects.
-
RE: Allow players to choose the colour of their units on the new map
I was wondering where the color came from, it just arbitrarily chooses one of the badge colors? Yeah, that doesn't work.
There are ONLY A FEW COLORS to even display. Your units, enemy units, screeps units, roads, structures, etc. Don't be lazy with the UI! Store them as 32 bit color values the user can set.
Then, everyone is happy! Even that one guy with teal-chartreuse colorblindness can set the UI to something they can see.
-
RE: Season #1 announcement
Where the video?
Well, those are impressive rewards. And many are fungible to many millions of credits.
Also, the last prize, that says "top N" from 1 to 100? Does that mean the number 1 player gets 10 of each of the top 1..3 items, then on down to 3 of the "top 100" items?
-
RE: Alpha Map - Same color as plains
Huh. My first thought was that your use of the "White Diamond" badge was using mind control to hide the units. So I tried it myself... I think what might be happening is your dark default badge is masking the normal unit color.
That or there are just bugs. I don't think I'm real impressed with the beta map either yet.
-
RE: Season #1 announcement
Any more particulars on that other than "100 CPU?" Is that 100 CPU max? Or always? Do we start with GCL 1? GPL 0? 2 months doesn't seem like very long to get any kind of colony up, depending on what the tick rate is going to be.
Edited to add: Who am I kidding! Even if it turns out to be a level 4 slap fest for snowball resources... I'm totally going to buy the 5 gold coins to enter with. Even at full price (Not the current sale price.) it's only 10 bucks for 2 months of entertainment.That's a bargain! It'll be fun!
-
RE: Boosted creep bodyparts
It's 70% of THAT tough boosted part. That's why the tough parts are always first. This means that fully boosted tough parts have an EFFECTIVE hit points of 330 hit points. There is also a "stacking effect" between tough parts and heal parts, as heal parts heal base hit points. So one tough part requires 330 hits to disable, but only 100 heal to recover fully.
Short story: At level 6, you have 2 towers. That's a total maximum damage of 1200 hits. A T3 (Tier 3, the highest tier.) of boosted attacker needs 4 tough parts (1320 hits for those 4 parts.) and 9 heal parts ( 432 total healing) so it can fully recover all 4 tough parts in all cases.
TL:DR. T3 boosted creeps will steamroll a level 6 room.
-
RE: How does Memory work?
Short answer, you can't.
The reason for this is your code only executes in tiny spurts once per tick, between ticks you could lose the global memory and it would have to be recreated.
Store data you need to be persistent in the Memory object, "Memory" that's part of your global memory set up for you at the beginning of each tick. Game structures have a shortcut to the memory object that is handy for storing the data pertinent to that game structure. For example, the Creep object has a property, "memory" that points to the place in the memory object associated with that creep, keyed off it's name. So the Memory object for creep "myCreep" would be "Memory.creeps.myCreep" and can be accessed through the creep as "creep.memory"
Data that you can just recreate can be stored in global memory, but know that it could simply "go away" and you will have to rebuild it.
-
RE: Decorations update
Oh. And as long as I'm here. I like the range of images. Sure, I toss the goofy "stock line art" into the recycle bin, but what else is it for? The way I see it, Screeps is a "generic image game" with round and square shapes instead of styled, rendered images. It's very "indie" in that respect and i like that style. As such, there are no real "Screepsy" images TO put in there.
But a range of images like you are putting in will produce ones that appeal to people. For example, I really like the circular "Babylon ocean clock face" looking graffiti I have in that room. No way it's "Screepsy" at all, but it lends an artistic flair to the room. At least, in my opinion. And I'm the one that has to look at it.
So that part is fine.
-
RE: Decorations update
An issue I'm having is that I really dislike the "Lighting effects" in the room, so I have them disabled and the "animated swamps" (Which look like toxic waste) turned off. I have no idea if I'm the lone weirdo for doing that, but it is what it is.
Anyway, the issue is this makes the wall and floor textures WAY too light! I keep looking for the rare feature to be able to set that, but all I seem to get is "Stroke brightness" which does very little.
If you could push the brightness control for W and F decorations to a lower rarity, that would make a LOT more of the textures usable.
Added images: Here is what a typical texture looks like in one of my room:
But THIS is what it looks like in the preview:
It looks much darker because the preview defaults to the "normal" lighting. This gives a false sense of the actual appearance of the image on an actual room if you're not using the "normal" setting.
-
RE: Decorations update
RE: EU Lootbox legality.
I think the pat answer here is "Let the store handle it" as in be ready to remove pixels from the store in contested countries, like Belgium and the Netherlands.
The other issue is circuitous RMT paths, like Steam Dollars and Credits. Since those cannot be limited by region (Well, possibly with the Steam Dollars...) the fallback position is remove pixels as trade able through those currencies. Pixels on Steam are problematic anyway, and removing Pixels from the in game market also works fine.
By any measure, allowing direct account to account trades should always be a no go zone.
This leaves selling CPU Unlocks and the Season access tokens directly for Credits. I think you'll need to add that to stop inflation. However, use a modification of Blizzard's system... two token types for CPU unlocks, one sold in the cash shop that can be transferred or used as a CPU unlock, and one sold for Credits, that can ONLY be used as a CPU unlock.
Gadjung: Pixels for Credits is not a sink. Those credits stay in the player realm. To be a sink, the Credits must be destroyed when the transaction takes place.
-
RE:
The body parts aren't "shot off" they're just damaged into an unusable condition. You still have to drag the damaged parts around.
This is evidenced by the fact that you can just fix them into full recovery. If they were literally gone, they would still be gone.
But I expect the real reason is to just prevent you from slapping a M as the last part for a perpetual, max speed "Get out of Dodge" mode after the rest is too damaged to be used. Instead, that creep, even if any of the final part is partially intact, will only be able to slowly drag itself to freedom. Or perish in the attempt.
-
RE: Decorations update
@nobodysnightmare That's the time until your CPU fullUnlock RETURNS after it lapses. It's undefined if you either have time, or are subbed.
-
RE: Decorations update
Ok. I got my free 2000 pixels. I noted my 2 sub tokens are gone, replaced with 120 mini-tokens. There are 2 new methods in Game, "Game.cpu.unlock()" and "Game.cpu.generatePixel()."
Ok, that's self explanatory. As a grandfathered in Steam sub user, I still have an active sub... it will auto-renew on 8-2-2020 if I do nothing. Ok. Fine. My plan was to use one of my tokens before then, extending it to 10-2, then again before that ran out.
All very fine and good. Here's my problem:
I can't tell what my sub status is from the API. Ok... This isn't the worst thing, I could just automatically pop a mini-token once every 24 hours, incrementally extending it even though the cut off is still over a month away, or I could start doing that at a point closer to the date.
But I have no apparent way to determine what the remaining time is. I can't send myself a message reminding myself to get more time, or that I'm going to run out tomorrow. I don't want to just dump the mini-tokens in, I want to "Ride the buffer" of whatever duration I set, like (If time left < 1 month... pop token.)