Separate "code spaces"



  • It would be nice to have different code in play for simulations than what is running in the game. Right now changes you make to the simulation are used in the real game and vice versa. This makes it difficult to prototype new AI in the simulation without interrupting your "known good" code in the real game.

    Separate spaces for code would be:
    1. The game
    2. Tutorial
    3. Survival
    4. Custom mode
    1. Player 1
    2. Player 2



  • You can use tests and software versioning (like git) to reduce some needs for that. Though it would be awesome if there was an option to keep running code isolated.

    Not sure how to organize it though in a way that fits the many use cases (code upload, internal editor, git, hybrid code, keeping tracks of diffs between versions, etc...).



  • avdg_ is pretty much spot on in his reply. Screeps only provides the runtime environment whereas you should take care of managing the various runtimes. In that sense it is really helpful to construct a shared library containing all the basic components, such as creep roles, class mixins to expand the object prototypes and so on and mix those together in a brain module responsible for the greater overall choices.

    I can highly recommend looking into Git or Subversion(Although git's feature branches, stashing, etc is in my opinion more powerful than SVN's workflow).



  • I agree with avdg,
    I'd be happy with just Customer mode, icing on top would be the feature to sync it with a different folder in my Git repository.



  • UPDATE: This has been implemented as per this post: http://support.screeps.com/hc/en-us/articles/203852251-New-feature-code-branches?page=1#comment_200263891

    Thanks Screeps Team! You guys rock!