Mavericks: Proving Grounds (PC - Alpha)
I worked on Mavericks for the majority of the time it was in development as part of the tech team. I focused primarily on tools development but also worked on some gameplay elements, such as the loot system and Materials Effects (MFX) system. Two of the largest tools I worked on was the Smart Prefab System and the Road Tool.
Smart Prefab System
The Smart Prefab System was designed to provided additional functionality on top of what you would expect from a normal prefab system in any engine. The key features that Smart Prefabs could provide that normal prefabs couldn't:
Smart Prefab System
The Smart Prefab System was designed to provided additional functionality on top of what you would expect from a normal prefab system in any engine. The key features that Smart Prefabs could provide that normal prefabs couldn't:
- Automatically blend and conform into the world (heightmap and terrain textures).
- Support optional mask blending, to control how the Smart Prefab blended with objects, terrain textures, vegetation etc in the World.
- Nested Smart Prefabs, any Smart Prefab could contain children prefabs within them.
- Automatically updated vegetation within the Smart Prefab when overlapping road splines, vegetation would be removed where the spline was.
- Tiling support.
Road Tool
The road tool was an in-editor tool that allowed to realistic-looking road splines to be generated in the world. Designers and artists could place waypoints, such as a start and end or start, middle and endpoint which the road tool would use when generating the spline using an A* pathfinding approach. The pathfinding took into account the height difference, slope angles, distance and terrain material type to compute the most cost-effective road. For example, if a road was going up a mountain, the road would curve more often on the steepest parts of the mountain, provided it was within some valid constraints set by the designers (i.e. max slope angle, max-height difference etc). The variables used to generate the spline, including spline width, material and more, could also be saved to a "Road Profile" that allowed designers to easily to reuse later on. Once a spline was generated, all of the existing editor spline tools could be used to "fine-tune" the spline in areas that designers and artists wanted to get hands-on with. This tool was able to generate roads that were kilometres in length.
The road tool was an in-editor tool that allowed to realistic-looking road splines to be generated in the world. Designers and artists could place waypoints, such as a start and end or start, middle and endpoint which the road tool would use when generating the spline using an A* pathfinding approach. The pathfinding took into account the height difference, slope angles, distance and terrain material type to compute the most cost-effective road. For example, if a road was going up a mountain, the road would curve more often on the steepest parts of the mountain, provided it was within some valid constraints set by the designers (i.e. max slope angle, max-height difference etc). The variables used to generate the spline, including spline width, material and more, could also be saved to a "Road Profile" that allowed designers to easily to reuse later on. Once a spline was generated, all of the existing editor spline tools could be used to "fine-tune" the spline in areas that designers and artists wanted to get hands-on with. This tool was able to generate roads that were kilometres in length.
Material Effects (MFX) System
MFX allowed for audio, particle effects (PFX) and decals to be created at runtime, based on different types of events that occurred between different materials. The events that this system could handle were Footsteps, Projectile Impacts, Bodyfall (players falling or jumping), Melee Impacts and Collisions (any generic collision). Every material at a surface type assigned to it and when there was a physics collision between two materials, the system would identify what type of event this was. Based on the type of event and the two materials involved, MFX could spawn any combination of audio, PFX and decals on surfaces.
Designers could interact with the system via a spreadsheet. Which detailed all of the surface types MFX would track at runtime and which event would trigger which audio trigger, PFX and decal. Due to having a large number of surface types in-game, MFX also supported grouping of surface types. For example, if there was a surface type of pine, oak and wood. Pine and oak would be defined as a child of wood, so whenever these surfaces had a physics collision they would use the settings for wood. This reduced the number of rows and columns required in the spreadsheet. MFX also supported hot reloading both in-editor and in-game to allow for rapid iteration and changes.
Mavericks links:
Mavericks Website
MFX allowed for audio, particle effects (PFX) and decals to be created at runtime, based on different types of events that occurred between different materials. The events that this system could handle were Footsteps, Projectile Impacts, Bodyfall (players falling or jumping), Melee Impacts and Collisions (any generic collision). Every material at a surface type assigned to it and when there was a physics collision between two materials, the system would identify what type of event this was. Based on the type of event and the two materials involved, MFX could spawn any combination of audio, PFX and decals on surfaces.
Designers could interact with the system via a spreadsheet. Which detailed all of the surface types MFX would track at runtime and which event would trigger which audio trigger, PFX and decal. Due to having a large number of surface types in-game, MFX also supported grouping of surface types. For example, if there was a surface type of pine, oak and wood. Pine and oak would be defined as a child of wood, so whenever these surfaces had a physics collision they would use the settings for wood. This reduced the number of rows and columns required in the spreadsheet. MFX also supported hot reloading both in-editor and in-game to allow for rapid iteration and changes.
Mavericks links:
Mavericks Website
Mavericks: Proving Grounds screenshots and images. I didn't personally capture these screenshots/images.