PTR Changelog 2017-09-14: WebGL renderer (WIP)


  • Dev Team

    This post describes changes on the Public Test Realm.

    We're introducing a new WebGL game renderer based on PixiJS library. You can read more about the motivation behind it in the this blog post. In short, it allows to make game animations smoother, less CPU-consuming, and add epic visual effects.

    This experimental feature is still work-in-progress. You can switch to the new renderer using this option in the sidebar:

    0_1505388733925_chrome_2017-09-14_14-31-34.png

    Things to be done:

    • Missing game object details and animations;
    • Render quality is not good enough yet;
    • Room dynamic lighting;
    • Special effects (see examples here).

    Since it's still in early development, there's no need to report missing features (e.g. incorrect objects behavior and animations), we're actively working on them. Instead, what we'd like to test is general WebGL compatibility on your setup. Please try this new WebGL display mode and give us feedback about your general experience using it.

    Moving forward we want to take this new client one step further. We are considering open-sourcing the toolkit and adding an ability to create mods for Steam client. This will allow private server owners to easily modify game graphics on their servers, add special effects and animations. We also would like to explore the possibility to add room decorations and creep animations into the game. And PixiJS rendering capabilities will allow to make them really visually appealing.

    0_1507883011412_webgl.gif



  • Tick rate is currently ~1/minute, so can't watch movement however;

    • screen scrolling/pan, zooming, object clicking and direct interaction is INCREDIBLY fast.
    • as above, world map interaction is fantastic. (clicking into a room to view it, very snappy)

    Really exciting beginning. 🙂


  • YP

    Hmm.. I can only see roads and ramparts... no creeps, structures, sources or controllers... I will try again when I'm at home. browser chrome version 60.0.3112.113 on mac

    edit: safari 10.1.2 (12603.3.8) works fine.


  • Culture

    I'm getting nearly solid frame rates, looking nice! Animations are all smooth, overall performance is much better than the current. The only dips I see are when new tick updates arrive, there may be too much synchronous processing and not enough async to allow rendering to keep up.

    My System:
    OS: Ubuntu 16.04
    Browser: Chrome 61
    CPU: Dual XEON X5570 @ 2.93GHz
    GPU: Nvidia GTX 750 Ti


  • Dev Team

    @w4rl0ck , could you kindly clean the cache on your Chrome, and have another try. If the bug is still there, please, take a look at console for any errors.



  • Great work guys!


  • Culture

    Are badges and mineral icons supposed to be missing at the moment, or is this a bug?


  • Culture

    @tedivm judging by the code, I would say they aren't fully implemented yet. They did mention some stuff is still missing and being worked on.


  • Culture

    @ags131 yeah, that was my assumption but I felt it was worth bringing up in case I was assuming wrong 🙂


  • Culture

    Runs nicely on firefox. Excellent!

    I kinda like the creep being spawned appearing on top of the spawner. Can we keep that part?



  • I don't see room map at all -- haven't changed any settings yet -- I see word map, but when I click on a room, I get code editor in full screen, not even "code/console/memory" tabs.

    I did "empty cache and hard reload" in chrome (Version 60.0.3112.113 (Official Build) (64-bit)).

    0_1505432575989_fabccafd-2191-49dd-9802-e08f9b381db2-image.png



  • Works great on the same machine in Opera 47.0.2631.80 (PGO).

    BTW, Chrome is broken the same way even when I go back to main server now (with more hard reloads).


  • Culture

    The sim on PTR is broken now. When it starts the controller isn't claimed, the "choose location" prompt for the first spawn isn't active, and even if you claim the controller and place a spawn the pause button is grayed out.


  • Dev Team

    @tedivm said in PTR Changelog 2017-09-14: WebGL renderer (WIP):

    The sim on PTR is broken now. When it starts the controller isn't claimed, the "choose location" prompt for the first spawn isn't active, and even if you claim the controller and place a spawn the pause button is grayed out.

    Fixed.

    @unfleshedone said in PTR Changelog 2017-09-14: WebGL renderer (WIP):

    Works great on the same machine in Opera 47.0.2631.80 (PGO).

    BTW, Chrome is broken the same way even when I go back to main server now (with more hard reloads).

    Any console errors?



  • @artch no console errors, but game-field-container element has width of 0 (and what looks like full window height).

    < div class="game-field-container" ng:class="{'pan-active': Room.panActive}" >

    Also works fine on the same machine in Vivaldi 1.10.867.38 (Stable channel) (32-bit).

    I have Screeps-SC extension in broken browser (https://github.com/stybbe/Screeps-SC), but disabling it doesn't change anything.



  • This post is deleted!

  • YP

    @fedor I have tried now again and don't see the problem anymore ... in the meantime chrome updated itself to 61 so I don't know if it's related.

    Since you are not looking about specific bug reports about details I'm not adding any .. just let us now if you want to have something specific tested .)


  • Culture

    I'm seeing an error in the sim where the creeps are jerking around a bit -

    https://i.imgur.com/ioEU2Ai.gif

    This is on Chrome (completely up to date).



  • Is there anything preventing the unfinished (optional) renderer from going live other than being in an incomplete state? The "experimental" label next to the checkbox ☑ is self evident of incompleteness, and should reduce unnecessary feedback.

    The only reason I care is because the performance is SO GOOD 🏎 even in its incomplete state compared to the existing technique. Toggling back and forth between both rendering methods seems to have no impact.

    I have seen the jerky creep behaviour on PTR that @tedivm showed only when bringing that tab back to focus, however it returns to a stable state in less than 2 seconds, often before the next actual tick. (Chrome Version 61.0.3163.91 (Official Build) (64-bit) )

    Is the new renderer entirely client side, or is there a server impact that prevents releasing it?? 🐸 😀


  • Dev Team

    @mashee We're not going to delay this feature for too long. Once we have all major basic features implemented (listed in the first post here), it will be deployed to production. We expect it to happen within two weeks.