top | item 8599640

Screeps – the world's first MMO sandbox strategy game for programmers

185 points| numo16 | 11 years ago |screeps.com

79 comments

order
[+] jrometty|11 years ago|reply
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

[+] bpierre|11 years ago|reply
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

[+] christiangenco|11 years ago|reply
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.

[+] im3w1l|11 years ago|reply
Spring RTS allows coding unit AI's in Lua, and toggling them during gameplay.
[+] hngiszmo|11 years ago|reply
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.

[+] artchiv|11 years ago|reply
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.
[+] Houshalter|11 years ago|reply
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.
[+] cortesoft|11 years ago|reply
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)
[+] netcan|11 years ago|reply
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.

[+] artchiv|11 years ago|reply
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.
[+] mike_hearn|11 years ago|reply
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.
[+] abcd_f|11 years ago|reply
Just like on TopCoder :)
[+] lachgr|11 years ago|reply
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

[+] curiousHacker|11 years ago|reply
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

[+] artchiv|11 years ago|reply
It doesn't make much sense, you really will not be able to control all those hundreds of creeps on your own 24/7 :)
[+] thaumaturgy|11 years ago|reply
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.

[+] jamesaguilar|11 years ago|reply
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.
[+] artchiv|11 years ago|reply
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.
[+] louisrochal|11 years ago|reply
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.
[+] seren|11 years ago|reply
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.
[+] jmckib|11 years ago|reply
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.
[+] barrystaes|11 years ago|reply
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..
[+] PhasmaFelis|11 years ago|reply
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.
[+] nicklovescode|11 years ago|reply
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?
[+] artchiv|11 years ago|reply
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.
[+] jostylr|11 years ago|reply
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.

[+] Paul_S|11 years ago|reply
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.
[+] coderjames|11 years ago|reply
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!
[+] metabrew|11 years ago|reply
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?
[+] artchiv|11 years ago|reply
Every user script is run in isolated nodejs forked process with disabled global vars and with a limit for CPU time and memory used.
[+] shna|11 years ago|reply
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.
[+] artchiv|11 years ago|reply
What do you mean by "more detail"?
[+] seanp2k2|11 years ago|reply
Related, but with spaceships and written entirely in Postgres: https://schemaverse.com
[+] bengali3|11 years ago|reply
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.