Added ability to pop out editor windows and keep in fullscreen.
Added new upgraded translation system.
Added basic visuals for selection and terrain brush tools.
Added new undo/redo system to the devkit.
Accepted 9 new curated workshop items.
Improvements:
Improved editor to save default window layout and menu for saving/loading.
Improved debug lines intersecting objects to darken and checkerboard.
Tweaks:
Tweaked command line to forward terminal commands.
Tweaked Steam messages to print in Steam terminal category.
Tweaked terminal messages to be included in .log files.
Fixes:
Fixed to render editor handles after image effects.
Fixed binding terminal to mouse buttons.
Fixed valid caliber range.
Fixed ambiguous Gold error message.
Fixed resetting rain after joining arena server.
Fixed viewport rendertexture scaling.
BattlEye Anti-Cheat:
Another week and we're up to ~7,400 confirmed cheaters banned!
Radio:
Right now the Walkie Talkie broadcasts on all frequencies, but in the future selecting a specific frequency and listening for radio through car stereo or placeable radio are on the roadmap.
Devkit:
I made quite a bit more progress on the editor revamp this week in a lot of different areas, the most visibly different being that you can load up a level with the new editor now and check out the terrain/selection tool visuals (press R to resize brush for now - much nicer than UI slider) and the movement is better suited for big maps (scroll wheel to change speed) as well as features like panning.
My goals for next week are to work on cleaning up these features, adding the new input system (mainly for controller support) and starting to make the editor functional with the asset editor, saving/loading and some basic level editing.
There were a lot of frustrated comments last week concerning this new focus on improvements, and while some of these improvements aren't as much fun to work on as for example new content I really do believe it's the right thing to do to make the game so much better for the future. As you saw with the Hawaii teaser on Tuesday, even with me focused on features (which will benefit the Hawaii map too in this case) there's still awesome content on the way!
Translations:
I've written a replacement for the localization system which is now in place for the new editor, and will be phased in over time. It solves the main issues with the old system:
Can be changed at runtime i.e. menu option to swap languages. (Right now "language" terminal command)
Defaults to Steam language, falls back to English, saves the most recently used non-English setting to Steam cloud.
Assets will no longer have individual translation files, rather one main file per-language per-project. For example in the future all gun names could be easily translated.
File format is structured and much nicer, should be straightforward to add a translation editor in the future.
Tokens are versioned so that translators can be alerted when a string has been updated.
Server knows the language of all players so that serverside messages can be translated for each client.
Client loads English and selected language, server loads all languages.
Added ability to pop out editor windows and keep in fullscreen.
Added new upgraded translation system.
Added basic visuals for selection and terrain brush tools.
Added new undo/redo system to the devkit.
Accepted 9 new curated workshop items.
Improvements:
Improved editor to save default window layout and menu for saving/loading.
Improved debug lines intersecting objects to darken and checkerboard.
Tweaks:
Tweaked command line to forward terminal commands.
Tweaked Steam messages to print in Steam terminal category.
Tweaked terminal messages to be included in .log files.
Fixes:
Fixed to render editor handles after image effects.
Fixed binding terminal to mouse buttons.
Fixed valid caliber range.
Fixed ambiguous Gold error message.
Fixed resetting rain after joining arena server.
Fixed viewport rendertexture scaling.
BattlEye Anti-Cheat:
Another week and we're up to ~7,400 confirmed cheaters banned!
Radio:
Right now the Walkie Talkie broadcasts on all frequencies, but in the future selecting a specific frequency and listening for radio through car stereo or placeable radio are on the roadmap.
Devkit:
I made quite a bit more progress on the editor revamp this week in a lot of different areas, the most visibly different being that you can load up a level with the new editor now and check out the terrain/selection tool visuals (press R to resize brush for now - much nicer than UI slider) and the movement is better suited for big maps (scroll wheel to change speed) as well as features like panning.
My goals for next week are to work on cleaning up these features, adding the new input system (mainly for controller support) and starting to make the editor functional with the asset editor, saving/loading and some basic level editing.
There were a lot of frustrated comments last week concerning this new focus on improvements, and while some of these improvements aren't as much fun to work on as for example new content I really do believe it's the right thing to do to make the game so much better for the future. As you saw with the Hawaii teaser on Tuesday, even with me focused on features (which will benefit the Hawaii map too in this case) there's still awesome content on the way!
Translations:
I've written a replacement for the localization system which is now in place for the new editor, and will be phased in over time. It solves the main issues with the old system:
Can be changed at runtime i.e. menu option to swap languages. (Right now "language" terminal command)
Defaults to Steam language, falls back to English, saves the most recently used non-English setting to Steam cloud.
Assets will no longer have individual translation files, rather one main file per-language per-project. For example in the future all gun names could be easily translated.
File format is structured and much nicer, should be straightforward to add a translation editor in the future.
Tokens are versioned so that translators can be alerted when a string has been updated.
Server knows the language of all players so that serverside messages can be translated for each client.
Client loads English and selected language, server loads all languages.
Today I was checking my inbox when I came across this postcard from the community modding team who helped work on the Russia map!
We're trying something a bit different this time - everything in Hawaii so far has been made by Rain, Spyjack, Mooki2much and Gamez2Much. I'll be involved for the last stretch making sure everything fits the artstyle, but other than that the project is being led by G2M! The plan is for the map to come out once they feel it's ready for community playtesting, and they'll be able to release updates/refinements based on feedback.
Their team has put together some screenshots and teasers of what they're working on, so if you're okay with a few slight spoilers you can read them here:
If you're working on a similar community project and would like to find more information about getting it considered for an official update check out the guide here:
Today I was checking my inbox when I came across this postcard from the community modding team who helped work on the Russia map!
We're trying something a bit different this time - everything in Hawaii so far has been made by Rain, Spyjack, Mooki2much and Gamez2Much. I'll be involved for the last stretch making sure everything fits the artstyle, but other than that the project is being led by G2M! The plan is for the map to come out once they feel it's ready for community playtesting, and they'll be able to release updates/refinements based on feedback.
Their team has put together some screenshots and teasers of what they're working on, so if you're okay with a few slight spoilers you can read them here:
If you're working on a similar community project and would like to find more information about getting it considered for an official update check out the guide here:
One week in and BattlEye has permanently banned approximately ~3,700 confirmed cheaters! BattlEye's been hard at work on improved custom detection features for Unturned and there's been a lot of progress on flat out blocking most current cheats. You can check if a cheater you suspected is BattlEye banned by the "Game Ban" visible on their Steam profile. Also note that if you skipped the BattlEye install step you can still run Install_BattlEye.bat in your Unturned/BattlEye folder to set it up!
Roadmap:
You might have noticed the last couple updates have been more focused on improvements than new content, and that's the direction I'd like to really go in for the next bit: upgrading/rewriting existing features, better graphics, expanding gameplay depth and as an indirect result improving performance.
The first thing I think needs an overhaul is the editor: if you've played 3.0 for a while you know it's essentially the same as 2 years ago when it first launched. The goal is to make it extensible, streamline mod creation, give creators more control and add new tools to open up to higher quality future content - for example the next official map I create.
I do realize the editor changes aren't going to be particularly interesting for anyone who doesn't use it, so going forward I'll add some fun new content with each editor update as well. Not to mention that the next community update map is coming along well, more info on that very soon.
From the editor upgrade I'd then like to start on revamping gameplay features e.g. repairing individual parts of vehicles like shot out tires, making item color a property of the item so that you can dye clothes or paint your bases, adding electrical wiring and power consumption, etc. There's a huge variety of updates to-do here, for the full list check out the Trello page:
Admittedly this is a boring update, as mentioned above in the future I'm going to try and better balance fun/new content with important improvements. If you press the terminal key you can see some of the editor features I started like window docking, partitioning, tabs, context menus, etc although a lot of what I worked on this week isn't visible yet. The inspector might already be slightly useful - you can double-click an asset file in the asset browser to view all of its properties/fields.
Additions:
Added basics of new editor internals and windows.
Improvements:
Improved resolving circular module dependencies.
Tweaks:
Tweaked assets to generate GUID when loaded.
Fixes:
Fixed sending icon/news web requests in offline client.
Fixed [hopefully] loading BattlEye libraries on Linux.
Fixed scope draw distance and arena border depth.
Fixed backwards BattlEye IP/port information.
Fixed clientside BattlEye restart messages.
Fixed a few reflection issues when loading modules.
Fixed loading some server filter settings.
Fixed missing bullet/damage ray aggressor distance label.
Asset GUIDs:
Right now with many mods installed you've probably run into ID conflicts. This instead will automatically assign a unique ID when your asset is loaded to prevent that, but it requires re-uploading your mods to the workshop so that there is a centralized agreed-upon ID. Multiplayer is setup to build a GUID <-> UInt16 table after connecting, however it will be a while before each system uses GUIDs instead of the current IDs.
One week in and BattlEye has permanently banned approximately ~3,700 confirmed cheaters! BattlEye's been hard at work on improved custom detection features for Unturned and there's been a lot of progress on flat out blocking most current cheats. You can check if a cheater you suspected is BattlEye banned by the "Game Ban" visible on their Steam profile. Also note that if you skipped the BattlEye install step you can still run Install_BattlEye.bat in your Unturned/BattlEye folder to set it up!
Roadmap:
You might have noticed the last couple updates have been more focused on improvements than new content, and that's the direction I'd like to really go in for the next bit: upgrading/rewriting existing features, better graphics, expanding gameplay depth and as an indirect result improving performance.
The first thing I think needs an overhaul is the editor: if you've played 3.0 for a while you know it's essentially the same as 2 years ago when it first launched. The goal is to make it extensible, streamline mod creation, give creators more control and add new tools to open up to higher quality future content - for example the next official map I create.
I do realize the editor changes aren't going to be particularly interesting for anyone who doesn't use it, so going forward I'll add some fun new content with each editor update as well. Not to mention that the next community update map is coming along well, more info on that very soon.
From the editor upgrade I'd then like to start on revamping gameplay features e.g. repairing individual parts of vehicles like shot out tires, making item color a property of the item so that you can dye clothes or paint your bases, adding electrical wiring and power consumption, etc. There's a huge variety of updates to-do here, for the full list check out the Trello page:
Admittedly this is a boring update, as mentioned above in the future I'm going to try and better balance fun/new content with important improvements. If you press the terminal key you can see some of the editor features I started like window docking, partitioning, tabs, context menus, etc although a lot of what I worked on this week isn't visible yet. The inspector might already be slightly useful - you can double-click an asset file in the asset browser to view all of its properties/fields.
Additions:
Added basics of new editor internals and windows.
Improvements:
Improved resolving circular module dependencies.
Tweaks:
Tweaked assets to generate GUID when loaded.
Fixes:
Fixed sending icon/news web requests in offline client.
Fixed [hopefully] loading BattlEye libraries on Linux.
Fixed scope draw distance and arena border depth.
Fixed backwards BattlEye IP/port information.
Fixed clientside BattlEye restart messages.
Fixed a few reflection issues when loading modules.
Fixed loading some server filter settings.
Fixed missing bullet/damage ray aggressor distance label.
Asset GUIDs:
Right now with many mods installed you've probably run into ID conflicts. This instead will automatically assign a unique ID when your asset is loaded to prevent that, but it requires re-uploading your mods to the workshop so that there is a centralized agreed-upon ID. Multiplayer is setup to build a GUID <-> UInt16 table after connecting, however it will be a while before each system uses GUIDs instead of the current IDs.
Bastian [the founder of BattlEye] and I have been back and forth about integrating it for absolutely ages, and today I'm very happy to say BattlEye starts a trial run in Unturned! Because of how Unturned cheats work it should be able to completely block them, meaning all servers running BattlEye should become almost cheater free!
The trial run will last a month where we'll be making sure it's effective, fixing any issues related to it and getting an idea of the average traffic to BattlEye's backend servers. Note that pricing is dependant on player population, so fair warning: it might become a Gold Server only feature.
Most of my time this week went into debugging Unturned BattlEye [First Unity/C# game using it!] so there's not much new content, but as a result I'm relatively confident it's stable.
Serverside modules/plugins [e.g. RocketMod] should be compatible, but if you want you can disable BattlEye on your server by setting BattlEye_Secure to false in Config.json. Clientside modules, however, require that you select the alternative launch option in Steam "Play without BattlEye" because clientside modules can be used as cheats.
Note: You might need to restart Steam to get the new launch options!
If you accidentally cancel the BattlEye installation or want to uninstall/reinstall it you can run Install_BattlEye.bat or Uninstall_BattlEye.bat in the Unturned/BattlEye folder.
Update Notes:
Additions:
Added BattlEye Anti-Cheat.
Added new input/output/command window. [Default Tilde]
Added option for player to displace grass, useful when sniping prone.
Added toggle to Modules menu to initialize/shutdown code and disable loading.
Tweaks:
Tweaked +secure/+insecure startup to instead use +internetserver, moved VAC toggle to Config.json server section beside BattlEye toggle.
Tweaked Log command to take 4th argument to display BattlEye info.
Fixes:
Fixed Nightvision Scope to have separate skybox reflections.
Fixed parking lot lines visible through apartment floor in Moscow.
Fixed fog on forward rendering heightblend terrain add pass.
Fixed selection outlines not showing up in forward mode.
Fixed Masterkey skins applying to Hawkhound in-game.
Fixed inspecting Blowtorch/Chainsaw while using.
Fixed respawning on obstructed bedrolls.
Fixed sun/moon/stars intersecting terrain.
Fixed unnecessary windy foliage keyword.
Fixed Mad Scientist Top missing front of gloves.
Terminal:
To start experimenting with the Unity 5 UI system [which I want to use for the editor upgrade] I added a terminal window which can be opened by pressing Tilde [~]. Let me know what you think of this graphics style! Right now the only thing it's really useful for is requesting serverside BattlEye logs with sv.request_battleye_logs, but in the future I want to move all commands/input/output into it. For example, "give eagle" would do this nice popup filtering item names that start with "eagle".
Bastian [the founder of BattlEye] and I have been back and forth about integrating it for absolutely ages, and today I'm very happy to say BattlEye starts a trial run in Unturned! Because of how Unturned cheats work it should be able to completely block them, meaning all servers running BattlEye should become almost cheater free!
The trial run will last a month where we'll be making sure it's effective, fixing any issues related to it and getting an idea of the average traffic to BattlEye's backend servers. Note that pricing is dependant on player population, so fair warning: it might become a Gold Server only feature.
Most of my time this week went into debugging Unturned BattlEye [First Unity/C# game using it!] so there's not much new content, but as a result I'm relatively confident it's stable.
Serverside modules/plugins [e.g. RocketMod] should be compatible, but if you want you can disable BattlEye on your server by setting BattlEye_Secure to false in Config.json. Clientside modules, however, require that you select the alternative launch option in Steam "Play without BattlEye" because clientside modules can be used as cheats.
Note: You might need to restart Steam to get the new launch options!
If you accidentally cancel the BattlEye installation or want to uninstall/reinstall it you can run Install_BattlEye.bat or Uninstall_BattlEye.bat in the Unturned/BattlEye folder.
Update Notes:
Additions:
Added BattlEye Anti-Cheat.
Added new input/output/command window. [Default Tilde]
Added option for player to displace grass, useful when sniping prone.
Added toggle to Modules menu to initialize/shutdown code and disable loading.
Tweaks:
Tweaked +secure/+insecure startup to instead use +internetserver, moved VAC toggle to Config.json server section beside BattlEye toggle.
Tweaked Log command to take 4th argument to display BattlEye info.
Fixes:
Fixed Nightvision Scope to have separate skybox reflections.
Fixed parking lot lines visible through apartment floor in Moscow.
Fixed fog on forward rendering heightblend terrain add pass.
Fixed selection outlines not showing up in forward mode.
Fixed Masterkey skins applying to Hawkhound in-game.
Fixed inspecting Blowtorch/Chainsaw while using.
Fixed respawning on obstructed bedrolls.
Fixed sun/moon/stars intersecting terrain.
Fixed unnecessary windy foliage keyword.
Fixed Mad Scientist Top missing front of gloves.
Terminal:
To start experimenting with the Unity 5 UI system [which I want to use for the editor upgrade] I added a terminal window which can be opened by pressing Tilde [~]. Let me know what you think of this graphics style! Right now the only thing it's really useful for is requesting serverside BattlEye logs with sv.request_battleye_logs, but in the future I want to move all commands/input/output into it. For example, "give eagle" would do this nice popup filtering item names that start with "eagle".
Aside from fixes this patch also adds an option to enable/disable Skybox Reflections, unfortunately this is lower performance compared to the previous method, but that didn't work outside the editor.
With these updates changing so many core features I think we'll start using the preview branch again soon to avoid breaking the public version.
Update Notes:
Additions:
Added nifty new inventions available from Doc Ernie.
Added settings for chromatic aberration, film grain, TAA and screenspace reflections.
Added settings to disable anisotropic filtering.
Added Coalition rank and quest achievements.
Added config option for Ray_Aggressor_Distance, now default 8 rather than 4.
Added skins for Hawkhound, Schofield and Masterkey.
Added first step of Modules feature.
Improvements:
Improved rain to form puddles and ripple on the ground.
Improved postprocessing to use new official Unity shaders.
Improved explosions to leave scorch marks in deferred render mode.
Updated to Unity 5.4.2p3 from 5.4.0p4.
Tweaks:
Tweaked unboxing to show warning if unknown item is opened.
Tweaked aircraft carrier to have a basic navmesh.
Fixes:
Fixed buildables to better fit incorrectly placed slots.
Fixed Hawkhound_8, Sportshot_10 and Viper_25 to be skinable.
Fixed bayonet working clientside while reloading.
Fixed mk2 scope off quality.
Modules:
This week I've started taking the first steps toward a modding API for Unturned! It's going to take a while to refactor, clean up and document everything, but when it's done there'll be the potential for all kinds of awesome mods that would've been impossible before.
In the meantime the biggest change is in relation to RocketMod. Sven, the creator of RocketMod, has been doing an amazing job opening Unturned's serverside up to plugins the past couple years with a wrapper that takes care of all the nitty-gritty, and this week we converted Rocket to use this Modules feature - although this week is a transition period so the main version will still use a patched assembly. This is great if you're a server owner using Rocket because installing is as simple as copying Rocket to the Modules folder, you can still play the game normally with Rocket installed and if nothing breaks you won't necessarily need to download the new version of Rocket after each update.
Graphics:
There are quite a few new graphics options in this update, so I thought it might be helpful to write out exactly what they do so you can make an informed decision on whether to turn them on/off:
Chromatic Aberration: Slightly separates the RGB color channels near the edges of your screen, it doesn't have much of a performance impact and is more of a personal preference.
Film Grain: Can help with color banding (for example when you see rings around a light), barely noticeable and doesn't have a big performance impact.
Blast Marks: In deferred render mode a black spherical decal will be left after an explosion which has a small performance impact.
Rain Puddles: Spawns splashes of water particles at rain impact points and fades in reflective puddles with ripples. This has a medium performance impact.
Anisotropic Filtering: Reduces texture blur at oblique angles, probably fine to leave on, it's moreso an option for the sake of extra control.
Reflection Quality: Increases the number and accuracy of screenspace reflection steps, but only works in deferred render mode and has a high performance impact.
Skybox Reflection: Captures skybox cubemap so that reflections aren't black, has a medium performance impact.
Reflections:
If you've created custom models for the game you might have noticed reflective materials showed up black, now at the very least the skybox is captured when the lighting is updated. If reflection quality isn't off then screenspace reflections will be visible as well. I've experimented with a variety of reflection settings for the official models but haven't decided yet (Should cars be polished shiny, how does that line up with the apocalyptic environment?), but you can now properly use it too!
Aside from fixes this patch also adds an option to enable/disable Skybox Reflections, unfortunately this is lower performance compared to the previous method, but that didn't work outside the editor.
With these updates changing so many core features I think we'll start using the preview branch again soon to avoid breaking the public version.
Update Notes:
Additions:
Added nifty new inventions available from Doc Ernie.
Added settings for chromatic aberration, film grain, TAA and screenspace reflections.
Added settings to disable anisotropic filtering.
Added Coalition rank and quest achievements.
Added config option for Ray_Aggressor_Distance, now default 8 rather than 4.
Added skins for Hawkhound, Schofield and Masterkey.
Added first step of Modules feature.
Improvements:
Improved rain to form puddles and ripple on the ground.
Improved postprocessing to use new official Unity shaders.
Improved explosions to leave scorch marks in deferred render mode.
Updated to Unity 5.4.2p3 from 5.4.0p4.
Tweaks:
Tweaked unboxing to show warning if unknown item is opened.
Tweaked aircraft carrier to have a basic navmesh.
Fixes:
Fixed buildables to better fit incorrectly placed slots.
Fixed Hawkhound_8, Sportshot_10 and Viper_25 to be skinable.
Fixed bayonet working clientside while reloading.
Fixed mk2 scope off quality.
Modules:
This week I've started taking the first steps toward a modding API for Unturned! It's going to take a while to refactor, clean up and document everything, but when it's done there'll be the potential for all kinds of awesome mods that would've been impossible before.
In the meantime the biggest change is in relation to RocketMod. Sven, the creator of RocketMod, has been doing an amazing job opening Unturned's serverside up to plugins the past couple years with a wrapper that takes care of all the nitty-gritty, and this week we converted Rocket to use this Modules feature - although this week is a transition period so the main version will still use a patched assembly. This is great if you're a server owner using Rocket because installing is as simple as copying Rocket to the Modules folder, you can still play the game normally with Rocket installed and if nothing breaks you won't necessarily need to download the new version of Rocket after each update.
Graphics:
There are quite a few new graphics options in this update, so I thought it might be helpful to write out exactly what they do so you can make an informed decision on whether to turn them on/off:
Chromatic Aberration: Slightly separates the RGB color channels near the edges of your screen, it doesn't have much of a performance impact and is more of a personal preference.
Film Grain: Can help with color banding (for example when you see rings around a light), barely noticeable and doesn't have a big performance impact.
Blast Marks: In deferred render mode a black spherical decal will be left after an explosion which has a small performance impact.
Rain Puddles: Spawns splashes of water particles at rain impact points and fades in reflective puddles with ripples. This has a medium performance impact.
Anisotropic Filtering: Reduces texture blur at oblique angles, probably fine to leave on, it's moreso an option for the sake of extra control.
Reflection Quality: Increases the number and accuracy of screenspace reflection steps, but only works in deferred render mode and has a high performance impact.
Skybox Reflection: Captures skybox cubemap so that reflections aren't black, has a medium performance impact.
Reflections:
If you've created custom models for the game you might have noticed reflective materials showed up black, now at the very least the skybox is captured when the lighting is updated. If reflection quality isn't off then screenspace reflections will be visible as well. I've experimented with a variety of reflection settings for the official models but haven't decided yet (Should cars be polished shiny, how does that line up with the apocalyptic environment?), but you can now properly use it too!