Time for another update! We added more details this time to give everyone a better understanding of what we're currently working on and how the game is progressing.
Almost all of the sounds have now been added to the new Wwise sound system. The only sounds still being worked on are a few of the environmental sounds and a few miscellaneous sounds. All of the basic sounds - footsteps, collisions, bullet impacts, shell casings, player foleys (eating, drinking, climbing ladder, etc.) have been configured in the game and are now working. There are still several item specific sounds that need to be configured to still work correctly in the game - weapons, items, equipping, but those won't take long to finish when we get to them.
In the last development update I mentioned we were working on some sound specific features to add to the realism of the game, so I want to talk about a couple of those today. In the next Twitch.tv stream we'll give some demonstrations of the sound features.
Sounds in the world will be reduced if there is something between you and the sound source that is acting as an occluder - like a building, wall, or solid fence. This will give even more feedback to the players to help them more accurately located the source of sounds - like for a gunshot. Some of the sounds will even be modified based on your current location in the world. For example, if you are inside of a house the tail of a gunshot will sound different than when you are outside of the house.
We have a dynamic character foley system so that the amount of gear a player is carrying affects the sound of the player's movements. This is set up by having two groups of foley sounds: clothing and gear. The clothing foley group contains recordings of clothing movements based on the player's actions (walk, run, sprint, jump, etc.) while the gear foley group contains recordings of various equipment sounds for each movement.
For example, a player starting with no equipment will only hear the sound of his clothing as he moves, but as more equipment is acquired the player's movements will also contain sounds of the various equipment he/she is carrying. What this allows you to do is to listen to other players in the world and judge their strength/loot based on the sound of approaching player, influencing your decision to either flee or fight.
In addition to how much trees, bushes, grasses, and even bullets move based on the wind speed, many of the outdoor sounds will also be affected by the wind speed. As an example, if it's really windy you will hear the trees creaking more as they are bending in the wind. So, even the wind speed you'll be able to use to your tactical advantage if you understand how it works.
And a few more ideas we are working on!
Animations have been a large focus for the team the last few weeks. We have team members working on the third-person animations and the first-person animations in parallel to get them done as quickly as we can. In another Twitch.tv stream we'll show off more of the animations. The animations are really the only thing holding us back from releasing a lot of gameplay footage at this point and getting the game ready for release.
We now have a full set of base movement animations completed. To cover all of the base movements in the game we ended up with a total of 85 unique animations. CryEngine has a very advanced animation system integrated into it, and to get the animations to look their best we need to have a complete set of animations and then add all of those animations to properly configured blend spaces, and combined blend spaces, so that the animation system can procedurally interpolate between different animations so they look nice and smooth as you move around. Now, with the base animations ready, we are working on the weapon poses that are layered on top of them for various weapon types - fists, pistol, rifle, etc. Each unique weapon hold will need its own set of additive animations layered on top of the base movements. Once the third person animations are done for weapon type, then we can reuse most, or all, of the animations for other weapons of the same type - adding new pistols, rifles, one-handed weapons, etc.
In parallel with the base movement animations and weapon holds, work has been progressing on the first person weapon animations we need. A lot of progress has been made on those as well and some of them are almost finished. We will show these off in the next stream as well, but here's a link to a short video of one of the weapons:
Character "skinning" for Animations
As part of the PBR conversion for the main player character, we've also went back and optimized the model for the character (we reduced the polygon count to 2/3 of what it used to be), and we've also re-skinned the entire player so that he now looks a lot better during animations. There are a few images at the end of this week's update that show the new skinning of player and how it looked when deformed. The images are not rendered in the game engine itself, so they look shiny, so ignore that part of those images.
Third Person Camera System
We mentioned in the last update about the new third person camera system that's being worked on. We will also demo this in the next stream (lots of things to demo!), but in the images there's an image that attempts to show how it works (look for the image titled "Third Person Camera Analysis", for those that may be interested in some of the technical details:
In the image there is a faint, blue rectangle that originates at the front of the player's face and extends behind him. The rectangle represents the path to the camera behind the player. Along this path you can see some large spheres where collisions have been detected with objects in the world. The camera's distance behind the player is then reduced until there are no collisions detected. In the image there are also a lot of smaller spheres which are inside the larger green cylinders. Those spheres are used for reducing the camera distance predictively. The graph at the top is updated in real-time and allows us to analyze how the camera movement is occurring while playing. All of this is done to get a natural and seamless working third person camera system.
One of the huge limitations of CryEngine for a game such as this is that we don't have any way to control when entities (players, vehicles, items, AI) are sent to each player in the game. By default, when you log in to a server it has to send you the location of everything in the entire world that could possibly be interacted with, and that can make for some very long login times for a world that has a lot of players, items, and structures in it.
As a result of trying to overcome that limitation, we've been developing a new spawning and syncing system that should be a lot better for the game. While we don't want to divulge the technical details of how the system is implemented, it has been working very well during some initial testing. One of the tests consisted of almost 9,000 possible spawn locations (really we can have as many as we want) on the map and had over 2,500 spawned items waiting for players to find in the world. These are not items that were hidden inside of containers, but actual items you could visibly see in the game and a player could be pick up. This is very exciting because it will allow us to do far more with the game world than we could previously. If it all goes well during testing, it will also allow us to have a completely persistent world where you can drop something in the world and come back days later and it should still be there (assuming someone didn't steal your precious). Obviously, there will need to be systems in place to prevent too many items, or to remove items after some time period, but it does allow for a lot more interesting gameplay mechanics.
Character Textures (PBR) - Eyes not done yet
World Design (Igor)
Third Person Camera Analysis
Player Character Animations/Skinning
These are not done in game mode, so the character's textures look odd and shiny.