-
Notifications
You must be signed in to change notification settings - Fork 4
Waves
charvei edited this page Sep 24, 2017
·
5 revisions
EnemyWaves are periods of time in which enemies are spawned into the world at particular rates of spawning and ratios of enemy types.
EnemyWaves takes 5 arguments:
- The first 4 correspond to the ratio you would like to create for the wave, with the argument values representing the squirrel, raccoon, bear, moose amounts respectively. For example, using the arguments 1,2,3,4 will produce a wave that has a general ratio of 1 squirrel : 2 raccoons : 3 bears : 4 meese. Note that these ratios are guides and will not be precise, there is a degree of randomness to the spawns.
- The last argument describes the length of the time a wave will run for; since waves spawn for the entire duration of a wave this will dictate how many enemies the wave will spawn.
Enemy waves are managed within the game by the WaveManager which holds a queue of EnemyWaves and schedules when to EnemyWaves can spawn and when and how long the next in queue should wait.
From the GameScreen within InitializeGame method:
- Create your wave to your liking by following the above guide
- Choose when you want your wave to be in the queue (i.e. 4th wave to play is the 4th added wave) and
- Get the WaveManager and add your wave in desired position via:
GameManager.get().getManager(WaveManager.class).addWave( _YOUR_WAVE_)
WavesGui provides a GUI for the screen that displays wave information for player. WavesGui polls the status of the current waves and whether or not the game is in a waiting / preparation period for the player from the WavesManager and displays this accordingly.
- Home
- How To Play
- Keybindings
- Inventory and Resources
- Trees
- Portals and Worlds
- Projectiles
- Enemies
- Waves & Spawning
- Graphical assets progress overview
- Audio Files
- Design Templates
- Blender Intro
- Converting 3D models to Sprites
- Scripting in Blender
- Creating a Model in Sketchup
- Colouring and Animating in Blender
- Animation using Dope Sheet, Keyframes and Scale Transformation in Blender
- Template
- Testing
- Terrain
- Terrain Generation
- Resource Trees
- Main Menu, Chat, options
- Main Menu V2, Options V2, Sound
- Damage Trees
- Projectiles
- Enemy User Testing
- Tree planting, inventory GUI, resources, portals
- Caveman Character
- Debug Mode Menu
- Tree learning, Attack Trees, Main Menu Tutorial Resources Styling
- Revamped Resource Trees
- Squirrel User Testing
- Final evaluation
- Project Structure
- Git Workflow
- GUI
- Worlds
- Entity Directions
- Resources
- Inventory
- AbstractEntities
- BasicProperties
- MortalEntity
- ProgressBarEntity
- Multiplayer
- Trees
- TimeEvent
- Game Time
- Animations
- Enemies
- Waves
- Player
- Projectiles
- Effect
- Particles
- Path Manager
- Sounds
- Debug 'God' Mode
- 2D Collision
- Box3D {depreciated}
- Render3D
- Cheat Codes