Changelog 2017-02-27

Memory segments

Introduced new memory segments feature:

  • You can have up to 10 MB of additional memory by activating asynchronous memory segments.
  • Each memory segment is a string with an ID from 0 to 99.
  • Maximum segment data length is 100 KB.
  • Segments are asynchronous, you should request them using RawMemory.setActiveSegments. The data will be available on the next tick.
  • You cannot have more than 10 segments active at the same time.
  • Active segments are available in RawMemory.segments object and are saved automatically.
  • Activating and saving segments have no added CPU cost.

Example:

RawMemory.setActiveSegments([0,3]);
// on the next tick
console.log(RawMemory.segments[0]);
console.log(RawMemory.segments[3]);
RawMemory.segments[3] = '{"foo": "bar", "counter": 15}';

You can use this feature to store data which is not needed every tick, for example pathfinding caches, or collected statistics. Offloading data structures from Memory to asynchronous segments will allow to save some CPU spent on Memory parsing.

Other changes

  • You can now create a RoomVisual object using the constructor without a roomName parameter and post visuals to all rooms simultaneously:

    new RoomVisual().circle(30,30, {fill: 'red'});
    new RoomVisual('W1N1').rect(10,10,40,40);

    This code will display both the circle and the rectangle in the room W1N1, and only the circle in any another room.

  • Changed RoomVisual.text method style options:
    • Renamed size option to font. It can be either a number or a string in one of the following forms:
      • 0.7
      • 0.7 serif
      • bold italic 1.5 Times New Roman
      • 20px sans-serif - absolute size in pixels
    • Added new stroke and strokeWidth options.
    • Added new backgroundColor and backgroundPadding options.

    Example:

    new RoomVisual().text('Text 123', 10, 10, {
       font: 'bold italic .7 serif', 
       color: 'white', 
       backgroundColor: '#88ff88', 
       backgroundPadding: .3,
       stroke: '#005500',
       strokeWidth: .15         
    });


These features are supported in private server v2.4.0.

We're hiring!

The Screeps team is looking for a talented JavaScript developer to work on the game code base. We have a huge number of development plans, and if you want to be a part of their implementation, we’re waiting for your resume by one of the following links: 

If you play Screeps, make sure to specify your in-game nickname! 

You can find the requirements in the job posting below.

Read More

Screeps World Review, February 2017

There have been no significant mechanics changes recently in the game. And this could be useful: it allows players to fix some bugs, do some refactoring, etc. For those who still plan spring cleaning in your code and memory, we advise to hurry because the long-awaited Power Creeps are just around the corner! We invite all of you to take part in the discussion. The better our collective mind understands all the details of the concept, the more reliable it will be. And if you’ve been sleeping and never collected a single unit of power, don’t miss the opportunity to get your hands on the banks on your territory! 

Read More

Discussion: Power Creeps

Power creeps is perhaps the most significant revamp of the Screeps gameplay since its launch. When in December 2015 we introduced the new game resource called “power” and announced the future system of its usage, we knew how drastically power creeps and powers would affect the game balance. This is why we didn’t rush to implement them, but we wanted to thoroughly understand and evaluate the whole picture. (Numerous other routine issues and the major business goal of the project – launch on Steam – didn’t speed up things as well.)

Now we are ready to present to you the game design document on how the power creeps system will look like. We are yet to polish and implement it in the game, so the estimate PTR launch schedule is March or April. For now, we want to discuss it with you and hear your comments. How do you think this important update will affect the game?

Feel free to post your comments and suggestions below or in this forum created especially for power creeps discussion.

Read More

Changelog 2017-02-06

We introduced an exciting new major feature - RoomVisual API. Now you can draw simple shapes (lines, circles, rectangles, polygons, text labels) right at the game field in any room to debug your code and/or display arbitrary info. For example, you can visualize your creep path (using the new visualizePathStyle move option), plan your future structures placement, display debugging text messages including Unicode emoji, and many more. These visuals are visible only to you, and all API calls have no added CPU cost.

API Changelog

These features are supported in private server v2.3.0.

Screeps World Review, January 2017

The last year was dubbed by the Chinese the year of the monkey, but we hope you were not a code monkey but took on developing your code architecture in a smart and far-sighted way. To make sure you really did, ask yourself a number of questions:

  • Is my creep factory flexible enough
  • How convenient is developing a new room
  • Can my creeps travel long distances without going astray
  • Do I have a well-thought defense against a possible blitzkrieg
  • Is my army ready for a counterattack to protect my interests and alliance
  • How balanced is my resource mining and trade

Read More

Screeps World Review, December 2016

Screeps gets hot! If you managed to get bored, you’re probably doing something wrong. Thousands of players, 8 layers of world map perimeter, portals for long-range transportation, countless minor scuffles and major battles across alliances, free market, instant messaging between players in personal and shared chats… Cheer up your allies, Screeps has much more in store!

Time in Screeps flows slower than your watch, but we hope you won’t notice it when playing. Let’s make a snapshot of our world today to better assess our future progress, look back, and smile:

Read More

Steam Workshop is available!

We have enabled Steam Workshop integration in the 2.1.0 server build. Now you can submit your mods and bot AI scripts to the Workshop, and manage them using the Steam client server launcher:

Steam Workshop is linked to the npm repository. It means that you need to publish your package to npm first, and submit it to the Steam Workshop after:

This way we can have the best of both worlds: all mods are still available via npm, and you can browse them using the convenient and friendly Workshop UI. All mods will be automatically updated to the latest version on server launch.

Now, it is time to write some mods!

Changelog 2016-11-14

  • CARRY parts now don’t have weight penalty when boosted. One CARRY part always generates fatigue as one body part, even if it contains more than 50 energy units.
  • Increased the following boost effects:
    • UO: from +100% to +200% harvest
    • UHO2: from +200% to +400% harvest
    • XUHO2: from +300% to +600% harvest
    • LH: from +30% to +50% repair and build
    • LH2O: from +65% to +80% repair and build
    • GH: from +30% to +50% upgradeController
    • GH2O: from +65% to +80% upgradeController