In this post we will describe Screeps Arena and its main design concepts. If you like it and feel that it is possible to you to help us fund this development, please buy some Access Keys and use [url=https://screeps.com/a/#!/arena][b]this page[/b][/url] (or the "Arena" menu inside the game) to preorder. You will gain a Steam activation key immediately and can activate it in your Steam client. The game will be downloaded to you as soon as it is ready.
There are two preorder options:
- [b]Release[/b]. You can preorder the release version of the game, but with a discount.Technically it well be "Early Access" release on Steam, but since it will be available to public and the price will be the same, we refer to it as "Release".
- [b]Closed Alpha[/b] (Includes the Release version). As soon as we have the first working prototype of the game we will share it with the most interested community members. You can join this test stage to help us polish the game before it's released and push some of your own ideas during the early development. This stage will take a few months. Our current ETA for Closed Alpha is Q1 2021.
[b]The gameplay is going to be super fast and dynamic.[/b] Many Screeps players desire to have a fast tick rate and experience more dynamic gameplay. In Screeps World it is technically complicated to achieve that, and it is not necessarily a good thing, since you need to debug in real-time. In Arena, you are not able to control the game state while the game is running. You only watch replays and edit code for the next run. Also, since we don't need to keep the game state in a persistent database, we can run the simulation fully in memory. All this combined may allow us to have something like 20 ticks per second rate. It will mean that a 1000-ticks match will last less than a minute! Although you can replay it in your own convenient pace, including watching console logs. You can share replays with others, watching them will be much more interesting than in Screeps World.
[b]"Arenas," or challenges, will be different each season.[/b] This will solve the "open-source bot problem." Each season will have a set of arenas available. Some of them will be open from the start; others will require to be unlocked during the season. Since every arena and every season will have many gameplay adjustments, it won't make any sense to look for a mature open-source bot to gain rating quickly. The season will end before any bot becomes mature.
[b]We are implementing a sophisticated rating system.[/b] Most likely, it will be based on the Elo rating system used in chess. When you play with someone, your rating is changed according to your initial rating and the opponent's rating. There will be leaderboards for every arena. When the season ends, your profile keeps record of your rating score and all your achievements.
[b]The matching system finds an opponent based on versions of code.[/b] This may be not an easy idea to comprehend, but we think it is brilliant. When we are trying to find an opponent for you, we are looking not just at the opponent's rating. We are looking at his entire history of code versions to find a version that fits your rating in the best way. His latest bot is probably too strong for you, but a few days or weeks ago he had a much weaker code that may be a suitable match for your current code. In order to tune the system perfectly, we will even run "calibration fights" between old versions of all players in the background! This background activity will not affect your player rating (it is changed only when you run your latest code explicitly) but we keep track of hidden rating for old versions too to calibrate the system.
[b]These ideas will dramatically lower the learning curve of the game.[/b] The "easy to learn, hard to master" concept will be implemented much better. A new player will start playing with zero code. He starts an arena, gets familiar with available game objects, and obviously loses. On his next iteration, he writes just one line of code with [b]Creep.moveTo[/b] and [b]Creep.attack[/b]. The system matches the weakest possible opponent for him with zero code... and now he wins! The dumbest one-liner brings him victory! His rating grows, hence the next opponent matched by the system has a similar one-liner. Now they have parity, 50/50 wins/loses with stable rating. He improves his code just a tiny bit and wins again!
Thus you always have an interesting dynamic process of winning and losing, gradually improving your code. You always have opponents matching you, whether you are a teenager or a seasoned programmer. You see the results immediately. You start over, but it's always different. Screeps Arena will be fun!
We are super excited about this project. If you like it too, and think it is something you would play, please [url=https://screeps.com/a/#!/arena][b]show us your support[/b][/url]. Thank you and stay tuned!
