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.
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.
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?
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!
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 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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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?
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?
So selling game scripts so others can advance faster? Or perhaps getting ready to harvest resources to sell them later? Or something completely different?
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.
Here are some other ones that didn't quite hook me.
http://www.javascriptbattle.com http://codecombat.com http://fightcodegame.com