How tunahanyavuz/vampiresurvivals_game_practice_rust_bevy works
This is a Bevy-based Vampire Survivors-style survival game. The core loop moves players through escalating enemy waves, fires weapons automatically, collects XP, and offers weapon upgrades until game over. LAN hosting and joining extend that loop with replicated state and remote input; menus, configuration, audio, and world presentation support the experience. Arrows follow plugin registration and explicit behavior visible in sampled excerpts; unsampled feature modules are included where their role is established by the README or tree, without guessing their internal call wiring.
Main entry points: enemy.rs Enemy waves · player.rs Player movement · upgrades.rs Upgrade choices · core.rs Weapon combat
Components 26
Survival gameplay
- Player movement
src/plugins/player.rs - Enemy waves
src/plugins/enemy.rs - Boss encounters
src/plugins/boss.rs - Reinforcements
src/plugins/reinforcements.rs
Combat progression
- Weapon combat
src/plugins/weapons/core.rs - Upgrade choices
src/plugins/weapons/upgrades.rs - Upgrade screen
src/plugins/weapons/upgrade_screen.rs - Score tracking
src/plugins/score.rs
LAN multiplayer
- Network transport
src/plugins/network.rs - Lobby connection
src/plugins/lobby.rs
Game experience
- Main menu
src/plugins/main_menu.rs - Escape menu
src/plugins/escape_menu.rs - Settings
src/plugins/settings.rs - Localization
src/plugins/locale.rs - Infinite ground
src/plugins/ground.rs - Particle effects
src/plugins/particle_effects.rs - Audio playback
src/plugins/audio.rs
Shared runtime
- Texture assets
src/plugins/texture_handling.rs - Game configuration
src/plugins/config.rs - Gameplay timers
src/plugins/timers.rs - Shared game entities
src/plugins/common.rs - Game orchestration
src/plugins/game.rs - Game states
src/plugins/game_state.rs
Other components
- Player
- LAN peer
- Bevy runtime
Connections 33
- Player → Main menu: chooses mode
- Player → Player movement: moves
- Player movement → Enemy waves: engages
- Enemy waves → Player movement: deals damage
- Enemy waves → Reinforcements: requests support
- Enemy waves → Boss encounters: spawns stages
- Player movement → Weapon combat: owns weapons
- Weapon combat → Enemy waves: attacks
- Enemy waves → Upgrade choices: yields XP
- Upgrade choices → Upgrade screen: presents choices
- Upgrade screen → Upgrade choices: selects upgrade
- Upgrade choices → Weapon combat: applies stats
- Enemy waves → Score tracking: tracks kills
- Lobby connection → Network transport: starts connection
- LAN peer → Lobby connection: joins session
- Player movement → Network transport: forwards input
- Network transport → Player movement: delivers snapshots
- Upgrade choices → Network transport: sends upgrade state
- Main menu → Game states: changes state
- Escape menu → Game states: changes state
- Settings → Game states: changes state
- Game orchestration → Player movement: sets up players
- Game orchestration → Game states: coordinates state
- Enemy waves → Game configuration: reads wave data
- Enemy waves → Texture assets: reads sprites
- Infinite ground → Texture assets: reads textures
- Weapon combat → Particle effects: spawns effects
- Weapon combat → Audio playback: plays sounds
- Upgrade choices → Localization: localizes options
- Main menu → Localization: localizes labels
- Player movement → Shared game entities: uses collision helpers
- Bevy runtime → Game orchestration: runs app
- Gameplay timers → Bevy runtime: updates systems