Hi,
This is a very technical update, but I’ve managed to squeeze in a bit of goodies too.
Weather selection is now available in the level editor (Clear Sky, Cloudy, Sunset, Desert).
Object grouping in the level editor is now supported via “Container Object.”
Support for Instanced Objects has been added (currently for sandbag asset and bushes).
A new, much cleaner JSON format to power all of the above.
Placement rotation randomization for more natural look of some assets.
A couple of new assets added - I’m saving most for the next update.
Like button added to Simulation browser.
Fixed that annoying crash during landscape modification (!)
My goal is to be able to produce levels of same quality as in the story mode using only in-game level editor, and this goal is much closer.
Very nerdy details and why this update is so important below.
Weather Selection
For your scenarios you can now choose weather - "skylight state" and fog level.
Sky Light state affects how atmosphere behaves - cloudy weather will dissolve shadows, while "sunset" will create some stylish vibes. Fog will add a touch of mystery.
Play with time of day for the additional dramatic effect.
(For example try foggy 5 AM with crispy Desert atmosphere - mmm).
Weather is not linked to AI systems yet, but this time will come too, rather sooner than later.
Object grouping
Organizing your level assets is important - it simplifies level editing a lot.
Instead of previously existing predefined groups, now you can distribute your objects into your own groups using "Containers" menu.
Just name your container and all newly placed objects will end up in the named container.
Objects store their locations relatively to the root of the container, so moving or sharing group of assets will be much easier (TBD).
You can organize your levels per area of the map, and, for example, have Scripting in the separate group, or even in multiple groups for complex scenarios.
New JSON format
(Backward compatibility preserved).
Previous JSON format had imperfections. New format is using pure JSONs without any additional symbols and "shielding".
It looks clean, it is easier to maintain + external systems can understand it better too and even generate you something thoughtful.
Instanced Object support
Instanced object are cool. They allow you to render thousands of similar objects using just a few drawcalls. That means you can go crazy and flood your levels with such objects without major performance limitations.
For now instanced functionality activated only for "sandabag" and bushes, but this is just the beginning. More assets to come.
Think about debris / garbage generation, foliage an so on.
Again, conveniently saved with the new JSON format.
Each container will have their own group of instanced objects inside.
Minor downside to be aware - Physics overlap (e.g. Erase or explosion) for instance objects is not 100% precise, but it works good enough.
Placement Randomization
Allows a slight XY axis angle randomization to provide a more natural look of fences and lampposts.
Placement menu was reworked and moved a bit to give more space for future improvements, and to explain concepts like "Step Lock"
Overall help in the level editor was improved with tooltip.
(I promise you to record some tutorials to show how it all works, I am just not a YouTube person and it is a bit harder for me, so it takes more time).
New Assets (a little bit)
Not much this time - just a couple of containers (pun intended), and mentioned above instanced sandbag and bush.
Like button in the simulation browser
Don't miss Like button in Workshop. It makes a bit easier to rate other people's levels.
And remember:
I am giving away keys from the full game to mapmakers!
If you can't buy this game, just make and upload a couple of maps to the Demo. I check and play them from time to time.
If I see that people like your levels, and that your levels are promising - I will reach you on Steam and will give you the key from the full game, which you can either use for yourself or make a gift to someone.
Latest key gift was sent to echoactually for making Operation OxyClean.
Drop him some likes :)
And last, but not least...
Annoying landscape crash is finally fixed!
issue was caused by foliage removal operation combined with sculpting operation.
Now I am using a safer pipeline, which clears the area from foliage and then automatically recalculates the foliage after the sculpting operation is finished.
That means drilling holes in landscape is much safer now, so I added -20.f Dirt brush so you can emulate dirty roads.
I want to add more to functionality to Brush UX, but as you can see this update is massive already.
Have to wrap it up somewhere.
If you reached that far - Thank you for your interest and for the support you give!
Game is gradually moving forward and with that update there is no more technical debt left in the level editor. That means I finally can focus on adding new assets and writing new features.
Wishing everyone in the Northern Hemisphere a great summer!
(and a gentle winter to those in the Southern!)
Stay safe!
Always yours,
Demetri
Changed files in this update