Dec 21, 2018
Paint the Town Red - Eternic
Patch Info

Build 0.8.5 is now available. This build was focused on rewriting much of the multiplayer code to greatly reduce bandwidth and packet counts to improve reliability, and on reworking enemy movement synchronisation to greatly improve the gameplay experience for client players.

If you have previously tried the multiplayer and had issues, please try again now and see if there is an improvement for you. The quality of the experience will still depend on your ping to the host and the quality of the hosts internet connection and PC, but the requirements are much lower than before.

In addition to these multiplayer fixes and improvements there are a number of improvements and fixes. Some cosmetic improvements like how weapons break and impact enemies and how the camera snaps when you're hit improve the feeling of combat. Other changes improve loading times like there being less time to load into the main menu or the caching of pathfinding data for Workshop levels after their first load. There are also some subtle gameplay improvements like how enemies won't change targets and turn to hit you if you attack one while they're mid-swing.

These list below doesn't cover all the changes in this build as there have been many minor things changed during development of Beneath that have not been captured.



Version 0.8.5
  • Multiplayer: Improved overall networking performance, bandwidth usage and feel for clients
  • Multiplayer: Static weapons now have collision for clients in Workshop levels
  • Multiplayer: Added a death pose for players
  • Multiplayer: Removed forced start timer in lobby
  • Multiplayer: Fixed LOD not updating for enemies correctly for clients
  • Multiplayer: Fixed packet order issue with initial player relation for enemies
  • Multiplayer: Fixed issue with added Bouncers in Disco
  • Multiplayer: Fixed enemies looking at player on clients when in pre-combat animations where they shouldn't
  • Multiplayer: Fixed Logic Zones not triggering props and lights on client
  • Multiplayer: Fixed Arena errors when ending a wave with a player dead
  • Level Editor: Fixed default values not working on some props (e.g. Logic Timers)
  • Workshop levels will now cache pathfinding data after the first load so subsequent reloads of the level will be faster
  • Enemies no longer change direction to hit you mid-swing if you attack them while they're attacking someone else
  • Increased distance enemies will stand from targets when attacking
  • Level loading process changed to be faster
  • Post processing effects now work in a layered system allowing for effects to better blend
  • Reduced texture and audio memory usage
  • Increased player camera snap on hits (we'll provide an intensity option in a later build)
  • Menu loads in background now during splash screen
  • Changed shader on Arena cloth to add subsurface scattering
  • Made Arena Challenge 3 selectable from in-game level select menu
  • Made 'Hard Hitter' modifier always KO enemies
  • Added a Speedrun.dll to allow programs like LiveSplit to easily read relevant data from a DLL memory offset (we'll provide more explicit details on variables and memory offset addresses soon)
  • Fixed Workshop levels capturing characters in reflection cubemaps
  • Fixed enemies standing up when killed if they were in an animation like the fetal position
  • Fixed enemies snapping to standing pose from pre-combat animation on knockdown
  • Fixed animation bug with dancing characters in Workshop levels
  • Fixed bug with initial player not getting set to correct position for Arena waves
  • Fixed bug with enemies on Arena waves from 2 on not playing walking animation on entrance
  • Fixed bug where some menu button actions could run multiple times
  • Fixed rare bug preventing Arena wave transition
  • Fixed stairs on Disco being difficult to walk up
  • Fixed a bug locking UI options after backing out of selecting a player created level in the Multiplayer menu
  • Fixed Esc key not closing player created level list in Multiplayer menu properly
  • Fixed faucets and taps going crazy after getting knocked off
  • Fixed bug causing some Modifiers to not be selectable
  • Fixed bug preventing all weapons from being removed with No Weapons modifier
  • Fixed katana and dagger being held backwards by enemies
  • Fixed some clipping issues in Pirate Cove building
  • Fixed Sandbox UI having the go to exit message

If you encounter any significant new issues please let us know on the community Discord server and we'll try and get them fixed as soon as possible.
Paint the Town Red - Eternic
We're currently working on an update that will be released in mid December that is focused on significantly improving the multiplayer performance and client experience, fixing major bugs and many other quality of life improvements. We'll detail some of the changes to expect below.

Composer

In very exciting news we have brought on a fantastic addition to the team: Jeff van Dyck. Jeff is a two-time BAFTA award winning Composer and Audio Director that we had the pleasure of working with around 10 years ago at Creative Assembly and will now be working with on the creation of music for Paint the Town Red. Jeff has been creating music and sounds for games since the original Need for Speed and FIFA titles and is well known for the audio direction and award winning soundtracks of the Total War game series.

At a minimum we were planning on having original music for Beneath, but now we'll be working with Jeff to create a complete soundtrack for Paint the Town Red including replacing much or all of the existing Scenario and Arena music with new original tracks. All existing music will still be available in the game for use in Workshop levels however.

We've been big fans of Jeff for a very long time and have no doubt his music will elevate not only Beneath, but Paint the Town Red as a whole. In addition to composing original music for the game, Jeff will also be assisting on sound effects going forward.

Beneath

After some recent design improvements we have made based on our play-testing and with not having brought on a composer earlier in the process, we have a few factors affecting the release of Beneath.

We're currently adding new environmental weapons to bring the flow of combat more in line with the Scenarios and we're adjusting level length and enemy variety to get the urgency and difficulty of the game feeling right.

It will all be wrapped up early in 2019, but we might make the first areas of Beneath, including the first Boss, available earlier in a separate beta build for testing and feedback sooner. Keep an eye on the Paint the Town Red Discord server over the coming weeks for any information on that.

December Update Features

For this update we've brought forward some of the improvements and polish work we planned on doing early next year. We'll have a full changelist when the build is released, but below are some of the main changes we've already completed or are working on currently.

Multiplayer Packet and Backwidth Reduction

Depending on the hardware and bandwidth limitations of the host and client players, currently there can be issues with the number of packets being sent and received causing increasingly large de-syncs between players. We've reduced the number of packets being sent on average by a factor of 10. This should eliminate this as an issue.

The up and down steam bandwidth was already quite low, but due to the reduction in packets there are fewer bytes wasted on packet headers which reduces the bandwidth being transferred by around 5x.

This change will improve the consistency and reliability of the online multiplayer experience.

Improvements to Client Multiplayer Feel

The primary issue currently when playing the coop multiplayer as a client (i.e. a player that joins a Host's multiplayer game) is that the overall game experience does not feel close enough to playing singleplayer or as the game host. There are a number of causes for this and it usually relates to a delay in feedback on your interactions with enemies. We're shifting more authoritative control over elements of the game to the client when it makes sense to and will favour game feel over exact synchronisation of non-gameplay critical elements like effects and ragdolls.

This is also an important prerequisite step for the Beneath multiplayer.

Caching of Pathfinding Data for Workshop Levels

There are some truly massive levels that have been created using the Level Editor and with great size comes great load times.

By far the biggest contributor to load times on large levels is the generation of the navmesh for pathfinding. In this update when you load a Workshop level for the first time it will generate a navmesh cache file. This will then be used on subsequent loads instead of calculating the navmesh again.

On some of the largest levels the navmesh generation could take over 30 seconds and when loading these with the cache file, the navmesh generation should now take under 1/10th of a second.

We're also exploring the viability of creating and including the cache file when Workshop levels are uploaded so when you download a new level the first load will be just as fast as the following ones.

Speedrunning Support

We've put some time into developing the best way to support the Speedrunning community going forward. There is already a small speedrunning community for the game as it is now, but we believe with the release of Beneath and updates to the Challenge mode of the Scenarios, there will be a lot more opportunities for great speedruns.

To best support this community we now write out a ton of data useful for speedrunning into a separate DLL. This gives the data a consistent memory location as offsets from the DLL's loaded address. With tools like LiveSplit you will now easily be able to have an Auto Splitter that can do things like pause the timer during loads, immediately split on various conditions, etc. With how we're writing the data, the memory addresses should not need to be changed when Paint the Town Red updates.

We'll provide an example LiveSplit Auto Splitter file and information on the variables and memory addresses with this release and as we add to it in the future.


There are many more changes coming in this build and similar quality of life improvements will come to subsequent builds as we work to improve all unfinished elements of the game for release.
Paint the Town Red - Eternic
As we approach the completion of the Beneath mode it's getting harder to find things we want to show and talk about. Maintaining mystery so you can discover how to progress through the game while playing it is very important. Unfortunately since the time spent developing it has been very (very) long, it has meant we haven't been providing a lot of updates on progress and information about it. In this post we'll cover some of the elements of Beneath you'll encounter quite often, give some information on the back story and setting of Beneath and talk about our plans for release.



Challenge Rooms

As you make your way through earlier areas of Beneath, you'll sometimes come across gated rooms that will seal you in once you enter them. They will not release you until you either succeed or fail the task they set out. If you complete a room you'll gain a significant amount of Gold, Energy and a selection of some of the more powerful weapons, but you'll risk taking damage or dying.

There are a few different types of Challenge Rooms, such as the one that requires you to kill all the enemies in the room without taking any damage.



Shard Lords

For the most part the story of Beneath and of Paint the Town Red overall will be told implicitly through environmental details. When you start playing Beneath it is many years since the conflict you're in began. Your goal is to defeat the Elder Gods that rule the dimensions beneath the surface. A lesser one of these gods that came to the surface has already been killed before you begin. The heart an Elder God shatters into powerful shards when they are killed.



The humans use a shard to mutate the soldiers that get sent Beneath to give them powers. These are the characters you will play as and each 'run' you will be able to choose from a a selection of classes each with different powers. There are also many monsters that found shards and used them to become powerful beings known as Shard Lords. Defeating these elite enemies will allow you to amass these Shards of a Fallen God to spend on permanent upgrades that will increase your ability to progress through Beneath. These upgrades are separate from the other permanent upgrades you'll acquire using the Energy gained by defeating regular enemies.



Shops

As we've talked about previously, with the exception of some later areas there will be a shop in each level. These shops will sell weapons in exchange for Gold. Sometimes they might also contain a special item. Some shops will also contain a creature selling permanent upgrades in exchange for Energy. These permanent upgrade shops will also be available in the transition zones between areas.

Shops are shielded so that monsters cannot enter, giving you a temporary reprieve. Don't spend too long browsing though, as that will give you less time to avoid the Pursuer.

Pursuer

Pursuers are immortal entities created to cleanse the world beneath of invaders from above. After the surface war humans sent large forces underground, a front-line that slowly progressed towards the nearest Elder God. The creation of the Pursuers stopped this effort as they sucked the life from all human forces. In the earlier levels of Beneath you'll see the remains of this assault. Now only a single human (or up to 4 in co-op) can remain undetected beneath for a short length of time.

If you spend too long in one level you'll be warned the Pursuer has arrived. They are not corporeal, will move through walls and cannot be killed. If one arrives it is time to find an exit, especially if you're one of the slower classes.

Road to Release

We have all features in and working for Beneath, just some have placeholder art and sound effects. All levels of the mode are complete, as well as all weapons, enemies, upgrades and powers. 2 of the 4 bosses in the game still need to be finished as well as various UI elements, sound effects and music. We're also working on tweaking balance and progression. Recognizing we're in Early Access, some of this doesn't need to be 100% complete for an initial release of the mode. Once Beneath is fully completable with no major missing elements we'll release it. Within a month after that update we should have added the co-op multiplayer and finished anything that was incomplete.

There are obviously many improvements still to make to other areas of the game, especially bug fixes and multiplayer and performance improvements, and these will be coming after Beneath is released. There will be more Arena challenges featuring enemies and weapons from Beneath and another main Scenario. That will take us to 1.0 at which point the game will leave Early Access. We will continue to add more to the game after 1.0 with more Scenarios and content for the Level Editor planned.

Thank you all very much for your patience in waiting for Beneath. We haven't been able to reduce the scope at all as that would have diminished the mode to where all the time and effort we've put into it would have been wasted, so it has taken a long time to get done. We'll post an update once we've finished enough of what's left to be able to give a firm release date for the update.
Jun 18, 2018
Paint the Town Red - Eternic
Patch Info

Update 0.8.4 is available now and adds support for Custom Music packs for use in Workshop levels as well as a lot of other improvements.

The Music Packs work very similarly to the Texture Packs and can be created from their own menu accessible in the Level Editor sub-menu options in the game's main menu. Packs can include up to 14 songs with a combined maximum size of 100MB and up to 4 packs you have subscribed to on the Workshop can be used in your levels. A new logic prop will allow you to change the music based on triggers in your levels.

A current limitation of the music files used in the packs is that they currently must be either .wav file or .ogg files. This is due to licensing and engine restrictions, but you can easily convert to .ogg files from .mp3 files or other using software like VLC or online converters. This is the site I used in testing to convert MP3 files to OGG files: https://www.onlineconverter.com/mp3-to-ogg

A full changelist is at the bottom of this post, but some of the new changes include:

Collision based damage to enemies
From minor damage...


... to major damage on extreme impacts


Shockwave affects props, bodies, etc



Sharp weapons can stick into the environment


... and some can pin enemies to walls


Bullets and liquid will create decals



Many of these new additions will continue to be improved upon in upcoming releases.

Due to the large number of changes in this update there may be some new bugs. Please let us know if you encounter any major new bugs on the Discord server or via email to contact@southeastgames.com.

Version 0.8.4
  • Custom Music Packs can now be setup and added to the Workshop
  • Knocked down/out enemies are now damaged when colliding with the environment
  • Bullets now move unused weapons they hit
  • Bullets now break some weapons like bottles
  • Weak unused weapons can break when hit
  • Bullets now leave impact decals in the environment
  • Spilled liquid now leaves decals in the environment
  • Added some slight variation to blood decal colour
  • Arterial spray will no longer occur when hitting dead bodies
  • Enemies voxels now show some burn damage
  • Shockwave now moves weapons and props
  • Shockwave now moves dead and unconscious bodies
  • Sharp thrown weapons can now stick into static environment geometry
  • Spears and similar weapons can now temporarily pin enemies to walls
  • Changed block position of guns to actually look like they're blocking
  • Improved thrown weapon torque
  • Weapons can now break when thrown or hit into objects depending on weapon type and impact
  • Level Editor: Custom Music Packs can be used
  • Level Editor: Added invisible paint
  • Level Editor: Logic Zones can be set to kill enemies
  • Level Editor: Logic Zones can be set to kill players
  • Level Editor: Added optional fall damage for the player
  • Level Editor: Added new triggerable Logic prop to change Music
  • Level Editor: Added level setting to disable fall/collision damage for enemies
  • Level Editor: Added ability to duplicate rooms
  • Level Editor: Enemies will prioritise targets at the same height as them in multi-story areas
  • Level Editor: Added checkbox on upload to approve your level for use on other platforms
  • Level Editor: Fixed enemies that fall outside play area being reset to invalid position
  • Level Editor: Fixed prop position property being incorrect after creation
  • Level Editor: Fixed platforms not being included in calculation of navmesh extents
  • Fixed enemies recovering from KO while in the air
  • Fixed bullets being destroyed before completing their full damage potential
  • Fixed cigar box cigars being tethered to box
  • Fixed enemies recovering from ragdoll upside-down

Paint the Town Red - Eternic
Permanent Upgrades

Since the last preview post we've been wrapping up work on the remaining elements of the first 3 areas of Beneath which make up the main branch that leads to the first boss and run end. This included setting up the interface for purchasing permanent upgrades and having those upgrades both work and save both locally and to the Steam Cloud.

Another change in Beneath is that instead of pressing a button to drop weapons, that button will store and swap weapons so that you can hold 2 weapons at a time and swap between them. This will allow you to save more powerful weapons you've purchased or found for when you really need them. This feature, as well as many of the permanent upgrade options, required having an icon for the weapons you'll find in Beneath. To achieve this we have a process that renders every weapon to an texture in white and from a recognisable perspective and places them in particular positions on a texture atlas.

Some of the auto-generated weapon icons


Many of the permanent upgrades are to unlock the ability to find superior weapons in future runs in Beneath. One important element we've considered that we've found to be a negative element of similar upgrades in other Rogue-Lite games is that unlocking more weapons will reduce the likelihood that other powerful weapons you've unlocked will spawn. This is because the range of weapons the procedural level generator can select from has increased. In Beneath we've made sure that every unlockable weapon will always have a consistent random percentage chance to be found in the world and as you unlock more weapons only the lesser weapons of the default range of weapons will then be found more rarely.

Other upgrades include things like permanently improving stats for all classes, upgrades to starting weapons and shields, unlocking additional beneficial unique random encounters or increasing the durability of all weapons.

Swapping between 2 weapons


Giant Mage

Besides finishing the boss enemies for Beneath which is still to come, we've about wrapped up the last remaining big feature (besides bosses most work from here is related to tweaking/polishing/etc) which was the most complicated enemy in the game, the Giant Mage.

We won't show and spoil too much about this enemy because they have a lot of impressive abilities that will be much more fun to discover in game. The main thing that makes them a complicated enemy to create though is their interaction with other enemies. The class hierarchy will be pretty clear when you encounter a Giant Mage with some other enemies nearby like the Interceptor or Minion. They'll drastically change their usual tactics to protect and augment the abilities of the Mages. If you do encounter a Giant Mage without any protection you'd better act fast because they have the power to summon whatever they need.

That's not to say they aren't more than capable of dealing with you themselves...



Update 0.8.4 Preview

Since we've reached a Beneath milestone we're going to spend next week working on the next update that will not only feature the Custom Music Packs for the Workshop, but also a huge number of other improvements. Many of these additions are possible because upgrades required for Beneath can easily transfer to existing systems and the changelist for 0.8.4 is by far the largest we've ever had in an update.

We'll hold off on posting the WIP changelist as it will definitely change over the coming week, but below are some additions you can expect in the update which will be available in a weeks time.

  • Custom Music Packs (workshop upload and Level Editor usage)
  • Ability to change music in Level Editor with logic triggers
  • Liquid Decals


  • Thrown sharp weapons stick into level



  • Some thrown weapons can pin enemies


  • Smite attacks will knock some nearby enemies away
  • Shockwave knocks props and weapons away


  • Invisible paint option in Level Editor
  • Ability to duplicate rooms in Level Editor
  • Bullet hit decals


  • New blood spurt effects
  • Blood colour tone variation
  • Shooting and hitting some fragile weapons will break them
Paint the Town Red - Eternic
Apologies for taking a bit longer to get back to the Beneath Preview posts since the recent detour to add custom character texture support to the Level Editor, but since completing those updates we've been continuing to make a lot of progress towards completing Beneath.

Testing both environmental content and combat scenarios had been a bit time consuming since with a Rogue-Lite game with randomly generated levels it can take some time to see certain environment configurations or combat scenarios that you might need to see. One of the first things we worked on after completing the last update was to setup specific testing environments for both Beneath environments and combat. This has greatly accelerated testing and improving the new environmental variety and the enemy AI and stats and different player class powers.

While there are 6 distinct areas in Beneath, only 3 are on the primary path and our focus is on completing everything for those areas so that section of the game is completely playable. We expect this to be complete in around 2 weeks, but we will wait for all of Beneath to be complete before adding it to the build for the first time. With this section of the game complete though we'll be able to show gameplay and content much more easily in these preview posts.

Teleporter Enemy

The Teleporter is one of the strongest enemies you'll encounter deeper into Beneath. With powerful ranged and close quarters attacks, the Teleporter is difficult to attack effectively. Like many of the other new enemies in Beneath, their movement also differs significantly from the standard human enemies. Instead of coming towards the player, the Teleporter will try to keep a distance from them. Due to their ability to levitate they can continue to face their target to continue to attack and defend themselves.





Their ultimate power though, as the name implies, is the ability to teleport to somewhere else nearby. If you're fighting other enemies and lose track of a Teleporter's location, you are at great risk of being hit by an unexpected ranged attack.



Of course there are many ways to deal with the enemies in Beneath. If you're a class like the Warlock that is capable of turning enemies against each other you might find the Teleporter is no match for the blast of a Crystal Crab.



Or perhaps you'll play as a Spectre and out-teleport the Teleporter...

Custom Music Update

The recent updates for Paint the Town Red which added Custom Texture support to the Workshop/Level Editor has been working well and opens an avenue to supporting custom music using similar menus and systems. Since most of the backend work required to support this sort of content is now complete, we'll likely take a couple of days off from working on Beneath to add Custom Music support in an update soon.

Another feature that's often requested for the Level Editor we'll be adding in the next update is the ability to have invisible walls which we'll accommodate with an invisible paint option for rooms and platforms.

Since the last update post we had a number of minor updates primarily focused on bug fixes which are below. The most recent update also included the ability to create 'Prefabs' in the Level Editor so those of you that create elaborate objects using multiple props can now save those for reuse in future levels.

Patch Info

Version 0.8.357
  • Level Editor: Added the ability to create a reusable Prefab from a selection of props

Version 0.8.356
  • Certain weapons and enemies now knock the player around
  • Fixed impact animations on enemies not playing

Version 0.8.355
  • Custom Textures will now show in levels when you have some, but not all packs downloaded
  • Updating levels will now remove old unused Texture Pack tags from Workshop
  • Added additional Body Template example texture created by map creator phenom Kersher

Version 0.8.354
  • Fixed bug with making mug and pot props with liquid static
  • Fixed not being able to properly remove textures from custom appearances
  • Fixed not being able to just use custom body textures with fallback heads

Version 0.8.353
  • Fixed colliding with dead enemies
  • Fixed arm cut reaction animation not playing

Version 0.8.352
  • Texture Pack dropdowns in the Level Editor now update to show newly downloaded packs
  • Allow loading of JPG custom textures
  • Serialize to JPG instead of PNG if smaller (to allow for smaller texture pack sizes)
  • Allow 1024x1024 textures for Body and Head textures
  • Display error information in Texture Pack Creator

Version 0.8.351
  • Fixed player spawn locations being reset to 0,0,0 in Level Editor

Community Discord Server

If you're not aware there is a community Discord server for Paint the Town Red that is quite active and I try to regularly respond to questions posted in the appropriate channel there. If you're interested in more information on PTTR development and have any questions you can join it here: https://discord.gg/9vug3Tb
Paint the Town Red - Eternic
Patch Info

The ability to create texture packs with your own character texture replacements is now available. These texture packs can be used by you and other map creators in the Level Editor.

To create a texture pack, select 'Level Editor' > 'Texture Pack Creator' in the main menu. From there you can setup packs with textures you've created. Use the 'Create Example Textures' button and create example and guide textures and view them and a readme file with information on texture requirements by using the 'Open Texture Folder' button.

You can upload texture packs with 1 to 5 heads and 1 to 5 bodies. Note that inappropriate texture packs with offensive content will be removed.



When in the Level Editor in the Settings menu you'll find a 'Setup Custom Textures' button which will bring you to the menu where you can setup up to 12 custom appearances using up to 4 different texture packs you've subscribed to. Custom appearances have a fallback appearance which will be used when players do not have the texture packs downloaded.

If you subscribe to a level that uses texture packs you don't have, they should be automatically subscribed to and downloaded for you. If you're playing a level when the texture pack downloads, the textures will be dynamically changed from the fallback to the custom textures while you're playing.

A full list of changes for this build and the build from late last week focused on fixes is below.

Version 0.8.35
  • Ability to upload custom character textures for use in Workshop levels
  • Level Editor: Custom character textures can be set from Workshop
  • Level Editor: Increased quality of level preview screenshots
  • Fixed memory leaks related to Workshop level preview images
  • Fixed Modifiers from Level Editor testing not being disabled

Version 0.8.341
  • Fixed animation loop bugs
  • Fixed not being able to create a full length GIF
  • Fixed pirate cove chair material issue when static
  • Fixed Smite counting down before being able to shoot
  • Fixed Smite camera effects fading in backwards
  • Fixed right elbow and knee on enemies being rotated incorrectly
  • Fixed punching bag material error
  • Fixed mirror ball shader on OpenGL & Vulkan
Apr 20, 2018
Paint the Town Red - Eternic
Patch Info

Version 0.8.30 is available now. The main features of this release are focused on the Level Editor.

You can now set weapons to be static props in the Level Editor which also improves load times and performance when using a large number of weapons this way. You can also now edit properties on multiple props and weapons at once. Properties for characters have also increased with options for a vision cone trigger and proximity trigger, as well as the ability to have character move randomly around the environment near their start position before they enter combat.

The other changes are listed below. There have been a large number of backend changes in addition to these as part of development of Beneath, so you might notice other differences. If you notice any change that appears to be a bug please let us know.

Version 0.8.35 will be released shortly with support for custom character textures on the Steam Workshop as well as some other Level Editor changes.

Note: 0.8.30 initially had a bug where bone voxels weren't being destroyed. This is now fixed in 0.8.31.

Version 0.8.32
  • Fixed Smite not ending

Version 0.8.31
  • Fixed bone voxels not getting destroyed

Version 0.8.30
  • Engine update (DX9 support removed. DX11, OpenGL and Vulkan available)
  • Level Editor: Added option for weapons to be unusable static props
  • Level Editor: Added ability to edit some common properties for multiple selected props and weapons
  • Level Editor: Added vision cone and proximity trigger options for characters
  • Level Editor: Added option for enemies to randomly move around pre-combat
  • Level Editor: Added more button props
  • Large blood particles now only emit when voxels are destroyed
  • Performance improvements when playing Level Editor levels with lots of small weapons set as static props
  • Improved distance fog in Pirate Cove and Arena
  • Fixed ragdoll force when enemies die when body parts explode
  • Fixed gfycat upload bug
  • Fixed some bullet damage and impact issues
  • Fixed Arena Challenge 2 being at night
  • Fixed lighting issues on Pirate Cove
  • Tweaked Disco lighting bloom
Apr 12, 2018
Paint the Town Red - Eternic
While we continue to work on getting Beneath ready for release there are some features we'd like to get out sooner so we'll have a couple of updates over the coming couple of weeks. The first update is 0.8.30 which is built on a newer engine version and is focused on Level Editor improvements and will be available this coming week. Following that will be 0.8.35 and is focused on adding Workshop support for custom character textures.

Some of the main features of 0.8.30 include:
  • The ability to make weapons be treated as static props in Level Editor levels so they can't be picked up by the player and will improve performance when using large numbers of weapons to build elaborate props
  • Enemy properties will now include options to use sight and proximity triggers. This will allow you to have enemies only begin combat when they spot you or you get close to them
  • In the Level Editor you will now have the ability to edit properties on props and weapons when you have more than one selected
  • Fixes and improvements to bullet damage and impact and also ragdoll impact force when enemies are killed from melee weapon attacks

Some of the main features of 0.8.35 include:
  • The ability to create custom character textures and upload them to the Steam Workshop
  • The ability to use a number of custom character textures from the Workshop in your created levels
  • The option to save created levels to the Steam Cloud

The goal for how custom character textures can be used in created levels is that you can pick existing ones from the Workshop to be used within your level. The game will then attempt to automatically download associated Workshop items when your level is download/played. This will allow you to use textures created by other players in your levels.

These builds will also allow us to ensure the many backend changes that have been made over the past few months work in the existing content as well as bring miscellaneous performance and compatibility improvements from the newer engine version out sooner than waiting for Beneath.

We'll continue with Beneath Preview posts after 0.8.30 is released.
Mar 28, 2018
Paint the Town Red - Eternic
In this post we'll briefly cover some of how levels in Beneath are created mainly from a high level overview of the technical aspects involved.

Level Generation Basics

The most common style of level in Beneath, the one you'll see in the first few areas, is created by connecting a number of randomly placed rooms with corridor pieces. This allows us to combine the benefits of pre-made rooms with the practically unlimited randomised layouts. In addition to randomising the layouts of levels we also randomise the types, counts and placement of enemies and items throughout the levels. These are governed by your progress through Beneath and how difficult it is supposed to be on that level.

Room Placement

There are some different ways in which rooms can be placed to allow for levels that flow in different ways. For the following example I've restricted the generation to using a limited set of room shapes and a basic level layout to more easily demonstrate room and corridor placement, but in a future preview post I'll cover the much greater variety of rooms available and the ways in which even the same rooms and corridors will appear completely different based on a large amount of flexibility with the environmental content of a room.

The most common way rooms will be placed is as follows:

1. The starting room for the level is placed.



2. The next room is placed by choosing a random direction to offset it from this one. Attempts are made to place the next room close to a doorway of the current room to prevent too many sequences of long corridors in the level.



3. This process is repeated for all main rooms in a level with the randomised room offset direction being re-used each time and rotated within a certain range so that the level will have some ordered flow while still maintaining the ability to turn and intersect with itself in more chaotic ways over time.



Some areas feature multiple levels of rooms and a certain number of rooms per level are created as stairway rooms connecting these. Also note the square-shaped room towards the end is ignored and bypass by the arrows here as that is a special room that will be covered at the end of this post.

The process of creating the rooms in an order with some loose restriction on a flow direction gives the ability to have the last room generally be the furthest from the starting room while also giving the ability for the flow to change enough to make this not the case and possibly provide earlier access to the exit room. The gameplay mechanics of Beneath make reaching the last room earlier not always desirable though. The order of rooms allows difficulty to ramp up over the course of a level through increases in numbers of enemies and the types of enemies you'll encounter.

Corridor Placement

Besides the snaking flow of room placement, the corridor generation also allows for rooms to be connected in a variety of ways that disrupt the initial room order. While the rooms shapes themselves aren't created with much size or shape restrictions, they contain metadata that gives them a tile-based shape which is used in the corridor generation pass. To create the corridors connecting rooms a pathfinding algorithm, much like what is used by the enemy AI to find their way through environments during gameplay, is used to traverse the tile grid from room to room.



In the above image you can see the result of the pathfinding algorithm. The rooms are connected to eachother based on their order, but you'll also note that there are some paths connected rooms that are not following the logical flow of the level. Depending on the initial arrangement of the rooms and various other randomised factors, rooms can be connected in many different ways with paths branching regularly. In this example even with a level that flows fairly linearly, the second room connects to the 3rd, 4th and 5th rooms and similarly the 6th room has a path to the 9th room allowing you to completely bypass the 7th and 8th rooms.

Even moreso than room placement there are many rules governing how the corridor paths are generated. The main reason for this is to limit bugs and unwanted path issues, but the other reason is to ensure corridor path shapes fall within certain predefined types. Like rooms, corridor pieces are pre-made models and these are placed to match the tiles occupied by the corridor generation step. Once the pathfinding is complete, a process of placing corridor pieces takes place. This can be quite complicated as there are many different shapes to account for all sorts of intersection possibilities and a strict order of operation must be followed in how the models are added to ensure full path coverage without any overlaps.





Additional Features

There's much more to a Beneath level than simply placing rooms in an order and corridors between them. Many levels will have intentional branches that lead to nowhere or to other secrets. Other levels take on a more hub-style approach where the starting room might be more central with the level going out from it in different directions.

One element that will be common that doesn't fall into the basics of the level layout is shops. Throughout Beneath you'll earn gold from defeating enemies and this can be spent both at standalone "vending machine"-style objects found randomly in rooms, or at a shop. Shop placement in a level is handled after all rooms are created and typically will insert itself into a spot where there is a longer corridor between rooms. In the example here you can see the shop has placed itself between the 8th and 9th rooms which are the furthest from eachother.



There are many more aspects to level generation with room variety and level structure usually being much greater and more complicated than what was shown in this example. We'll likely go into more detail on other aspects of this and on how other areas generate their levels in upcoming posts.

Next Update

We're planning on releasing an update soon to bring the current state of the game closer to where it will be when Beneath is released. This is in order to ensure non-Beneath elements are working correctly and to minimise the amount of new things introduced at once when Beneath is released. There have been several significant engine upgrades since the last update and a lot of systems have been re-written to handle the greater variety of powers, enemies, weapons, etc. We'll detail more about what will be in this update in the next post.
...

Search news
Archive
2024
Oct   Sep   Aug   Jul   Jun   May  
Apr   Mar   Feb   Jan  
Archives By Year
2024   2023   2022   2021   2020  
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002