With Version 0.3.0 comes an important shift in Castle Story’s development. Three of the most important systems were completely rewritten, and will now be much much easier to upgrade with new gameplay features. References from one system to the other were isolated to allow independent development of each core. Along with this redesign come important performance upgrades that will ensure that the game is scalable. This means bigger worlds, more characters on-screen, and higher graphical fidelity, while generally running smoother than before.
However, the changes will be incremental. Release 0.3.0 will be default version. We will keep the Legacy version available until the new systems are at parity with the old ones. A chance to try the new systems will be available within the New Game
menu. Please keep in mind that these are currently work in progress.
In this update we’re introducing a new version of our voxel engine that has been re-built from the ground up. The main difference at this point is that we’ve decoupled the voxel drawing and terrain rendering from the game voxel data making re-draws much more efficient. The new voxel engine also leverages the GPU for reading and writing terrain data, making terrain re-draw cost next to nothing in some cases.
To ensure feature parity, and less backward compatibility issues, the new engine imitate what the old engine did as much as possible until we’ve cleared the public testing phase. However in this update, you will see:
- A new island taking up the full extent of our 1km² canvas, with little impact to performance.
- A huge performance boost to regular medium sized islands.
- A smaller memory footprint for the game in general as well as smaller save game files.
- Smooth island undersides, saving tons of triangles from being rendered.
- Dynamic LOD (Level Of Detail) rendering, making the terrain much more lightweight when viewed from far away.
In this update, we rewrote the AI system from scratch, and bundled it with a completely new animation system. The new AI is faster, is not affected by inconsistent FPS and is much easier to upgrade for us developers. The AI is still in its prototype phase, and we included a preview in a special sandbox mode.
Note that the old bricktron is still used in Survival and regular Sandbox mode until the new AI is at feature parity with the old one.
In this update, the new Bricktron are able to:
- Move using a much more fluid, animation-based locomotion system.
- Use a smarter construction-order algorithm that should ensure less traffic jams happen.
- Have much more accurate animation events for sounds and special effects.
- A more balanced CPU budgeting and co-routine management system, ensuring that lots of Bricktrons thinking at the same time don’t slow down your computer.
During the long refactoring period, we had time to do a lot of research into our asset production pipeline, most notably taking control of shading and lighting methods, which by default in unity are difficult to work with. The result is assets that are easier to produce, with higher fidelity textures and shaders that respond accurately to day and night lighting. We’ve made a switch to HDR lighting with Linear color-space, resulting in a much smoother look in-game.
We’re also creating and upgrading our tools to create new terrain texture atlases. This improves drastically the speed at which we can create and integrate terrain textures and will eventually lead to new terrain types.
In this update, you may notice:
- Almost all objects in the game are now re-modeled, and re-textured with normal maps;
- All shaders are now custom authored, to respond to our specific needs;
- A much more detailed and prettier skybox;
- New terrain textures with normal maps;
- New Bricktron character models;
- New versions of bricks and wood, with a brand new blueprint shader;
- Objects that glow accurately, including torches, the sun and ambient reflections;
- We have re-built our blueprint system, allowing for parts of the pathfinding calculations to be done passively by blueprints and dynamic objects. This saves tons of calculations for the Bricktrons.
- Better picking (i.e. character selection, and terrain clicks) management. This allow us to introduce smarter blueprint placement and radial menu choices.
Bug fixes and improvements
The following changes are meant to address issues related to “Legacy” features. This means they apply to “pre-refactoring”gameplay elements and code, and only to features that did not become deprecated by the new systems.
- Fixed an issue where the camera in the tutorial doesn't start at the right place and you don't have any Bricktrons.
- Fixed an issue that occurs when a Bricktron dies and his soul is absorbed by the Crystal, all the Bricktron you will spawn after will have the same name.
- Bricktrons can now find rubble with pathfinding .
- Fixed an issue where a catapult can use fire even if you didn't set the target beforehand.
- Fixed and issue when you remove the last resource on a Stockpile, the image of that resource stay there
- Fixed an issue when even with the "Mute all Sounds" checked, you still hear the Bricktrons when they pick-up resources and things like that.
- Fixed a bug where sounds continue to trigger behind your other window in the Main Menu
- Fixed the music (in the main menu) stops when you come back from the tutorial
- Updated Brix.Core. Reseau now supports IPs as well as DNS hostnames.
- You now cannot put stockpiles through lanterns.
- Loose blocks are now accessible by corners to prevent Bricktrons from kicking logs when trying to pick them up.
- Now allowing 4 characters for email suffixes.
- Allowing any characters for the username when logging in.
- Big performance improvement because blueprint properties were calculated too often.
- Fixes loading issues for new games in survival.
- Fixed a loading bug of the tutorial scene.
- Added new combat music.
- Added inertia in environment sound parameters.
- Stopped the generation of meshes for dynamic object blueprints (blocks still generate their meshes)
- Fixed an issue where after loading a game twice without restarting the client makes the game would lag more.
- Fixed a quick-save issue. We now let the save code handle file management.
- Fixed an audio bug for flying catapult projectiles.
- Big optimisation of RAM for the audio.
- Put the music in streaming instead of RAM.
- Added a collision plane at the bottom of the map to eat any falling objects out of existence.
Go to Sauropod Studio site for the full release notes:
Thanks for reading!
- Team Sauropod