
Screeps – the world's first MMO sandbox strategy game for programmers - numo16
http://www.screeps.com/
======
jrometty
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://www.javascriptbattle.com)
[http://codecombat.com](http://codecombat.com)
[http://fightcodegame.com](http://fightcodegame.com)

~~~
serf
[http://corewar.co.uk/](http://corewar.co.uk/) is another fun concept.

------
bpierre
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](https://github.com/lisezmoi/modul.io)

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

~~~
dividuum
There is [https://github.com/bwapi/bwapi](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.

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

I worked on [http://www.globulation2.org](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
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.

~~~
hngiszmo
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.

~~~
AnonJ
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.

~~~
ultimape
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](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](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](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/](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)

------
Houshalter
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
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)

------
lachgr
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](https://news.ycombinator.com/item?id=8600284)

------
curiousHacker
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
It doesn't make much sense, you really will not be able to control all those
hundreds of creeps on your own 24/7 :)

~~~
PhasmaFelis
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.

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

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

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

~~~
moab
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/](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.

~~~
curiousHacker
Yes, I am aware of those ideas.

------
louisrochal
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
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_.

~~~
louisrochal
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.

~~~
artchiv
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.

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

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

------
ultimape
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](https://news.ycombinator.com/item?id=1538171)

Nice to see something like this begin to take shape.

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

~~~
jostylr
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.

------
coderjames
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
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
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
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
What do you mean by "more detail"?

------
seanp2k2
Related, but with spaceships and written entirely in Postgres:
[https://schemaverse.com](https://schemaverse.com)

~~~
bengali3
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.

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

~~~
mod
Is there any way to play it now?

------
joaorj
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!

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

~~~
curiousHacker
Proxy wars..

------
joshu
Something I have wanted for quite a while.

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

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

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

------
corv
I can't wait to try this!

------
bennetthi
Really cool idea.

------
mayreck
OMG!

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

~~~
msherry
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?

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

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

~~~
curiousHacker
Screeps is a lifestyle

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

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

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

~~~
hunnypot
And there you go again.

[http://www.youtube.com/watch?v=cpbbuaIA3Ds](http://www.youtube.com/watch?v=cpbbuaIA3Ds)

