Development blog
This is our development blog! We have been maintaining this blog with updates for over 1000 days now, starting June 10th, 2013. Here you can read about the work that goes into making a game as complex as Brutal Nature:
2017 May 26th
Finished up conversion to UTF8 and did testing to make sure everything still works.
Fixed issue with OIT rendering on ATI video cards.
Updated Angelscript, the scripting library we use in Brutal Nature to support modding.
2017 May 19th
Still working on converting the game over. Naturally with changing something so fundamental to the game engine there is a lot of changes to be made.
2017 May 12th
Started converting the game over from using UTF16 to UTF8 in hopes of providing better language support in the future.
Also should save a little disk space/memory as well.
2017 May 5th
More work into the grass rendering this week.
Mainly getting the randomization on the grass patches better yet deterministic enough that when you change the terrain, only the grass patches near the change get altered and not ones further away in the chunk.
2017 April 27th
Started work on Grass rendering. A lot of work goes into decent grass. First you must generate procedural geometry from the terrain, but it must be somewhat deterministic or the grass will drastically change every time the terrain around it changes.
Then you have wind effects on the grass. Such effects are not just a single noise source either.
I went with a fractal noise base for 'Wind amplitude' and then a few sine waves that grass blades pick from to provide individual oscillation of the blades.
Also the exact pattern of your grass billboards matters. I went with a Y pattern after finding it provided the best coverage IMO. Other commonly used patterns include triangle and * but I found these provided worse coverage and made the grass more clumpy.
Here is a video clip of how it turned out so far.
2017 April 20th
Fixed remaining bugs like not being able to put money into chests.
Packed up another version of Brutal Nature and released it!
Released: 0.66
2017 April 17th, Brutal Nature 0.66 is now released:
- Fixed all known Bugs
- Added destruction to cubes when hit by weapons/projectiles
- Added event system to make life a little more unpredictable.
- Added Man hunter animals event. A group of animals will attack you out of the blue. Number of animals and type of animal is somewhat random but varies depending on player level.
- Added harsher death penalty. All items are now dropped on death.
- Added order independent transparency for particles.
- Added order independent transparency shader for animal fur fins and other models.
- Added support for colored lighting to the engine.
- Added experience points and very basic leveling system.
- Added detection when shader source files are changed. Changes now cause client to recompile shaders.
- Added detection of best video card on a system and attempts to use that.
- Added selection of video card on options menu.
- Added multisampled alpha cutouts for plant rendering.
- Added smoke to the explosion particle effect
- Added particle effects can emit lighting depending on the number and size of particles in the effect.
- Added NPC's to avoid colliding with each other so it looks better when multiple animals attack the player.
- Added ability to put money into chests.
- Added other players showing their currently equipped weapon and attack animations.
- Increased Spawn protection to 60 seconds.
- Increased torque of primitive winch to be able to lift a player.
- Improved shadow quality at lower viewing ranges
- Improved main menu to have save/load functionality for single player
- Improved fire particle effect.
- Reduced black bear, grizzly bear and panther spawn rates.
- Reduced red fox attack damage.
- Reduced loading time of game by multithreading the loading to start at the main menu.
- Changed Crafting to reset on death.
- Changed save files to only use one file for ease of handling.
- Changed ocean to be quieter when you go underground.
- Changed muzzle flash to particle effect.
- Changed sun shadow direction to match sun in the sky dome.
- Changed dropped items to drop in a chest instead of as individual items.
- Fixed mirrored weapons.
- Fixed bug where NPC's would sometimes not attack each other but just stand in front of each other instead.
- Fixed help preview of materials.
- Fixed bug where Shift+E would crash game at main menu.
- Fixed bug where tunnels would intersect edge of map.
- Fixed bug where NPC's would spawn in void near tunnels.
- Fixed some lighting issues that caused some lights to not appear.
- Fixed bug where weapons where not casting a shadow.
- Fixed fur fins not casting shadows correctly.
- Fixed length limit on grapple.
2017 April 14th
Worked on fixing more bugs before release.
Scope lost its cross-hairs in a recent GUI edit, fixed that.
Added a check for the game to use 'best' video card on a users system automatically, improving FPS for some laptop users. I had to then tweak because it caused the game to no longer run on some tester's computers. Should be fine now.
Fixed crafting in the inventory menu not resetting on death.
Changed muzzle flash effect to be per weapon and scripted so it can be modded later.
Improved shadow quality at lower viewing ranges by limiting the cascade to the actual viewing range set by the user.
2017 April 7th
This week it was time to work on multisampling for alpha cutouts and shaders in general. I was getting tired of deleting the shader cache when I made changes to the shader so I made the client recompile shaders when changes to the shader source code is detected.
I added multisample alpha cutout support for plant rendering and quickly discovered that the vertex shader also had to be updated to support multisampled alpha cutouts, to be precise it had to have the same interpolation used for the pixel format. That was rather strange and unexpected.
I took a look at improving the fur fins of the animals and tried to apply order independent transparency to them. This makes the fur fins look amazing.
Feedback from testers said with the new death penalty there was too many bears so I reduced black bear, grizzly bear and panther spawn rates and increased spawn protection to 60 seconds. Also made crafting reset on death to be in line with the lose everything on death penalty.
Lots of fixes as I get ready to make another release:
- Fixed fur fins not casting shadows correctly.
- Fixed mirrored weapons.
- Fixed bug where NPC's would sometimes not attack each other but just stand in front of each other instead.
- Fixed help preview of materials.
- Fixed bug where Shift+E would crash game at main menu.
- Fixed bug where tunnels would intersect edge of map.
- Fixed bug where NPC's would spawn in void near tunnels.
2017 March 31st
Worked on improving the main menu to have save/load functionality for single player and in general just be a better main menu. To that end I also merged the two save files into one file per save for ease of handling.
Fixed length limit on grapple. the line was staying attached to the projectile till the projectile impacted something since the length check was not run till then.
Made ocean quieter when you go underground as someone mentioned they where too loud.
2017 March 24th
This week I worked more on particle effects. I added smoke to the explosion particle effect and added a new feature where particle effects can emit lighting depending on the number and size of particles in the effect.
To make this work properly I also added support for colored lighting to the engine.
here is a video showing off the lighting that particle effects like explosions now make as well as the new smoke effect using the wonderful grenade launcher.
Loading time was bugging me a little so I reduced loading time of game by multithreading the loading to start at the main menu. Its now down to about 13 seconds from clicking the EXE to playing the game on single player and even less for multi player.
Fixed some lighting issues that caused some lights to not appear. Apparently the octtree searches used when lights where added where a little wrong.
Increased torque of primitive winch to be able to lift a player. Should work much better now.
2017 March 17th
So a common problem in 3d rendering is rendering semi transparent materials. To render them correctly, you usually have to sort objects by depth and render from furthest to nearest.
To solve this problem there are a few solutions like depth peeling and order independent transparency. I decided to go with order independent transparency as I found a nifty algorithm that does it quite fast and efficiently.
This made particle effects look a lot better. Here is a video showing the new particle effect and order independent transparency in action. Note the interesting detail in the smoke.
I also added scripted particle effects for muzzle flash instead of the old sprite. Scripted effects are faster to tweak without recompiling the game and can be modded. here is a short video showing it off along with dim lighting from the muzzle flash.
2017 March 10th
Unified the code that renders a player with the code that renders other players, result is other players now show their currently equipped weapon and have attack animations.
Changed NPC's to avoid colliding with each other so it looks better when multiple animals attack the player. This will make the man hunter event look better since otherwise the NPC's tend to completely overlap each other.
Changed sun shadow direction to match sun in the sky dome.
Fixed bug where weapons where not casting a shadow.
2017 March 3rd
Added event system to make life a little more unpredictable.
Added Man hunter animals event. A group of animals will attack you out of the blue. Number of animals and type of animal is somewhat random but varies depending on player level.
2017 February 24th
Added experience points and very basic leveling system.
2017 February 17th
Added harsher death penalty. All items are now dropped on death.
Changed dropped items to drop in a chest instead of as individual items.
2017 February 10th
Added destruction to cubes when hit by weapons/projectiles
Now everything in Brutal Nature can be destroyed by gunfire and explosions.
Released: 0.65
2017 February 7th, Brutal Nature 0.65 is now released:
- Fixed all known Bugs
- Added Cascade shadow maps.
- Added shadow settings to graphics options screen.
- Added shadows to world objects, NPC's and players.
- Added support for different sized maps.
- Added winch upgrades.
- Added ability to tag CD-keys with information like demo or promotional key.
- Added Multithreaded support for converting cube voxels to meshes. This should eliminate lag/stuttering when editing areas with a large amount of cubes.
- Reduced memory requirements for vertices for voxel meshing.
- Increased number of chunked meshed as one job and greatly improved world meshing speed.
- Improved avatar selection screen.
- Changed position of main sun light.
- Changed Rope arrows to use flint.
- Removed the buy game button when a paid account is detected.
- Removed pistol from starting inventory.
- Fixed performance issue when the chunk cache became large.
- Fixed bug where unneeded chunks where being generated and meshed.
- Fixed being able to see through ceiling when traveling through certain voxel passages of near 6 foot in height.
- Fixed not having the same weapon equipped when you login as when you last logged out.
- Fixed F not closing battery menu.
- Fixed buildings being able to be placed at extreme distances if the ray test hit a cube voxel.
- Fixed Fox and Panther meat not completing tutorial quest stage.
2017 February 3rd
Added password verify to registration page.
Removed pistol from starting inventory.
Fixed performance issue when the chunk cache became large.
Fixed bug where unneeded chunks where being generated and meshed.
Fixed buildings being able to be placed at extreme distances if the ray test hit a cube voxel.
2017 January 27th
Changed position of main sun light.
Greatly reduced memory requirements for vertices for voxel meshing.
Worked on polygon mesh reduction for terrain. Looks promising but going to leave it turned off for now due to some of the visual artifacts it generates.