store the sources in room memory/global (the id's in an array) and then pull from that and use Game.getObjectById
room.find's are cpu intensive and something you want to avoid doing every tick
Make a shard where it is easier to attack than defend and let people who want a more dynamic game spawn there. Could be fun.
Seasonal shard would prevent people being able to turtle to unkillable levels... but that idea was shot down as being too good and requiring it's own game and another payment
Who cares 2GB is nothing.
If any perf work is going to be done, I would focus on the responsiveness of the client, not how many resources it uses.
I'm going to go out on a limb and say that the client being resource hungry while also performing like crap go hand in hand.
This is a super vague request as it involves a lot of work on your part (maybe?). But for what the client does it's incredibly inefficient.
Whether it's the steam client or running in chrome (The client being the worst culprit of the two), the game uses 2+ GB of memory and roughly 15+% of my CPU (i7-3770K). This would be easy to overlook if it ran well, but it doesn't as it stutters and is at times unresponsive.
tl;dr This is far from my area of expertise but just speaking strictly as a consumer, the game runs terrible and is a massive resource hog. We're not talking crysis level detail... far from it, this could pass as a 2006 browser based game I played at school instead of paying attention in class.
I think you're missing what we're asking for. Yes develop arena, but give us seasonal shards here. We're not asking for neat new features and gimicks right now. We want the small things that improve the game we have. We don't want to be sold concept when we have a platform in front of us that is a UI tweak and cron job away from being a thing.
The concept of seasons will be used in the Screeps Arena standalone game.
Why can't we get a seasonal shard here? Or are you effectively saying that the base game is no longer a priority. Which is fine, focus on making the arena version of the game something new and exciting. But if it comes out as nothing more than screeps with a new game mode on top of it and a new price tag you're going to have a bunch of disgruntled original game players.
The answer to making the original game fun isn't power creeps or contracts. It's a concept like this. More and more your responses to good feature ideas being "it's coming in arena" is effectively telling your long term players that all the good ideas we have are coming, they'll just be behind a paywall.
So it seems the 2 big complaints from players both new and old are tick rates and the power bloc/veteran player being so far ahead in ramparts/boosts(even more so with the changes) that the newer player is alive only because the veteran lets them be.
I propose a shard that is not connected to the 3 we have now. This shard is smaller (for faster ticks, goal should be ~1s ticks), and everyone starts at GCL1. This shard will also reset entirely every 1-3 months back to a bare state (same map/regen map?).
Seasonal mode exists in many popular mmo's and it works great as it keeps players new and old engaged and on a level playing field. You still have the current shards for your grand conquest long term goals of eradicating the 100's of afk players.
@semperrabbit It's not optimized in any ways yet (paths aren't getting saved to database yet) and there are a few other things I would change before merging it in. Due to my experience with past pull requests I don't feel like spending more time on this until I get some sort of official response whether my changes are going into the anticipated direction at all.
Looks like your connection to Screeps Forum was lost, please wait while we try to reconnect.