Screeps Arena Preorder


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


  • Dev Team

    @rayderblitz said in Screeps Arena Preorder:

    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.

    Fair point, probably we can add an option "Make replay public".

    👍


  • It would be so cool if they had a 2v2 mode where you and your teammate script their own creeps but can work together to build defenses and attack the enemies.



  • Oh boy, I'm really looking forward to this!

    See you in the Closed Alpha. 🙃



  • @artch said in Screeps Arena Preorder:

    @rayderblitz said in Screeps Arena Preorder:

    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.

    Fair point, probably we can add an option "Make replay public".

    Sounds good. Though I think it would be best to have them public by default and let people opt out of sharing their replays instead. I expect that most people wont care about their own replays being public, but will like others' being public and the few who care about their own not being public will look for the relevant options anyway.

    The implementation specifics aside, I dont even think giving an option to hide replays is really going to add any value to the game. It is supposed to be a ranked game and the competitive scene (or any game with competitive aspects or potential, really) works better with publically accessible data as far as I've observed in various different settings (MOBAs, games like Rocket League, etc.).



  • This post is deleted!


  • The alpha isn't currently available (the top post says "our current ETA for Closed Alpha is Q1 2021"), but you can preorder it from https://screeps.com/a/#!/arena if you want it at a discount.



  • @artch sounds great! I have some questions and feedback:

    Is the matching system inspired by Gladiabots? Have you played that game? It has a similar system where you play against different versions of AI of other players. I believe they call it a “ghost” of another player. Each ghost has it’s own Elo rating. It seems to work well in that game and I think it will work well here too.

    I would like to suggest another feature for Arena that is also in Gladiabots. It is a single-player campaign but the opponents in the campaign would be “ghosts” or “versions” of actual player code that was used in multiplayer (anonymously). (See https://wiki.gladiabots.com/index.php?title=Campaign For some small explanation). The code used in the campaign changes every season so it has replay-ability and adapts to strategies of the players over time.

    This was very fun in Gladiabots and I believe it would have a big benefit for Screeps Arena because of this:

    I know many people who have tried to play Screeps but want to be perfect or “ready” before they face other players. They spend too much time trying to prepare and sometimes quit before they ever even spawn into the public server.

    If there was a campaign similar to Gladiabots where you can face real challenges and progress in difficulty I think it would help retain more players with different play styles and different development styles.

    Just an idea, I thought it was brilliant when I learned how Gladiabots is doing this.


  • Dev Team

    @helam I never played Gladiabots (I don't like visual coding). I came up with this idea absolutely on my own during prototyping the game design. However, it seems obvious enough for coding games that I'm not surprised that other people are doing that. It will be interesting to see how it's going to play in the Screeps setting with real coding.

    👍


  • So excited for this!! I preordered closed alpha. I have played the regular screeps for maybe 160 hours (I know not long). But I want that faster response of attack / defend.

    When I was in highschool, taking computer science (we learned Java), we use to play a game towards the end of the semester (not in Java) called robowar (https://en.m.wikipedia.org/wiki/RoboWar). The entire class would program their bots and we’d all go at it. In that game there was limitations such as health / computing speed/attack and such for each tournament. You’d basically get points to choose from and so many points made different class robots. Could use energy for attack / shields. Had to predict shots or sense them coming and react which may consume all your energy to move. And then the teacher would give the Friday winner and next week we’d fight again watching it run on the projector.

    Screeps is fun. Gets me back into programming. I may use something for google sheets in the real world but that about it. Been taking a class (on JavaScript) getting myself ready. :)) no open source code for me. It’s not winning if you didn’t make it imo.


  • Dev Team

    Take a look at 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. It will be fun!

    😍👍


  • @artch That definitely look interesting! Happy to see things like ES6 syntax making it into the game.

    However, this sounds like a significant API departure from the main MMO, do you have plans to upgrade the main MMO API to ES6 modules in a similar fashion?

    Or is it expected that MMO bots and Arena bots will always be fundamentally different?


  • Dev Team

    @keidence Upgrading MMO to this API would be, although very desirable, an extremely complicated task. It's a major refactor of almost everything in the runtime. Probably someday, but no promises.



  • @artch Will arena have a fog of war or full vision in the arena?

    I find the idea of having to scout the enemy important, it also allows you to do "sneaky" things if the opponent does not scout you 🙂

    Depends a lot of the units that are implemented. I'm just thinking of RTS games in general 🙂



  • Hopefully both, depending on the arena. Seems possible to make it optional without too much design headache.


  • Dev Team

    @thmsn During the alpha and the first season it will be full vision, but we will experiment on it later.

    👌


  • I would surely enjoy a FOW kinda gameplay, could make it so creeps gets a 5 radius sight and have a boost to expand, that or an observer 😉 tower, to allow an occasional remote view at a location.



  • @artch Looking good! Any plans to use the latest version of Lodash in arena API?


  • Dev Team

    @tehfiend No plans to use built-in lodash at all 🙂 You can import your version at your own convenience.

    👏