Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Screeps – An MMO strategy sandbox game for programmers (screeps.com)
269 points by antfarm on March 27, 2017 | hide | past | favorite | 71 comments


Really liked playing the beta (or was it alpha?) of this when it came out, but the pricing didn't really make sense for me.

Paying per compute time works for businesses looking for flexible cloud solutions, but as an individual this makes playing the game much less fun (because you're constantly paying attention to the cost).


Back then, it was capped at $30,and unless you are in the top 10-20 players, you can get by with a lot less.

In any case, the pricing model has changed and it is $9/month flat rate, so that concern is obsolete now.


so, its now around the price of netflix? hmmmm, and could easily add up to a AAA game? seems a bit off


Why?

This is $84 a year for the high-end subscription, including Steam discounts, which isn't really that much money. I don't know if the game is any good, but if you're the type of person that considers it to be, that is the sort of money that can be well worth playing for the feelings of accomplishment the game provides.

That's why games can have monthly costs that are similar to Netflix, with much less content - Netflix doesn't provide the same sort of sense of accomplishing something. (Let's ignore the fact that nothing in the game world might actually matter - it's the feeling that is important.)


Only if you play it for more than 6 months which is a lot longer than I usually play a AAA game.


far too high


Sound like perhaps you aren't the target market?

People should be able to price at what they want to, without getting HN flak.


This is a discussion website. Being vindictive isn't helpful, but niether is criticism inherently bad. An awful lot of the good content here is experts being critical of new ideas.


Just imagine that they had appended "to me" to their comment. Then it's just a datum.


Something worth mentioning, they recently introduced a "Subscription Token" item that you can purchase for real $, and sell on the market ingame for credits. That also means you can essentially purchase game-time for in-game credits

I purchased the game, 2 months of subscription, and have been using ingame-credits to fund my sub for the following 5 months ( I've currently got an additional 4 months of time in tokens that im trading on the market as well )

While it did take some time to get ramped up, and I am in a safe area with my alliance. A player can, with a little market interaction, not pay IRL money for the game. (you will have to survive long enough to get there, expect to get killed off a few times before you figure out defense)


This is the same concept as EVE's PLEX item, which was introduced to combat TOS-violating real money transactions. In-game prices are subject to in-game market fluctuations, which are relatively stable.

Ever since then, any headline involving EVE player shenanigans and a dollar amount is derived from this one-way exchange rate.


It also implies some sort of pay to win - with more compute you can presumably do search algorithms that act smarter.


If your code isn't good enough to compete against other players you'll actually be paying to lose...


it would also make the game cheaper if you figure out less computationally intensive algos to win.


    it would also make the game cheaper if you figure out 
    les[s] computationally intensive algos to win.
Yes but a player who was an absolute shite programmer could just throw their bank account at the problem.

While my O(n) solution maybe eloquent, they can afford O(n^n) so provided our _players_ make the same outcome the algorithmic complexity is irrelevant if you can afford it.

The game uses a soft turn based _ticks_ timer. So provided your O(n^n) solution can execute in 1 tick. Their is no difference.


> Yes but a player who was an absolute shite programmer could just throw their bank account at the problem.

Seems to model reality fairly well.


> The game uses a soft turn based _ticks_ timer. So provided your O(n^n) solution can execute in 1 tick. Their is no difference.

I don't think you're giving your hypothetical shite programmer enough credit here.


While my O(n) solution maybe eloquent

Screeps has a speech API?


Holy crap if Screeps allows webhooks to generate events to your modules you could easily use api.ai to do just that!


Cool, but my comment was really a veiled correction to the previous comment's English.


Cool, but that's an incredibly boring comment so I made it better. I am confused why you did not accept this pull request.


Cool, but that's an incredibly boring comment

It worked on you!


This is that thing where people throw a dart then paint a target around it.


> a player who was an absolute shite programmer could just throw their bank account at the problem

There aren't (yet) any public codebases which have a handle on endgame combat. It's still more or less competitive after 2 months of play.


I guess that maybe the point of the game.


the current model is either pay the base-sub, or play in CPU limited mode. the only P2W interactions could be buying subscription tokens and selling them on the market for ingame credits (which you'd then use to buy more resources off the market from other players). You cannot purchase more compute time than the subscription allows

CPU-Wise, if you pay the compute time is tied to your account level, with a hard-cap if you're level 30 (there are still only a few players that have achieved this, it takes many months)


Yeah you're definitely thinking of the old pricing model, which turned off a lot of people. The new model is a flat per month fee of $8, and you can't spend more money to get more CPU.


I wonder if they could pay for the service with recruitment ads targeted by demonstrated programming skill.


I believe it is pay one price and you get as much computing ability as your level indicates.


This is correct. If you buy it on Steam you get access to an offline/local server, in addition to being able to play in the persistent universe for free but with a severely limited CPU cap. There is also a way to purchase CPU time with ingame currency similar to EVE Online.


Maybe they should open this up as a AI programming platform and sell any algorithms that come out of it.


I'm pretty sure that would quickly get them in trouble because of copyright issues...


Unless they explicitly stated any players submit their rights to ownership of the algorithms they write. Even then I feel an open source alternative geared towards research would be better than a for-profit closed source organisation, but they will have their own business needs and ideas they want to stick to.


It says open source on steam and it links to a GitHub repo. Didn't verify, but seemed legit


That's dumb.

Any algorithms that players come up with will almost certainly only be useful for playing the game.


The price on Steam allows one to play solo or on private servers without a subscription.


C# team did something similar when it first came out, I can't remember what it was called. You wrote a module and submitted the code to run on their servers. It was a similar 'critter' game where your code hunted for food, tried to reproduce, and competed with other code running in the same sandbox. There was a limited energy budget which was the main constraint on your code and meant you had to conserve energy and optimize your moves in order for your organism to thrive.

It was a really neat way to learn the language and highlighted the security of the interpreter that they could sandbox your code.

I'm sure there must be precursors to even that, probably written in Smalltalk or Mumps or something.


Terrarium ... still has a repo at https://github.com/terrariumapp


IIRC they had a central server for coordination, but the code was run on the clients machines. You submitted the compiled CLR bytecode version of your C# program, and it was run in any machine. A part of the objective was to show that the bytecode was sure enough to be freely distributed, downloaded and automatically run.


If I put on my Product Manager hat:

1) Invest in good art

2) Tell me how long it takes to get up and running. Is there a walkthrough that can get me on the leaderboard in 10min? If so, I want to see it (and I don't want to pay).


To get on the leaderboard you need to buy the Steam version or a subscription. There is a free one room sandbox at https://screeps.com/a/#!/sim however


There are 3 more or less competitive open source bots/frameworks: BonzAI, tooAngel, and OCS.

With these you can get started grinding and within 30 days if you invest your own time into code you'll more or less have access to endgame strategies (if someone with 6 months on you doens't wipe out yout).


To anyone who plays, what's the ramp up time look like? It seems like such an interesting concept, but I often find that games like this have so much of their own vocabulary that it often doesn't feel like I'm writing JavaScript (or insert language here), it feels like I'm writing ScreepsScript.

Same with Code Combat and some other coding games.


I've been playing for over a year now and the ramp up really isn't bad at all- there are a ton of new players starting all the time, and the map continues to expand so new players aren't right up against old ones.

You can probably get a basic one room AI going in a weekend, and then continue to expand it over time. The great thing about this game is that if you "die" you still have all the progress you've made with your code, so restarting doesn't hurt too much.

With regards to the "ScreepsScript" idea- there definitely is a small amount of that but it's pretty minimal. There is also a huge community on the screeps slack network that makes it a lot easier to get into the game.


Its actually quite well paced, due to how you progress through the game in real-time. You start out with access to a limited sub-set of the API, since you cannot build all the buildings/creep parts yet. First you're required to level your room up by upgrading your controller, which to get your first room up to the max level, can take weeks/months of RL time. ( but the game plays itself, and is always running )

The API you use at first is quite small, and takes care of some things like path-finding already, so you don't have to re-build that, though you totally can if you want. Heres[1] an example of some logic to get all your creeps mining from their closest source. Not use-able in a real-world script as the actual logic is awful, but the fun comes from figuring out what does work.

You can check out the API here[2]

[1]https://gist.github.com/ggrochow/db8986d2627d02c992f65cc0cce...

[2]http://support.screeps.com/hc/en-us/articles/203084991-API-R...


A lot of comments here are focusing on the pricing and ignoring the 'sandbox' part of the game's description. There is a leaderboard you can try to climb but it is reset monthly and isn't really shoved in your face. Beyond that you're free to set whatever goals you want and go about them however you wish, with the principles of other strategy games (harvest resources, build things, attack enemies, etc.) to give you ideas. It's really a game about you and your code and how it grows and evolves as your goals and strategies become more complex.

Screeps is definitely worth trying, if for no other reason than to learn javascript at a deeper level if you don't use it extensively. I do have a couple of issues though:

The first is that it is quite resource intensive considering its simple 2D visuals, both in the browser and the standalone client. I'm not sure if it is just poor optimization or the javascript runtime but it shouldn't make my machine hot. It'd be nice if this were addressed.

The second issue I have is the workflow, which doesn't lend itself well to source control. The ingame editor works well enough, but its idea of a "branch" is just a named copy of the code directory. I think there is a way to integrate with github but I don't want to upload everything to the cloud just to be able to track changes. It would be nice if this area were looked at and made more flexible so we could use our tools of choice.


Honestly I don't use the game client at all for coding. In my experience you're better off using a simple grunt task to push code to the server, and otherwise developing locally and keeping everything in git. The in game editor sucks, and you can do some fun post processing things with grunt.

The game client is pretty awful performance wise, but they're doing a rewrite that looks like it will be awesome.


They have well supported API to push your code into it (alongs with gulp/ grunt package to do so, I think).

So you can work in your favourite environment and just "deploy" the code as normal, or am I missing anything?


I admittedly haven't explored it in great detail, but when I've asked on their Slack channel a lot of people seem to just use the ingame tools which are "good enough".


I think there may be a misunderstanding there. The community has built a ton of third party tools ( https://github.com/screepers ) and even has it's own alliance tracking site ( http://www.leagueofautomatednations.com/ ). I can't imagine anyone just using the ingame tools.


Can confirm, the community tools are awesome. If someone is only playing using ingame, without any of the external stuff, I feel they are missing a large portion of the game.


that is correct, also a GH integration, so you can have it reload your code as you push updates a github repo.


While we are talking about games for programmers: Is there any game where cheats and bots are allowed or even encouraged? Like an egoshooter or an RPG which you can play in a normal way but you are also free to add your own aimbots and wallhacks and stuff like that?


"You Have to Hack This Massively Multiplayer Game to Beat It"

http://pwnadventure.com/


Here's a neat map of screeps http://www.leagueofautomatednations.com/map


here are a few links:

ingame live map, sadly requires signup (free account will do): https://screeps.com/a/#!/map

shows alliances (player made, not part of the game, js heavy): http://www.leagueofautomatednations.com/map

another alliance view: https://pbs.twimg.com/media/Cz1HZrEUcAExwYa.jpg:large


This game reminds me of leekwars [1], though the latter is not an MMO. And is (was?) completely free. I feel that AI games like these can be a great introduction to programming (and maybe to emphasise the usefulness of free software, or at least free libraries/tools).

[1] https://leekwars.com/


Would it be possible to (now or eventually) play this game with "all" languages? Part of the value of this to me, would be doing it in languages i love, or want to learn, etc. Using a language i dislike, or even are indifferent about, means the gameplay itself has to pull all of my entertainment.. weight, if you will.

Thoughts?


You can play this game in languages that transpile to javascript, but sadly the server runs all your code and is only setup to handle JS.

Thankfully tons of stuff transpiles to JS easily, and off the top of my head, I know theres a python starter somewhere, and im sure you could find some for other languages


I guess in theory you could use any language that can be compiled into asm.js, although you'd need to make a lot of bindings to their JS API


quite pricey for what it is, but well worth it if you've got a programming itch to scratch and like playing RTS games.


How far are we from paying people to play a programming game, while using their code/solutions for solving problems?


That's basically this, right: https://www.starfighters.io/


The actual game site looks slashdotted... well, HN-ed...


I too tried to sign up, unfortunately it has closed down


Well, the SSL cert having expired 135 days ago should have been a hint - which i ignored ofc.


I almost feel guilty.

I remember hearing about starfighters.io sometime back and putting on my ever-growing tab of "Visit on freetime", but now it's--in all likelihood--gone forever.


last email I got from them was 12/12/15 about the launch of stockfighter.io ... which is also dead as is their Discourse :(


This looks like a very fun opportunity to really bite into PureScript and use it in unusual contexts!


Yes, it's fun. I wrote a wrapper for playing Screeps with PureScript and a blog post about it here: http://blog.ndk.io/purescript-ffi.html.


I just have to say that a mere upvote does not convey the level of my enthusiasm for what you linked me. I'm so glad someone else thought of it too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: