Screeps World Review Q1 2017

Screeps has been in the process of total reorganization lately. We’ve just launched our revamped game documentation and the blog where you’re now (the new forum engine is coming). We are reorganizing our team, and 2 new members joined us: a designer and a developer (they will be introduced later). We’re rebuilding the client graphic code from scratch using the PixiJS engine to optimize performance and bring the game graphics to a completely new level of quality. And the main revamp, server-side, is expected to be announced soon. It will have to do with official game servers and will introduce a radically new approach to expansion of the game world which will help solve the issue of slow tick duration.

Unfortunately, all this reorganization work affected our Screeps World Reviews. Starting this month, they will be published quarterly. Writing them every month took the time that we now want to invest in the game development itself.

The anniversary three-digit perimeter W100N100-E100S100 was opened recently. So let’s make a snapshot of our mega-labyrinth containing over 90k creeps:

Read More

New documentation site

Great news: we've launched a new documentation site!

Quality documentation and API reference are crucial for the success of any program platform, and Screeps can well be considered a program platform. That's why we spent so much time to thoroughly document all available game objects and methods which was not very convenient on top of Zendesk Help Center. Now we are excited to announce the launch of our new documentation site that you can start using right now!


Here is the link: docs.screeps.com


Besides revamped looks and improved desktop and mobile navigation, the new site boasts another feature: it is fully open-source and GitHub-based. This means you can always offer a fix or suggestion.

And that's not all! We understand that Screeps is a game with a steep learning curve, and good documentation helps make it flatter. If you want to help us document the game well, we are ready to thank you in return.

Contribute to documentation and earn money

We announce the launch of the Contributed Articles program! If you write a fully compliant article that will be included in the official documentation, you will get $50 on your PayPal account or 5 Subscription Tokens (roughly equivalent to $ 90) on your game account depending on your choice.

Please read more about the program using this link.

Changelog 2017-03-09

Introduced new kind of world map zones: Respawn Areas.

  • Respawn Areas are highlighted with blue color on the world map.
  • They are isolated from the rest of the world with a wall. The wall has a timer similar to Novice Areas. Any player can place the first spawn in this area, but nobody can come here from the outside world while the timer is up.
  • The only restriction in Respawn Area is nukes usage - a nuke cannot be launched from or to a room in a Respawn Area.
  • Players with GCL 4 or higher are no longer able to start playing in Novice Areas. They have to either respawn in a regular room or in a room within a Respawn Area that will keep them safe for a while and allow to claim as many rooms as their GCL allows.

Other changes

  • When a Novice or Respawn Area is being planned in an inner sector, all free rooms in this sector will be signed by the game with the following message:

  • Added new constants SYSTEM_USERNAME, SIGN_NOVICE_AREA, SIGN_RESPAWN_AREA. You can use them to programmatically check the signs in the rooms that are important to you and reserve them if such a message detected.

These features are supported in private servers v2.5.0.

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