Future of Screeps: What do the devs envision?


  • 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.


  • Culture

    @artch No, i'm not comparing your competency. I'm talking about your attitude. It is completely possible to engage with people who disagree with you without having an attitude. When people read the comments from your posts (which you promote) and see all of your comments flagged as "controversial" as well as you arguing with people and giving them attitude (as opposed to discussing with them while remaining reasonable) then they are going to be less likely to join this community.

    As another example, even though I was clearly wrong about your advertising budget doesn't mean that none of the ideas I brought up are worthwhile. You are right that your competence at building this game is really high, but that doesn't mean you know everything about every subject. There's a reason people make landing pages for their ads, and the simple suggestion from me that you vary your reddit ads a bit more was not an insult despite your insistence to take it as one. I get that you are attached to this game (who wouldn't be after spending five years on something), but you have to stop taking general thoughts and advice from people as insults.

    👆

  • Dev Team

    Alright, I'll consider your opinion in the future. I'm not fully convinced that it's not just your personal opinion, but anyways useful to know.

    Also, don't forget about the language barrier, a lot of misunderstandings may originate from it.

    Regarding advertising, I meant that you're suggesting such basic ideas with such confidence we have never researched them, that it becomes, well, mentorish and... no, not insulting, but hilarious. I probably need to put more emojis to be more clear about that 🙂

    I mean, yes, I personally can't know everything about every subject, but this is the reason why it's not just me who does all the advertising. Or do you think Screeps is still one-man show? There is a reason why I always say "we" instead of "I", and it's not just about core team of developers, there are contractors, consultants and partner companies.

    Thanks for taking time to think about ways to improve our marketing though. Such involvement is appreciated!



  • Alright, I'm going to jump in here, despite my better judgement.

    @tedivm No offense buddy, but you kinda have that linux-guy vibe that makes it really difficult to agree with you sometimes.

    @artch I'm not really sure where that 30% to marketing is going. I've never seen an ad for Screeps. From what I can tell, the ad you have running on reddit seems to be a general site ad, not something specifically targetting, say, /r/javascript (unfortunately, from the ad page it's impossible to tell where the ad is being posted). In any case, something like 55% of people run adblockers- I'd go so far as to say the overwhelming majority of programmers do, so a straight ad (something most people have trained themselves to look past anyway) may not be that efficient, dollar per dollar. You've got the solid numbers (presumably), so you'll know better than I how cost effective the reddit ads are generally.

    Personally, I think one of the better forms of advertising we could have is by the idea (mentioned a while back) of having a sort of ".edu" version of screeps- a version specifically designed to be run by a professor to a classroom, allowing the professor to pay for a single lisence (provided they have a valid .edu address, plus whatever qualifications are necessary, etc). That said, that's more of a long-haul word-of-mouth strategy, so I won't argue that it will or will not be cost efficient.

    I think some of these ideas- blogs and the like give a way to advertise without advertising.

    As for tick rates, 2.4 second ticks would be nice. Really nice. I could work with 3 second ticks, because I tend to do screeps a couple hours at a time anyway and that gives a buffer for debugging, checking, etc. This is something we'll need to get hard data for, though, as has been said. Anything less is just a room full of people standing on soap boxes and shouting at each other.

    I like some of the other ideas here. Sub tokens for engine code and bug fixes is a good move. Being able to look up player info with an extension of the user prototype that already exists would be great.

    Despite the difficulty of implementation, has the idea to create an in-game poll system been considered? I.e., you log in, see a little blue bubble that says "A new poll is available!", and then the player can answer a question regarding, say, how they'd like power creeps to launch, or what their desired tick rate, is, etc. Logging their answers, as well as metadata about the player who picked the choice, could give us a lot more information about the playerbase. (Ex. New players are more sensitive to longer ticks, steam-sub 10cpu players are more interested in full iso-vm, etc.) I think it'd give us the ability to make a lot more educated decisions rather than resorting to flamewars on an internet forum where a fraction of players actually go with any regularity or see. We run a very real risk of catering to the vocal minority. (As an aside, I'd recommend publishing the data once it's made anonymous, so the community has a better ability to understand why you're making the decisions you are, but that's a matter for another time).

    Honestly, speaking to both @artch and @tedivm, I expect better than this out of the Screeps community. I have a rule- before sending any email, text, or post when I'm agitated,I get up, walk around for a bit, grab a bite to eat, go sit in a park for an hour, etc. If I come back and sending it still seems like a good idea? Go take a shower, maybe a nap, etc. If after all that I still think I'm making a sensible, levelheaded response, then (and only then) I send it. Now, you both seem like friendly chaps from when I've spoken to you (whereas I'm an asshole, I'll admit), so you probably don't need anything so extreme, but it is something to consider, I think.



  • @knightshade Agreed, and thank you. In the end, we the players want to play a game that is fun and rewarding, and the developers want to create a fun and rewarding game. That requires mutual collaboration and understanding.


  • Dev Team

    @knightshade Excellent input, thanks!

    Personally, I think one of the better forms of advertising we could have is by the idea (mentioned a while back) of having a sort of ".edu" version of screep

    This is a very good idea, and we're still trying to wrap our mind how to effectively implement it in the current model with the least effort. It seems to be a huge project.

    Being able to look up player info with an extension of the user prototype that already exists would be great.

    Exactly, this is the reason why that weird owner: { username: "..." } object exists instead of a simple username property. It will be populated with more data eventually. No ETA though, it's just in the backlog.

    Despite the difficulty of implementation, has the idea to create an in-game poll system been considered?

    We'd need to think about that. Currently I'm more inclined to create a full-scale survey using a third-party service and simply promote a link in the game and via email newsletter.


  • SUN

    I think that many people agree that @tedivm is easily the most disruptive player in the screeps community. He manages to make everything personal and is unable to have arguments without them heating up. He will escalate things until he gets his way. He never has any intentions of trying to calm down the tempers in the discussions, act politely towards other people, use the approach of assuming good intentions in others, or see things from another point of view.

    The best approach I have observed to work is to completely ignore him. And he certainly is not the "voice of the community" he likes to portray himself as.