Screeps Arena Preorder


  • Dev Team

    Hi everyone!

    Today our discount for Access Keys is over. This means that Season #1 is even closer now. This is an exciting period for us; we're moving on full speed to prepare this thrilling new competition. In a few weeks we are going to launch its Chronicle (you will learn about it later).

    But there is even more news. We're happy to announce that starting from today you can use Access Keys to preorder Screeps Arena and get a Steam activation key immediately!

    Consider it a crowdfunding campaign. We're asking for your help to support this project. COVID-19 impacted our business too. We are looking forward to implementing this new exciting project very much, but we want to secure its development. It would be unfortunate for both us and the community if we become short on money during this big project.

    0_1603993241836_4aeb736f-48fd-4f64-ac0b-e3986642f3e9-image.png

    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 this page 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:

    • Release. 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".

    • Closed Alpha (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.

    The Early Bird tier is limited, so hurry if you want to get the greater discount.

    Now to the game concepts.

    Screeps Arena is a standalone game with a one-time purchase. It will cost $19.95. No CPU subscriptions or unlocks. You just buy it as a regular game. Since it does not contain a persistent world running 24/7, we think it will be a viable business model.

    The main gameplay idea is 1x1 PvP matches in the same Screeps setting but without persistence. You write code, and your bot fights on your behalf. But not in a persistent multi-player world. Instead, you select an "arena" to play, and the system finds an opponent for you. The game room (up to 200x200 tiles in size) is created, both you and your opponent are spawned in it, and the game lasts until the arena win condition is satisfied. When the game is over, all game objects just vanish.

    0_1603989445936_2acd108c-a4e3-41e2-960a-7314a47400a9-image.png

    The gameplay is going to be super fast and dynamic. 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.

    0_1603989531787_39b91a1e-7d13-4ebe-96c6-f9be16b6d2b4-image.png

    "Arenas," or challenges, will be different each season. 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.

    0_1603989577589_6ea71c55-caf5-4602-baa6-794a0e6b44f9-image.png

    We are implementing a sophisticated rating system. 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.

    The matching system finds an opponent based on versions of code. 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.

    These ideas will dramatically lower the learning curve of the game. 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 Creep.moveTo and Creep.attack. 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.

    This is how the game API will look in Arena:

    import {Game, Spawn, MOVE} from '/game';
    import {work} from './roles/work';
    
    const myCreeps = [];
    let mySpawn;
    
    export function loop() {
    
        if(!mySpawn) {
            mySpawn = Game.getObjectsByPrototype(Spawn).find(i => !!i.my);
        }
    
        if(Game.time === 1) {
            let creep = mySpawn.createCreep([MOVE]);
            creep.role = 'worker';
            myCreeps.push(creep);
        }
    
        myCreeps.forEach(creep => {
            if(creep.role === 'worker') {
                work(creep);
            }
        });
    }
    

    Fully implemented ES6 modules with native folders support, guaranteed global during the entire match, globally persistent game objects, no Game.creeps or creep names since you can organize your own global data structures with them, no Memory since you can simply set properties on real live object instances.

    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 show us your support. Thank you and stay tuned!

    👏


  • @artch said in Screeps Arena Preorder:

    The matching system finds an opponent based on versions of code

    This is really clever. Presumably the person who has their "old" code used doesn't suffer a ranking points loss for losing with their "old" code.



  • I like it!

    Might be important to make sure there is a visible difference between defeating an 'old code' player and defeating a player with his latest code. Maybe it's a good idea not to display player names at all when their old code is used.

    Oh, will there be MacOS support? I saw it's tagged as Windows only atm


  • AYCE

    I'm really excited about this!

    I also think it's much easier to get new players involved in screeps as you can show of a match over maybe 10 minutes, and explain the concepts, choices and factors causing a victory.

    Trying to explain my presistent screeps-bot to a colleague right now requires a weeks course! 🙂

    I really hope this will open up the screeps world to a bunch of new people, and I can't wait to begin coding my arena-framework!



  • This is such a great idea 🙂 I rarely actually get around to playing screeps, but I've always been a huge supporter of the game!



  • First of all, thanks for this, I bought closed alpha access immediately. 😄

    I have a question @artch: Are you going to retain all (or most of) the mechanics of Screeps, such as harvesting, spawning, creep parts, boosting, base building etc.? Or are some features going to be removed? I imagine this format will favor early aggression and matches will be resolved rather quickly, so many end-game features would never get to be used.

    Also, would scenarios such as: >>Both you and your opponent get spawned with a "tank, healer and dps" creeps, with no way to spawn more and it's last man standing.<< be possible too?


  • Dev Team

    @tigga

    Presumably the person who has their "old" code used doesn't suffer a ranking points loss for losing with their "old" code.

    Absolutely!


  • Dev Team

    @eiskalt

    Might be important to make sure there is a visible difference between defeating an 'old code' player and defeating a player with his latest code. Maybe it's a good idea not to display player names at all when their old code is used.

    We will do our best to make it clear in the UI.

    Oh, will there be MacOS support? I saw it's tagged as Windows only atm

    MacOS support will be available for sure.


  • Dev Team

    @misza

    Base mechanics will be the same. If you are a Screeps player, you will feel everything familiar right from the start. However, since it's another game with another concept, many mechanics will work differently. For example, there will be no controllers, Power Creeps, market system, etc. Although there will be classic base building and resource management in many arenas. You will be able to decide whether to implement early agression tactics or economy development. Some arenas will focus on the aspects other than base building though (I like your "RPG party" scenario, it's possible), but you always will have a choice between different arenas in a season.



  • I've also bought the closed alpha, just to support the development of it 🙂

    I am however very curious about the following

    • Will anything be open source like the private server for the mmo experience?
    • How about third party clients?
      • I would be thrilled to get the 3D client working with arena 🙂
    • Can we see replays of other players?
    • will it be replay only, or can one connect to see "live" matches?
    • Will our steam identity / profile be hidden?

  • Dev Team

    @thmsn

    Will anything be open source like the private server for the mmo experience?

    We will release tools to create your own arenas at some point. But a full-scale solution like "private arena server" is not planned.

    How about third party clients?

    It's unrealistic to expect real "clients", although some external utilities may appear and we welcome such activity.

    Can we see replays of other players?

    Yes, if they shared them with you.

    will it be replay only, or can one connect to see "live" matches?

    There will be a spectator mode, but technically you are watching a replay that is being generated ahead of time.

    Will our steam identity / profile be hidden?

    Yes, optionally.



  • @artch said in Screeps Arena Preorder:

    Base mechanics will be the same

    Although there will be classic base building and resource management in many arenas

    That's cool. I was a bit concerned that with two examples of <1000 ticks games (one in text, one in screenshot) bases wouldn't really have time to exist. Maybe these examples were shorter than expected. I imagine a lot of base building type stuff is compressed - eg. if you make everything 100x cheaper in "regular" screeps then 1000 ticks to build a base doesn't sound nearly so short.


  • Dev Team

    @tigga Some matches may be over in 100 ticks if you're lucky, some will last tens of thousands of ticks. It all depends on the arena and the tactics.

    👍


  • @artch

    Will anything be open source like the private server for the mmo experience?

    We will release tools to create your own arenas at some point. But a full-scale solution like "private arena server" is not planned.

    I would love to see private servers like there are for the persistent game; but most importantly will there be a way to run private tournaments?

    I teach programming to students in a few different countries and I would love to see them competing against eachother (in a closed system).

    I used to participate in similar tournaments (competetive TRON light-bikes bots) while I was a student and had so much fun.



  • @artch What about code upload / push

    I am fairly fond of using Visual Studio Code and rollup/webpack/grunt to push code to the official screeps server. Can we expect to be able to use an external IDE together with something that can push code to the arena challenge?



  • Wow. Ok. This is a great concept. You've clearly done your homework, here.

    Sign me up!

    But I noted that in one of the posts, the game is flagged as "Windows Only", but you indicated there would be a "Mac OS" version. I've never been a Mac fan, and dropped Windows completely when support for Windows 7 was stopped in January. I've used nothing but Ubuntu Linux since then. Will Linux be in there too?



  • @artch said in Screeps Arena Preorder:

    Can we see replays of other players?

    Yes, if they shared them with you.

    Why only if shared? I believe it would be in - or at least not against - the spirit of the game to be able to look up others' fights and learn from them as well.


  • Dev Team

    @eternaldeiwos said in Screeps Arena Preorder:

    will there be a way to run private tournaments?

    Yes, this is something that will become possible when we release tools to create your own arenas. Not at the initial release though.


  • Dev Team

    @thmsn

    What about code upload / push I am fairly fond of using Visual Studio Code and rollup/webpack/grunt to push code to the official screeps server. Can we expect to be able to use an external IDE together with something that can push code to the arena challenge?

    Steam client will support local file system. Can't tell about push code API yet.


  • Dev Team

    @smokeman

    I've used nothing but Ubuntu Linux since then. Will Linux be in there too?

    Yes, Linux too. It will be fully cross-platform and based on Electron.