Hacker News new | past | comments | ask | show | jobs | submit login
Screeps – the world's first MMO sandbox strategy game for programmers (screeps.com)
185 points by numo16 on Nov 13, 2014 | hide | past | web | favorite | 79 comments

I support this wholeheartedly. I have wanted to mix my love for starcraft/AOEII with coding, and no games have done it to my satisfaction.

Here are some other ones that didn't quite hook me.

http://www.javascriptbattle.com http://codecombat.com http://fightcodegame.com

http://corewar.co.uk/ is another fun concept.

Have you heard of bwapi? Write AI for starcraft/broodwar and compete https://code.google.com/p/bwapi/wiki/Competitions

It reminds me a lot of a project I am working on, modul.io [1].

- Everything is programmable, including the UI and the appearance of your modul

- A modul can send and receive messages with the moduls around it

- You start with a predefined and ready to use modul

- Offline support: your modul continues to live on the server when you are not connected

There is no game mechanics at all though, our goal is to create everything using moduls (games, entities composed of multiple moduls, tools…).

Planned features:

- A REST API to do everything remotely

- Code sharing using library packs

I can't wait to see how Screeps work!

[1] https://github.com/lisezmoi/modul.io

Ahh yes! I've been waiting for something like this since getting hooked on Starcraft and wishing I could dip into the worker's AI so it would run away if getting attacked - would save so much brain CPU and make the game much more high level (as it stands, Starcraft is really just a game about being able to split your attention on a series of rote tasks while still keeping your reaction time higher than the other player).

I'm tremendously excited for this.

Also: if you don't launch with coffeescipt, I'll be adding a browser plugin to enable it.

There is https://github.com/bwapi/bwapi, an API for brood war. Not sure what the current state is. But it seems possible to use it while still controlling the game yourself.

Spring RTS allows coding unit AI's in Lua, and toggling them during gameplay.

I love that you are working on this and hope for great success. I have doubts though.

I worked on http://www.globulation2.org which also has some higher level of command interaction. "No micro management" is one of its core ideas. While I love it, I guess people just don't get hooked that much to it than to those other games that mainly live from your click rate or your repeated attention.

I also worked for 2.5a at Travian and know a thing or two about successful game design and how travian deals with scripting and why. From that I can just say that Screeps will not be massive in the sense of user adoption. I would be surprised to see more than 20 people being online concurrently at any time beyond the first days of the game.

The good thing about Screeps is that online users counter means nothing here. You could build a large empire with a complex network of roads, sourcing, mining, manufacturing, border defense which would live on its own, while you would occasionally drop in from time to time just to check the situation and polish your scripts, if needed.

Well, a game that only occasionally gets your attention is kind of less fun than one that gets your every day every hour attention, all other aspects aside.

If you do this for profit, you will not run a game that gets the user's attention only once a year no matter how much joy this user draws from knowing that he will get a mail if his tribe needs him.

I guess you're misunderstanding the intention of the developers. If they are truly just wanting to make a huge profit out of a brainless game pattern then they won't go with this design. Those "repetitive attention" games inevitably make you feel empty and waste your time in the end, and shouldn't be any self-respecting programmer's dedication. That's why there should be alternatives.

I'd argue that all 'games' are about manipulating attention - its just a question of what means they use to do so. Game design is really a sort of meta-game about designing systems that effect the behavior of players. Consider: Game Mechanics and Mechanism Design ( https://www.youtube.com/watch?v=GXdfU2DoF8o )

I'm fully with you on the notion that we shouldn't be manipulating players life like farmville. Johnathan blow put on a great talk about games and the human condition where he covers this aspect quite scathingly: https://www.youtube.com/watch?v=SqFu5O-oPmU

To completely ignore this aspect is to develop a game with no real-stickyness factor. Money aside, don't you want a game that people enjoy playing? The entire point of an MMO is to have a large reoccurring user-base. There is an art to it, and getting it right can make really powerful games: https://www.youtube.com/watch?v=7ZGCPap7GkY

For board games like chess, much of the appeal for the average player is that you get to sit down with a friend and compete, and in doing so the 'intellectual nature' of the game ends up pulling them in for the long term. Perhaps the answer to the meta-game of stickiness is to create a community around the game in a similar vein to the one from the ants ai challenge's forums.

Were I to work on this project, I'd make a strong push toward git-like integration ala the work done behind KhanAcademy's live editor like discussed in this talk: http://ejohn.org/blog/talk-khan-academy-computer-science/. - being able to share code behaviors with your team-mates (you are going to implement a guilds system, no?) and encourage discussions about behaviors at large would really help spurn the creation of a community.

To that end, have you considered creating more of a PvE aspect to things? Needing to conquer your local enemy denizens before finding other players would be an awesome way to encourage teamwork and camaraderie. Like in EVE, to be able to mine in the more mineral rich areas, you'd need to have more than one player's worth of resources and expertise.

This is the actually the direction I'm taking for my Ant game - in this case the various phenotype are actually things you unlock by conquering more advanced AI tribes. (Similar to the mechanic behind the demo of terratech)

The problem with games like this is that players can share code. Decent scripts will be available for everything which takes some of the fun out of the game and makes it less fair to people who do it by themselves.

Nah, sharing code will be awesome. Does sharing code in real life ruin the fun of programming? No, everyone uses code written by other people. It is taking that code, combining it in interesting ways, and adding your own bit of code on top of it that creates really amazing programs (or armies, in this case)

I imagine that depends on how the gameplay works. If there is a "right" answer to the strategy question, then it's a programming challenge and your code sharing objection seems about right.

OTOH if the coding itself is pretty lightweight and the strategy itself is what matters, code sharing might not be a problem. It would also be good for code learners. I think one of the challenges in learning to code today is the difficulty of fining projects where you can get dozens or hundreds of hours using fairly basic programming.

This is where Screeps will be different. You will need to think hard how to adapt someone other's script for your landscape, game environment, creeps setup, etc.

Well, maybe - people are gonna want to win, right? I don't see how this is much different to any game where players can share strategies and tips.

When you share strategies, you still have to manually execute them. Not just copy and paste them into a bot and have it play the game by itself with no interaction.

What fun is a game about coding if you don't actually have to do any coding?

Just like on TopCoder :)

This looks awesome. Being able to program your own civilization without doing all the time-consuming micro-management is a wonderful idea. Almost every multiplayer game in this genre just costs a lot of time (for most games you have to log on every day or so because then certain actions are completed), and I always wanted to be it more strategical while not sacrifiying the possibilites that each "creature" has.

Some people point out that code sharing might be a problem, but I don't think it is. People have to adapt the code to their own environment and as the creator of this game pointed out [1] AI's will have to be efficient to not exceed resources. That will also limit the possibilities of just pasting some nice scripts.

I hope this game will be as awesome as it looks like and I'm excited to try it out!

[1] https://news.ycombinator.com/item?id=8600284

This would be an amazing way to indulge my programming fascination while also honoring my financial commitment to stick with efforts that could make a direct $MM impact on P&L. Wait, I can program and do that? Where do I sign up?

Hi, devs! Feature request: that you can play the game without having to enter code; that you can actually point and drag and click. I hope that "You can master basics without knowing JavaScript" means that there is a traditional RTS style mousey interface

It doesn't make much sense, you really will not be able to control all those hundreds of creeps on your own 24/7 :)

I think that I would want to develop an intuition. I also definitely want to be able to check in on my mobile phone somehow.

It doesn't have to be all one or the other. It would be neat to be able to guide individuals or small groups while allowing the bulk of your forces to do their own thing.

Well, it is possible. You can place flags at the game field and program your creeps to move to them by a simple command.

Nice choice of music for the video. :-)

This looks great. Will there be a pre-launch documentation release? If I were going to mess around with it, it'd be nice to be able to think about it for a day or two.

It will be interesting to see how it works. The biggest issue I can foresee is that a program doesn't have a limit on how much it can manage, given the computation time. If one AI is even a little better than the next best, it could quickly dominate the entire field without some limitations on growth. Something like warcraft 3's upkeep system would be good for ensuring that the game doesn't become boring even if one player is clearly better than the rest.

Every player will have CPU limit on how much time his script can use in milliseconds. So that's the challenge to make the AI strong and not exceed the resources.

Eww. Can we pay cash or btc to buy CPU time upgrades?

What? I hope you're being ironic, because if you're not you seriously don't understand the point of bot-based strategy games: https://www.battlecode.org/info/

Having one person being able to pay for more cycles is the textbook definition of unfair : it restricts the non-paying player to a subset of optimized searches, while the paying player can ultimately get an edge because of his additional compute.

Yes, I am aware of those ideas.

Pay-to-win usually destroys a game fairly quickly.

Pay-to-win is also usually an artifact of gameplay that isn't fun, but requires long stretches of time (ie 'the grind') to complete. Considering the video and the fact that your minions carry on their instructions even when you are logged out, I'm not sure there is a traditional grind component in play here?

Also, people are assuming a black market of scripts will develop just as it does for gear, etc. gear is different because the frequency table is fixed -- therefore the competitive landscape is fixed. When everyone can have 'nukes' the winning strategy is no longer 'nukes', it's who can sneak through defenses and disable the nukes, or confuse them.

Kauffman calls this constant evolution into the 'adjacent possible' -- and if Screeps even half delivers that kind of depth, there won't be a stable end state to the game where everyone has one master script. Changing environments necessitate changing response. You are part of the environment. Feedback and permutation!! Yes!!!

Really good idea. However, the "Your success depends on your intelligence rather than your wasted time" bothers me. That is how the average strategy game works.

It is to emphasis the contrast with an MMO, where most of the time, your progress is directly linked to the time spent playing, often doing the same repetitive tasks ad nauseam.

If that's it, they are mistaking "MMO" with "RPG", but I see the point. Maybe because to improve, you don't have to train by launching an other game that will last 30 minutes.

Every MMO, regardless RPG or not, will require you to invest time to repeat some actions and pay attention to it as much often as you can. See Travian for example. Screeps will not, if you manage to write decent scripts.

Yep I totally agree with that. The "wasted" word is still an error in my opinion. Can't wait to try it though !

Awesome, this looks like it might be more fun than codecombat, which didn't hold my interest for long. I hope coffeescript gets added in eventually.

I hope i can play this from my Note3! I have recently actually been looking for strategy games that have a programming element in them..

Best use of "In the Hall of the Mountain King" I've heard in ages. I imagine the later scenes would be exciting to an actual player who understands what's happening and is invested in it; the music adds some of that excitement that's not conveyed by the sterile and hard-to-read graphics.

Here's a really old post on hackernews about this kind of concept:

"Ask HN: Would you play a distributed, programmable MMO?" https://news.ycombinator.com/item?id=1538171

Nice to see something like this begin to take shape.

Would love additional info on gameplay. Is it RTS style where you see all your creeps and start coding on the spot? Or is it you write a more general algorithm and see how everything goes?

Think of it as Starcraft with code editor panel in the bottom. Your script controls everything, but you can still click at your creeps to see their info and memory.

I hope this allows children to play as well. For example, javascript battle does not, as far as I can tell, because it requires a GitHub account which requires being 13.

Please correct me if I am wrong.

I'm sure you realise that you can lie about your kids' age on the Internet. I could understand if what you're after is a way to block chat or something like that but ticking a box is not a barrier to entry.

It is a little different if you are going to advertise this to students in a school who can only take advantage of it by breaking the law.

I've been wanting to learn JavaScript (and CoffeeScript), but didn't have any tasks with which to practice. This should be awesome for that. Looking forward to it!

would love to know how you sandbox and isolate the user-uploaded JS that runs serverside. how do you manage to do that safely? how protected is it against malicious js?

Every user script is run in isolated nodejs forked process with disabled global vars and with a limit for CPU time and memory used.

I hope it is more than what is shown on demo video. Controlling agents in the game with JS commands is one thing, programming them in more detail is something else.

What do you mean by "more detail"?

Related, but with spaceships and written entirely in Postgres: https://schemaverse.com

are scalar functions able to update data in tables in Postgres? "SELECT CONVERT_RESOURCE('MONEY',balance) as Converted FROM my_player" seems to have actually updated the value in the table.

I miss Ants from ants.aichallenge.org. That was a game.

Is there any way to play it now?

yeah, that was awesome. Wish I could have participated.

I hope there will be a way to run it locally at a smaller scale.

That way one could try to apply some machine learning to this game.

That would really hook me!

And history was changed forever, this was the beginning of a new era where wars between countries were fought over Screeps.

Proxy wars..

Something I have wanted for quite a while.

Looks really interesting. Will this be instant access, or will there be some sort of invite phase?

Yes, Early Preview stage. Get back on November 20, there will be more info then.

Any plans to make this game Clash-of-Clanish? Groups vs Grpups, group Git etc.

I can't wait to try this!

Really cool idea.


artchiv: I would paypal you $20 to have early access to the API docs.

That's the second time in this discussion that you've proposed paying money for an advantage over others in this not-even-released game. May I ask why you're so eager to win at this particular game?

That's the most personal question you could possibly ask me. And there's your answer: business.

Why? Why not just let this be an educational and fun game? Why ruin the spirit of it by turning it into an opportunity for something to exploit (yes, I know, that word has very negative connotations) for profit?

I suspect that you might be taking this (again, not-even-released) game a bit too seriously :)

Screeps is a lifestyle

So selling game scripts so others can advance faster? Or perhaps getting ready to harvest resources to sell them later? Or something completely different?

You can tell it’s a strategy game created by [only] programmers — the graphics look like absolute ass.

Sure it is. Graphics in chess are not that good also.

I think paid add-ons, visualizations, could be a thing.

Just because it doesn't look like what you'd expect a game to look like, doesn't mean it's bad. It has clearly defined shapes, a consistent design, and flat colors (as opposed to ugly textures IMO). I think it looks wonderful. Easy on the eyes and fits in with the theme of a game that uses a terminal as it's main interface.

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