Since the last earlytests build we've been working very hard to identify and resolve various memory issues as well as perform full rewrites of many of the game's systems. We've now completed these changes and have made 0.12.0 available in the 'earlytests' beta branch. Once we're satisfied there are no new bugs we'll make this the new main build for all users. To activate the 'earlytests' branch, right click the game in your Steam library, go into the Properties and under the BETAS tab you can select 'earlytests' from the dropdown. This update is in a better initial state than the previous earlytests build 0.11.15 was, so if you're interested in exeriencing these changes now you are encouraged to try the build and let us know of any new issues. Otherwise this build will be available on the main branch soon. Please post any new bugs you encounter in this build in this Steam forum topic. This update involves massive internal rework of multiple systems which should result in differences to performance and memory usage, but otherwise the gameplay, if everything has gone well, shouldn't be different to what you experienced before outside of some improvements. While undertaking massive rework this late in production might seem unusual, it was necessary to support people using lower end hardware, particularly those with less ram and vram. In our work to support releases on lower end consoles, we identified a number of memory issues that have allowed us to drastically improve the PC version. We've also found as older Unity engine features are deprecated and newer features introduced, it becomes harder and harder to support a game that began development over 5 years ago. We're now using the latest stable engine release and have made significant changes to use the latest features that will allow us to continue supporting Paint the Town Red for years to come. I'll discuss some of the technical changes in this build and provide some details on our future release plans below.
New Technical Changes
Voxel Mesh System
Unsurprisingly one of the features we've worked on and reworked the most over the development of Paint the Town Red is the way voxel character meshes are built and rendered. One of the changes we made last year to improve CPU and rendering performance was to take all the separate voxel elements and non-voxel elements that make up a character and combine them into a single skinned mesh. This allowed characters like standard humans, which are made up of around 24 individual meshes to instead use 1 combined mesh and only 1 draw call. That system worked great, but it did have some negative implications on memory usage. Per vertex data was now increased since as well as storing the usual data, each vertex also needed bone index and weight information. It also added another black box in the system where we were reliant on Unity engine performance for efficient CPU or GPU skinning of characters.
We've now replaced that system with a similar one that has many improvements. We still combine characters elements into a single mesh, but now we also perform all skinning ourselves on the GPU, bypassing Unity's systems entirely. This allows us to take advantage of PTTR's particular characteristics and provide a far more streamlined per-vertex data set, and couple the system with our LOD and voxel collision systems to efficiently gather and update data on the GPU only when needed. The improved performance of the mesh generation of this new system also means we're able to be more liberal with when we unload and regenerate mesh data as enemies go off-screen or out of range. The result of these changes is faster mesh generation, faster per-frame performance and significantly less memory usage in the order of hundreds of MBs or ever over 1GB less memory used in some Beneath areas.
Asynchronous Asset Loading System
Probably the most significant change in this update is the move to an asynchronous loading system for almost all elements in the game. Previously we had a limited version of this for loading levels and for some Beneath data, but now every level in the game and all major assets are loaded entirely differently to before. If everything works right the result of this change should seem fairly minor. Essentially where before the game could momentarily freeze while loading in large data, most of this will now be loaded in in the background without major interruptions to the main thread. What difference will you notice? Hopefully not much. The spinning loading icon when loading Beneath levels should freeze less and the main menu might load faster. If you took a look at memory usage though you'd notice improvements, especially after longer play sessions with many level loads. Where before Unity's default asset handling system could keep a lot of extraneous data in memory, we now have much more control over what is and isn't loaded into memory and at any one time only the essential data of the moment should be loaded. Because we have many hundreds of character textures in PTTR, we also need an efficient way to load and unload these. Typical levels like Scenarios and Beneath can load in necessary character textures as part of the regular loading process, but when using a spawn button in something like the Sandbox, you might notice a slight delay in the enemy appearing that's different to before. The difference here is that where before the game would freeze for a moment while that enemy loaded with all its textures, now the enemy will appear after the same amount of time after it has loaded, but without the freeze. Another benefit of changing our asset system is that it has allowed us to significantly reduce asset duplication and the inclusion of unused assets in the builds. This means the game takes up around 30% less space on disk.
More Native Memory Management
One thing we've had to work hard on over the years is to bypass Unity's memory management on critical systems, particularly with voxels. We've for some time now completely bypassed managed memory and the garbage collector where voxel data is concerned, but now with this version we've updated even more systems so that we can manage their memory ourselves. The point of these changes is somewhat about performance, but the primary benefit is found in the 4th, 10th or 100th Beneath run in a session. Automatic memory management as is found in languages like C# as used by Unity is unpredictable and not suited well to games. Even if there are no memory leaks, what can happen with a managed memory heap over time is as variable amounts of data is requested and released, the size of that pool of memory can increase over time. This is due to the lack of defragmentation in the memory pool. By changing the majority of our more memory intensive systems to not use managed memory at all, the memory profile of the game over time is much more consistent. There are still some engine limitations preventing us from taking this further, but with our changes over the several weeks we'll be able to continue moving to the latest engine versions as they become stable and continue optimising the game for years to come even post release.
Other Changes: WIP Lighting and Beneath Load Times
When making large changes like this it can be hard to track every individual change. At the bottom of this post you'll find the changelist for 0.12.0, but as is typical for major updates like this, you might notice changes that aren't listed. As part of moving away from older engine features, we've changed how we're lighting the Scenarios. This should be a fairly subtle change and is something we're still working on. For the most part it should be an improvement to what we had before, but there might be some low resolution lightmaps that look worse than before which we'll improve in the coming updates.
Different system with a subtle difference, but generally better look Load times for levels across the board should be improved, but there are some aspects that can still be improved further. Loading Beneath levels should be as fast or faster than it was before, but we're still loading in a lot of the assets in a queued system. We'll be making more rewrites to the level generation system to remove this order dependent system so that more assets can be asynchronously loaded at the same time which should improve load times even more.
Upcoming Release Plans
We'll be continuing to test this build of the game this week and monitoring your feedback on it with the hopes of having this build available in the main branch by the end of the week. We'll then begin preparing the next update which should come straight to the main branch.
Upcoming Builds
Assuming nothing from this build requires major immediate attention and fixes, our next update will feature the latest community provided translations and we intend on implementing all the Achievements to the game and Trading Cards in the next update also. After that we'll update the translation spreadsheets with all the new text that has been added to the game including Achievement text with the intention of finalising translations shortly after that. We'll be working on getting the remainder of the music and sound effects completed through October and expect to be content locked for 1.0 in early November. We'll be focused primarily on polish and bug fixes, particularly in regards to stability during and after that time until version 1.0 is complete. We'll continue releasing regular updates leading up to that. After version 1.0 is released and we leave Early Access we'll begin work on new content and features for the Level Editor and we'll begin planning new content for future updates to the game.
Console Releases
We've been working on console versions of Paint the Town Red here and there for years now, but with 1.0 quickly approaching we'll be spending more time on them over the next few weeks. We can't talk specifically about what we'll be releasing on and when, but it is out intention to release on all current generation consoles this year or as soon as possible. Developing the console versions has massive benefits for the PC version. Many of the improvements to the game made in version 0.12.0 were out of necessity to get the game running on something like the Nintendo Switch which has a far tighter memory budget than we'd previously tried to hit for PC. We don't plan on supporting multiplayer on the console versions or the Level Editor and user generated content. We might add support for these post release, but we don't have the manpower to develop these for the consoles within any reasonable timeframe right now. Otherwise all single player content will be available on the console versions. There may be some minor differences in those versions such as there being fewer initial enemies in Scenarios with the remainder entering over time as enemies are killed to limit the max number of active enemies at a time due to CPU limitations. In regards to the next generation consoles we don't have any firm plans right now, but we'd definitely like to develop native versions of the game for those asap also where they should run without compromise at high resolutions and frame rates.
Upcoming Price Change
We've mentioned this previously, but it's important to continue to be clear that we will be increasing the price of the game to $19.99USD leading up to or at the 1.0 release of the game. We're firmly in the camp that if people choose to support us during Early Access and play an unfinished version of the game, they shouldn't have to pay the final price. We increased the price a few years ago once we'd added enough content to the build and now as the game will be leaving Early Access we will set the final price of the game for release. Once we know when the price change will be happening we'll let you know in advance in one of these posts. If you'd like to purchase the game before then please Follow the game on Steam to get notified when we post these announcements.
Changelist
Version 0.11.15 never left the earlytests branch because it had some major issues and due to the nature of the changes we'd been making for 0.12.0, we needed to wait until the changes were complete before we could get a viable build ready. 0.12.0 will incorporate all the 0.11.15 changes. Version 0.12.0
- New asynchronous asset loading system
- New voxel mesh and skinning system
- Significantly reduced memory usage
- New lightmapping system used for Scenarios
- Generally faster loading times across the board (WIP)
- Pathfinding optimisations
- Beneath level generation optimisations
- Improvements to the sound occlusion system
- Fixed material on saloon card props
- Fixed incorrect ivy placement in Ruins rooms
- Added all current guns to the Sandbox level
- Level Editor load menu now has search functionality
- Level Editor now saves a backup of the level each time you overwrite it
- Level Editor now saves another backup of the level each time it is successfully loaded
- Level Editor load menu now has a button to open the folder with the level files
- Reduced memory usage
- Engine update from Unity 2018.4 to 2019.4
- Fixed being able to duplicate some objects beyond the limits in the Level Editor
- Fixed not being able to scroll to bottom of Primitive properties in Level Editor
- Fixed primitive prop custom material being replaced on selection sometimes
- Fixed not being able to select Arena Challenge 4 and 5 in multiplayer when already in the Arena
- Fixed throwing the saloon mop bucket having weird trajectory
- Fixed the Input Remapping menu not closing with the Options menu
Paint the Town Red
South East Games
South East Games
2021-07-29
Action Indie Singleplayer
Game News Posts 139
🎹🖱️Keyboard + Mouse
🎮 Full Controller Support
Overwhelmingly Positive
(24957 reviews)
http://southeastgames.com
https://store.steampowered.com/app/337320 
The Game includes VR Support
PTTR Linux 64bit [1.17 G]PTTR Linux 32bit [1.17 G]
Paint the Town Red VR
You'll need to use your wits, speed and anything you can get your hands on in epic bar fights, disco brawls, old west saloon rumbles, college frat house beat-downs and a lot more.
We'll be adding more levels to the Early Access versions leading up to release and look forward to creating the best level ideas from the community. Please follow and add to your Wishlist to keep up to date on development and be notified on release.
Current Features
- Completely destructible voxel-based enemies
- Biker Bar, Disco, Prison and Pirate Cove levels with unique enemies, weapons, etc
- Sandbox level to test features, weapons and mechanics
- Vast array of level and period appropriate weaponry
- Boss enemies that present unique challenges and rewards
- Full controller support
Upcoming Features
- Many more over-the-top levels set in the past, present and future
- A rogue-like mode with character progression and persistent unlockables
- Online Co-op multiplayer modes
- Leaderboards for all levels and modes
- Random daily challenges with leaderboards
- Many more enemy and weapon types
- Mod tools for customizable characters
- Linux support
- OS: 64-bit Ubuntu 20.04+/Equivalent or SteamOS
- Processor: 2 GHz 64-bit CPU
- Graphics: OpenGL 3.2+. Vulkan capable.
- Storage: 2 GB available spaceAdditional Notes: If you are on or around the min spec then you may need to run with Low graphics options and at a lower resolution.
[ 5950 ]
[ 1903 ]