Future of Screeps: What do the devs envision?



  • Slack discussion takeaways

    We had a detailed discussion on what players are looking for moving forward. I copied most of the messages that were most upvoted in the slack channel in the image above. We ran into a few main points:

    1. What is the target tick rate for the majority of shards?
    2. What are the main reasons for players losing interest?
    3. Is there anything that devs feel a fully automated code base should not be able to do that a ui player can?
    4. Should the core world be balanced for newbies or veterans?
    5. Different rulesets for shards. Should we have a shard specific to newbies only, and have endgame shards with automation only?

    Further discussion covered a variety of incentives to help maintain and guide new players through the game. The best ideas were milestone rewards. Examples:

    1. On reaching RCL 6 first time, receive an email with a quest to build a terminal. Player is rewarded with some credits and a brief guide to the market when they complete it.
    2. Players receive a reward when they hit milestones like GCL5 (growing up), GCL 10 (force to be reckoned with), GCL 20 (big leagues)
    3. Players receive a large reward when ending a month in the top 100 of the leaderboard for the first time (a few days of subscription time?)

  • Dev Team

    Hi Davaned,

    Thank you for your interest and your feedback. That was an interesting discussion, I wish I had the answers yesterday. But, I have some of them today.

    1. Target tick rate supposed to be around 2 seconds for new shards and around 3-3.5 seconds for populated established shards.
    2. Sometimes it just happens.
    3. Screeps is the game about automatization. Of course we feel like automated code base should have the same abilities as UI. However, it's not an easy task sometimes. If you think about Power Creeps levelups, this is a perfect example of really complex API which is difficult to implement. So here we have two options: launch PCs with UI but without API as soon as they're ready, and postpone PCs until PCs, UI and API are fully ready (which can, obviously, take a long time to implement, test and debug properly). We'd prefer to deliver PCs without API sooner than launching them with API later. That doesn't mean that PCs would never have levelup API, it just means that we want to deliver them as soon as they're ready, and then work on levelups API to deliver it later.
    4. I'm not sure if I understand what you mean. We don't have 'calm districts' for veterans and 'ghettos' for new players, everyone are free to live where they want to live (and able to survive). As for game machanics, it's always a matter of balance between exciting end-game content for veterans and accessible entry-level tasks for new players; of course, we'll do our best to maintain that balanse.
    5. Currently we have no plans about different rulesets. Shards supposed to be an extension to the existing world, not entirely new worlds.

    As for milestone rewards, currently we have no plans on it, but thank you for your suggestions anyway!

    If you still have questions, don't hesitate to ask here or on slack, I'll answer if/when I can.


  • Culture

    Target tick rate supposed to be around 2 seconds for new shards and around 3-3.5 seconds for populated established shards.

    So shard1 will eventually be 3 to 3.5 ticks? As discussed in slack that's pretty awful. If this is what the admins really think is acceptable then I think we need to have a larger conversation about this. If the admins can't afford to run this game properly then perhaps they need to revisit the pricing or something.

    Screeps is the game about automatization. Of course we feel like automated code base should have the same abilities as UI. However, it's not an easy task sometimes.

    There are simple things that are not complex which you could do to even the playing field. You could-

    • Make market history available in game,
    • Make observers reach the whole world so automated code has the same visibility as manual players,
    • Provide a simple API to look up player info (specifically GCL),
    • Add a new function to the Game.map object that lets us grab portal data.

    None of those seem all that complex, but right now manual players can use these things but automated players can't (unless they push the data to segments on their own). If, as you say, the admins believe that automation should have the same ability as the UI then adding those features in would be a fantastic way of accomplishing that.

    If you think about Power Creeps levelups, this is a perfect example of really complex API which is difficult to implement. So here we have two options: launch PCs with UI but without API as soon as they're ready, and postpone PCs until PCs, UI and API are fully ready (which can, obviously, take a long time to implement, test and debug properly). We'd prefer to deliver PCs without API sooner than launching them with API later. That doesn't mean that PCs would never have levelup API, it just means that we want to deliver them as soon as they're ready, and then work on levelups API to deliver it later.

    I really wish you wouldn't release power creeps without the AI to control them. I think that's a horrible mistake.


  • Dev Team

    @tedivm said in Future of Screeps: What do the devs envision?:

    So shard1 will eventually be 3 to 3.5 ticks? As discussed in slack that's pretty awful. If this is what the admins really think is acceptable then I think we need to have a larger conversation about this.

    Actually, the idea of 3.6 seconds per ticks (1000 ticks = 1 hour) was originated by Atavus, not by us. But I like it too, it looks reasonable.

    There are simple things that are not complex which you could do to even the playing field.

    Our todo list is behind the horizon already, let's please not grow it even more. In fact, all of your points are planned in some form, but ETA is very uncertain due to things with much more priority.


  • Culture

    @artch

    Actually, the idea of 3.6 seconds per ticks (1000 ticks = 1 hour) was originated by Atavus, not by us. But I like it too, it looks reasonable.

    Most people in slack disagree with this (at least the ones who were vocal about it). I'd recommend you do a survey or something to get an idea of what people actually think on this.

    Our todo list is behind the horizon already, let's please not grow it even more. In fact, all of your points are planned in some form, but ETA is very uncertain due to things with much more priority.

    This is actually the first time you said that you'd be adding these things in, so I'm really glad to hear it. However, if you're worried about how big the backlog has gotten maybe you could consider another crowdfunding campaign to help fund development. Another idea would be to put issues up on the open source repositories and offer subscription tokens for people who complete them (similar to offering tokens for adding articles to the documentation site).


  • Culture

    +1 for sub token bug bounties. I would write engine code for sub tokens.



  • Hey @artch and @o4kapuk , thanks for the responses!

    I think we should be a little more concerned than "Sometimes it just happens." when it comes to the gameplay. It would be valuable to do some serious research into it to make sure that we maintain a stable playerbase. The reason many of us are invested in this game is the very active community. If that starts dropping away I think we'd see exponential player loss, so always something to keep in mind.

    I think this game benefits from something few other games have, which is a very strong technical knowledge base among the players. Many of the people attracted to this game would be fantastic resources to draw on for overcoming technological challenges or assisting with the implementation of features. Almost no other game gets the opportunity to leverage that outside of mods! I think @tedivm has the right idea here where it should be given at least some test features that the community can open source contribute to. If it doesn't work out nothing is lost.

    My question 4 about pros vs noobs: Right now we've seen the downsides of new players joining the game. Shard1, supposedly a zone for new players to thrive, is instead of bloodbath for everyone who is not an established player with advanced code. I think shards would be a fantastic opportunity to have a shard focused on allowing new players the freedom to grow and practice against players of similar level.

    Finally, my largest personal concern: the tick rate. For me, and for the friends I've had that quit the game, this has been the number one negative experience. The long times make it very hard to develop, as you need to block off multi-hour long time frames just to see if your code is working. Trying to make attack code or check if a major change is working usually means you update your code, get an email about an error hours later, and then when you're next free you have to struggle through broken room history to find out what went wrong. Please, reconsider the tick times. As a player, without perfect room history or reasonable game speed, development is an incredibly frustrating experience. I tried to show a couple of friends the game to get them interested. They were excited to hear the concept and I showed them some attack code. I sent a few creeps to go attack a neighbor and then said we can check back in an hour when the creeps get there and they looked at me like I was crazy and instantly lost interest.

    Thank you both for taking the time to respond.


  • Culture

    The tick times are a big factor to me also, I started back when tick times were 2-3 seconds, that was a perfect speed for developing, not so slow that testing one little thing took hours, but not so fast that you can't debug. With the recent high rates, I have basically abandoned my shard0 empire, its just not worth the aggravation of having to wait 50 minutes just to discover your claimer dies just 10 cells from the target controller, and in this case, I missed the initial creep and history didn't catch it. It was an hour later before I found out what was going on. Most of the time that I would have spent on that codebase, is now spent on the ScreepsPlus server and BotArena, S+ is slightly too fast for easy debugging (1.2s ticks), but is better than official in that I see actual results without spending hours waiting. IMO, 2.4 would be a better target (1500 ticks = 1 hour), that is 1 creep's lifetime, which means that in ~ 1 hour you can easily monitor and see the entire lifetime of a creep, making optimizing and improving much easier.


  • Culture

    Yeah, I'm more for the 1500=1 hour, thus 1 generation=1 hour. 1000 is kinda arbitrary in the game's scope beyond being a base 10.


  • Dev Team

    However, if you're worried about how big the backlog has gotten maybe you could consider another crowdfunding campaign to help fund development. Another idea would be to put issues up on the open source repositories and offer subscription tokens for people who complete them (similar to offering tokens for adding articles to the documentation site).

    The issue is human resources, not money. Writing proper Screeps code is hard, and it cannot be done via community, since our main driver, backend, frontend, and server-side tools are not open sourced, and anyway such amount of work cannot be compared to simply writing the docs. You can write an article within a few hours. But in order to write a properly implemented and tested major feature (given that you have your own job), you'd need to learn these codebases for months, discussing it with us in the meanwhile, spending our time as well. Or, alternatively, reviewing such PRs and explaining why specific aspects should be implemented in another way would take an amount of time comparable to implementing it by our own efforts. Managing an open source project can be very time consuming, the open source model is not suitable for every project.

    +1 for sub token bug bounties. I would write engine code for sub tokens.

    Sure, we've already given dozens of sub tokens for critical bug fixes. Feel free to contribute.

    I think we should be a little more concerned than "Sometimes it just happens." when it comes to the gameplay.

    Of course we are. For example, each paid player who stopped playing receives an automatic email asking for reasons why he/she stopped. We've read through hundreds and hundreds of such emails, and bad tick rate is not even in TOP-10. Sometimes people just lose interest to what they like, it happens to any game, this is what @o4kapuk meant. We do our best to keep being informed of their objective reasons. Subjective reasons are far more popular though.

    IMO, 2.4 would be a better target (1500 ticks = 1 hour), that is 1 creep's lifetime, which means that in ~ 1 hour you can easily monitor and see the entire lifetime of a creep, making optimizing and improving much easier.

    It's an option too. However, it would require a lot more server resources than 3.6 s. And if players are given a choice between 3.6 tick rate and higher subscription price, I highly doubt that the majority would choose the higher price. Actually, the subscription price aspect is the #1 issue of most leaving players.


  • Dev Team

    Yeah, I'm more for the 1500=1 hour, thus 1 generation=1 hour. 1000 is kinda arbitrary in the game's scope beyond being a base 10.

    Base 10 is convenient for humans though, considering the fact that we have many timers counted in thousands and tens of thousands. 50k ticks downgrading timer is easier to understand when 50k ticks = 50 hours ~ 2 days.


  • Culture

    I still think 3.6 seconds is insanely high. There are already a bunch of veteran players who have said they are only still playing because we were promised improved tick speeds and they are waiting for it, and frankly lots of people are enjoying the ScreepsPlus server due to it having reasonable speeds.

    Having 3.6 second ticks seems like a great way to lose players.


  • Culture

    @artch said in Future of Screeps: What do the devs envision?:

    It's an option too. However, it would require a lot more server resources than 3.6 s. And if players are given a choice between 3.6 tick rate and higher subscription price, I highly doubt that the majority would choose the higher price. Actually, the subscription price aspect is the #1 issue of most leaving players.

    Honestly I think this is due to the fact that you guys do zero marketing, so you're getting more college students than people with actual jobs. You're also ignoring what it means when people think prices are too high- it typically means that they feel they aren't getting enough value out of the product to justify the price. Faster tick times is going to mean better player retention (and we know this for a fact, as @esryok has been collecting stats and can see that player retention is higher on shard1 than on shard0).

    I honestly believe that the combination of good tick times and some actual advertising will solve your money issues. Toss a $20 a week add on reddit targeted to the programming communities and I'm sure the number of paying subscribers will go up.


  • Dev Team

    @tedivm said in Future of Screeps: What do the devs envision?:

    Honestly I think this is due to the fact that you guys do zero marketing, so you're getting more college students than people with actual jobs.

    I didn't want to start this argument here, but you're so wrong. And the most interesting part that you're wrong AND in the same time you claim it ex cathedra pretending you have some insider info, so some readers might be easily misinformed by it.

    In fact, we spend up to 30% of the revenue on marketing. It's funny that you mentioned Reddit - we're running an ad there right now (for three weeks already), and had run it many times before. Don't forget that Steam does a lot of marketing (and it costs us a lot, they take huge percent from every subscription). Google AdWords, Facebook, Twitter, StackOverflow, CPA networks, we constantly try various kinds of marketing.

    Obviously, you didn't know all that, so this just reminds a good advice to all of us - it's wise to speak only for yourself and not try to generalize, especially when you lack information.

    I still think 3.6 seconds is insanely high. There are already a bunch of veteran players who have said they are only still playing because we were promised improved tick speeds and they are waiting for it, and frankly lots of people are enjoying the ScreepsPlus server due to it having reasonable speeds. Having 3.6 second ticks seems like a great way to lose players.

    Alright, I admit it probably would be interesting to make a poll, we'll consider that.



  • @artch I just arrived at the same conclusion in the general slack an hour ago, that we need real data. We are working to put together a survey in the #survey channel to go out to all screeps players. We want to make sure its a collaboration, so we should work together once we get further along in drafting it.


  • Dev Team

    @davaned Awesome, good idea, please post a list of questions and answers here on forum when you're ready, and we'll include them in the official survey emailed to all registered users.


  • Culture

    @artch if you really are spending that much on advertising perhaps you need to do better targeting. Right now I can't even force your ad to show up on any of the major programming subreddits despite attempting to. You've also been using the exact same text for your add on reddit as the post from a year ago, and instead of linking to an actual landing page with cool content and a CTA you're just linking to the rather bland front page. This isn't something you just "throw money" at- marketing takes a bit of effort.

    What I suggest doing-

    1. Blog about stuff, even if it's the community managers doing it. Next time you have a "quarterly report" type thing post it on reddit and then use that as your promoted listing.

    2. Get videos of some of the good battles, and make ads out of those. Using Google Adsense make a few animated gif ads of creeps doing stuff.

    3. After big features come out do a quick round of emails to game journalists offering interviews or asking if they'd like to review the game. @Esryok has some great stats showing that after articles are published you get a lot more subscribers.

    As a final note advertising won't matter at all if you don't engage in the community in a positive way. Half the time it seems like when we bring up ideas you only want to argue against them, and at this point even the community manager role seems more about having the CMs convince us that you are right than to take feedback from the community and give it to the devs. You even pick stupid fights on reddit which negates half the publicity you get (and that's not even bringing up the attitude you have in this thread). The only reason this game exists is because of this community and to be completely blunt you seem to take it for granted.



  • @artch Excellent! Glad we are on the same page. I think having data open to the devs and users on what the overall playerbase wants will go a long way to reducing the friction that has been developing lately. Transparency is always good! I'm excited to see the results.


  • Dev Team

    @tedivm Oh well. So you didn't take the advice, and are continuing to act as a mentor with an assumption that you are competent and we are not. I have no idea why you have came to such an assumption, but I don't really want to justify and prove something here. Just try to believe that we're actually putting efforts into all that rather than sitting our pants and wasting time. And that we've researched and tried, in fact, all of your suggestions and plenty of others. Oh well, do you really think we didn't try things like animated gifs or journalist contacts? 🙂

    As a final note advertising won't matter at all if you don't engage in the community in a positive way. Half the time it seems like when we bring up ideas you only want to argue against them

    And this generalizing again. Please speak for yourself. You might probably have noticed already that 95% of fights and friction on this forum have happened with your participation. Don't you think it may indicate that something is wrong with your way of expressing your ideas rather than our way of listening to them? Like, trying to constantly claim that your next idea is the only proper way for Screeps to survive and bloom? And if someone disagrees with you, he is simply mistaken and incompetent?

    You even pick stupid fights

    My weak point 😞


  • Culture

    @artch said in Future of Screeps: What do the devs envision?:

    Don't you think it may indicate that something is wrong with your way of expressing your ideas rather than our way of listening to them? Like, trying to constantly claim that your next idea is the only proper way for Screeps to survive and bloom? And if someone disagrees with you, he is simply mistaken and incompetent?

    Someone could have written this exact statement to you and it would apply just as much. You treat the whole community as incompetent, whether here or on reddit (in conversations I wasn't even part of I'll point out). Your entire argument for not letting the community get more involved with the code base seems based around the idea that we're too stupid to do so. You even treat the mere idea that someone other than you might have a good idea as an insult, even if people are literally just trying to be helpful.


  • Dev Team

    You treat the whole community as incompetent, whether here or on reddit (in conversations I wasn't even part of I'll point out)

    So now you're comparing competency of project developers who worked on it for 5 years, and a person who started playing it a month ago.

    You're entire argument for not letting the community get more involved with the code base seems based around the idea that we're too stupid to do so.

    Really, did I say that somewhere? All what I said is that managing open source project can be as time-consuming as developing it internally, and when the issue is in human resources, it doesn't work well for every project.

    You even treat the mere idea that someone other than you might have a good idea as an insult, even if people are literally just trying to be helpful.

    Oh come on, you can't be serious. Please search this forum for words "good idea" and such written by me - you can start from this very thread few posts above. A lot of excellent players' ideas got implemented in the game already. Like 50% of game mechanics are proposed by someone someday, and we're happy about that.