Networking Networking is done via a single component that is persistent in each machine’s game....

1
Networking •Networking is done via a single component that is persistent in each machine’s game. •This multiplayer manager component handles all Unity RPC calls between computers. •Using only RPCs allows for maximum control. •The server handles more of the networking load - it authoritatively keeps the ‘true’ positions of the enemies and spells, and sends out updates as necessary. Saving •Players’ rune inventories, spellbooks, and maps are serialized automatically into save files while the user plays •Files are loaded when needed •Save files are deleted if a player loses the game (in keeping with the rogue-like genre where players only have one life), forcing a player to start over again World Map Procedurally Generated Terrain •Fractal generation algorithm. •Generates the vertices, connects them, and textures them with a procedurally generated splash-map based on terrain height. •Objects are added from a dynamic list of available objects and the terrain is terra-formed accordingly to the needs of the size of the building objects being placed on top. •Lastly, shrubs, trees, and rocks are added for a more natural look. AI Spells/Runes •Each spell is made up of a combination of runes, which effect the spells in various ways. •These effects are applied in a few different steps, each of which is contained in a public method of the IRune interface. As each step is reached, the runes are iterated over and the appropriate method is called on each one. •Collision Detection o If the spell has no shape, the delivery sphere must simply impact the target o If the spell has a shape, a single invisible collider object is created for each shape. - Every character has multiple triggers placed along its body. The invisible collider is checked against these triggers, and the effect is applied for every trigger hit. The world map is procedurally generated for each new game. The map generator adds a random number of nodes to each column Depth-first search from the start node to the end node is used to ensure the player can reach the end If it cannot find the boss node, it discards that map and generates a new one. • Each enemy type has a custom tailored AI and spell set: o Caster: Manages distance between itself and player, casting appropriate spells. o Healer: Targets lowest health enemies with restorative spells. o Melee: Minimizes distance to player, close range spells. o Nuker: Stationary, explodes with high damage spell after set amount of time when player gets too close. • Enemies have a “cast location” component which aims at the player while using raycasts before firing to avoid wasting spells. • Once alerted, enemies pursue player indefinitely • Movement is physics based toward a target location with a swarming mechanism to attempt to overwhelm the player. Technologie s Skeleton with visible triggers Spellements Technical Details Mehul Azad, Richard Georgeoff, Shawn Lee, Eric Mathews, Brian Orchosky, Alex Perry Beam spell with visible triggers - This is done to reward the player for having better aim or using spells strategically. Spell with Fire, Ice, Cone, Beam, and RotateUp runes

Transcript of Networking Networking is done via a single component that is persistent in each machine’s game....

Page 1: Networking Networking is done via a single component that is persistent in each machine’s game. This multiplayer manager component handles all Unity RPC.

Networking•Networking is done via a single component that is persistent in each machine’s game.•This multiplayer manager component handles all Unity RPC calls between computers.•Using only RPCs allows for maximum control.•The server handles more of the networking load - it authoritatively keeps the ‘true’ positions of the enemies and spells, and sends out updates as necessary.

Saving•Players’ rune inventories, spellbooks, and

maps are serialized automatically into save files while the user plays•Files are loaded when needed•Save files are deleted if a player loses the

game (in keeping with the rogue-like genre where players only have one life), forcing a player to start over again

World Map

Procedurally Generated Terrain•Fractal generation algorithm. •Generates the vertices, connects them, and textures them with a procedurally generated splash-map based on terrain height.•Objects are added from a dynamic list of available objects and the terrain is terra-formed accordingly to the needs of the size of the building objects being placed on top.•Lastly, shrubs, trees, and rocks are added for a more natural look.

AI

Spells/Runes•Each spell is made up of a combination of runes, which effect the spells in various ways. •These effects are applied in a few different steps, each of which is contained in a public method of the IRune interface. As each step is reached, the runes are iterated over and the appropriate method is called on each one. •Collision Detection

o If the spell has no shape, the delivery sphere must simply impact the target

o If the spell has a shape, a single invisible collider object is created for each shape.

- Every character has multiple triggers placed along its body. The invisible collider is checked against these triggers, and the effect is applied for every trigger hit. • The world map is procedurally generated for

each new game. • The map generator adds a random number of

nodes to each column • Depth-first search from the start node to the

end node is used to ensure the player can reach the end

• If it cannot find the boss node, it discards that map and generates a new one.

• Each enemy type has a custom tailored AI and spell set:

o Caster: Manages distance between itself and player, casting appropriate spells.

o Healer: Targets lowest health enemies with restorative spells.

o Melee: Minimizes distance to player, close range spells.

o Nuker: Stationary, explodes with high damage spell after set amount of time when player gets too close.

• Enemies have a “cast location” component which aims at the player while using raycasts before firing to avoid wasting spells. • Once alerted, enemies pursue player indefinitely• Movement is physics based toward a target location with a swarming mechanism to attempt to overwhelm the player.

Technologies

Skeleton with visible triggers

SpellementsTechnical Details

Mehul Azad, Richard Georgeoff, Shawn Lee, Eric Mathews, Brian Orchosky, Alex Perry

Beam spell with visible triggers

- This is done to reward the player for having better aim or using spells strategically.

Spell with Fire, Ice, Cone, Beam, and RotateUp runes