From e34c82483a9c7726a9d94e9c55796171b380015f Mon Sep 17 00:00:00 2001 From: Crizomb Date: Sun, 4 Jan 2026 18:49:21 +0100 Subject: [PATCH 1/3] warning removal --- src/core/collectible.rs | 2 +- src/core/game_state.rs | 1 + src/core/life.rs | 2 +- src/core/wave.rs | 5 ++--- src/juice/ui.rs | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/collectible.rs b/src/core/collectible.rs index 90c8818..cf1a2ed 100644 --- a/src/core/collectible.rs +++ b/src/core/collectible.rs @@ -1,7 +1,7 @@ use std::path::Path; use std::time::Duration; -use crate::core::game_state::{DispawnOnGameOver, GameStartupSet, GameState}; +use crate::core::game_state::DispawnOnGameOver; use crate::core::kirby::{Kirby, kirby_spawn}; use crate::physics::sphere_collider::SphereCollider; use bevy::prelude::*; diff --git a/src/core/game_state.rs b/src/core/game_state.rs index b4d9799..0e12a1b 100644 --- a/src/core/game_state.rs +++ b/src/core/game_state.rs @@ -27,6 +27,7 @@ pub enum GameState { #[default] Starting, Running, + #[allow(dead_code)] Paused, } diff --git a/src/core/life.rs b/src/core/life.rs index 838e907..745434b 100644 --- a/src/core/life.rs +++ b/src/core/life.rs @@ -90,7 +90,7 @@ pub fn bubble_receive_damage( pub fn kirby_receive_damage( mut bubble_exploded: ResMut, mut kirby_hit: ResMut, - mut kirby_query: Query<(&Kirby, &GlobalTransform, &mut Life), (Without)>, + mut kirby_query: Query<(&Kirby, &GlobalTransform, &mut Life), Without>, mut bubble_query: Query< (&GlobalTransform, &SphereCollider, &DamageDealer, &mut Life), (With, Without), diff --git a/src/core/wave.rs b/src/core/wave.rs index d6725d7..3fcdc1f 100644 --- a/src/core/wave.rs +++ b/src/core/wave.rs @@ -1,7 +1,6 @@ -use std::{thread::panicking, time::Duration}; +use std::time::Duration; -use bevy::{ecs::system::lifetimeless::SCommands, prelude::*}; -use rand::distr::slice::Empty; +use bevy::prelude::*; use crate::{ core::{ diff --git a/src/juice/ui.rs b/src/juice/ui.rs index 5436a81..61b0bbe 100644 --- a/src/juice/ui.rs +++ b/src/juice/ui.rs @@ -1,4 +1,4 @@ -use crate::core::{game_state::DispawnOnGameOver, wave::BubbleWaves}; +use crate::core::wave::BubbleWaves; use bevy::prelude::*; #[derive(Component)] From 9532911b004de03e34c992961e63cccc8b71ba18 Mon Sep 17 00:00:00 2001 From: Crizomb Date: Sun, 4 Jan 2026 19:05:27 +0100 Subject: [PATCH 2/3] small adjusts --- src/core/bubble.rs | 3 ++- src/core/wave.rs | 12 ++++++------ src/physics/density_grid.rs | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/core/bubble.rs b/src/core/bubble.rs index 50ae394..93dde77 100644 --- a/src/core/bubble.rs +++ b/src/core/bubble.rs @@ -30,7 +30,8 @@ pub fn bubble_spawn_wave(commands: &mut Commands, asset_server: &Res BubbleWaves { vec![BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 10.0, 10), BubbleSplash::new(NORMAL_BUBBLE, TOP, 10.0, 10)], vec![BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 10.0, 100), BubbleSplash::new(NORMAL_BUBBLE, TOP, 10.0, 100)], vec![ - BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 10.0, 100), - BubbleSplash::new(NORMAL_BUBBLE, TOP, 10.0, 100), + BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 100.0, 100), + BubbleSplash::new(NORMAL_BUBBLE, TOP, 100.0, 100), BubbleSplash::new(RED_BUBBLE, BOTTOM, 10.0, 20), ], vec![ - BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 10.0, 200), - BubbleSplash::new(RED_BUBBLE, RIGHT, 10.0, 100), - BubbleSplash::new(RED_BUBBLE, LEFT, 10.0, 100), + BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 100.0, 200), + BubbleSplash::new(RED_BUBBLE, RIGHT, 100.0, 100), + BubbleSplash::new(RED_BUBBLE, LEFT, 100.0, 100), ], ], collectables: vec![ diff --git a/src/physics/density_grid.rs b/src/physics/density_grid.rs index f163acf..225d0c5 100644 --- a/src/physics/density_grid.rs +++ b/src/physics/density_grid.rs @@ -11,7 +11,7 @@ const MAX_MAP_SIZE: usize = MAX_MAP_WIDTH * 2; const ARRAY_WIDTH: usize = MAX_MAP_SIZE / CELL_SIZE; const GRID_ARRAY_SIZE: usize = ARRAY_WIDTH * ARRAY_WIDTH; -const DENSITY_FORCE_SCALE: f32 = 6000.0; +const DENSITY_FORCE_SCALE: f32 = 3000.0; #[derive(Resource)] pub struct DensityGrid { @@ -78,7 +78,7 @@ pub fn density_grid_force( let index = get_index_from_uvec2(neighbor_cell); let density = density_grid.grid[index]; - density_gradient += offset.as_vec2() * density as f32; + density_gradient += offset.as_vec2().normalize_or_zero() * density as f32; } } density_gradient += density_obj.random_offset; // To not have a "grid" thingy From d168e48759c3297b04d20c65a42492d787ad05c3 Mon Sep 17 00:00:00 2001 From: Crizomb Date: Sun, 4 Jan 2026 19:30:35 +0100 Subject: [PATCH 3/3] more difficult --- src/core/wave.rs | 37 +++++++++++++++++++++++++++++++------ src/map/map.rs | 3 +++ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/core/wave.rs b/src/core/wave.rs index 06749f3..edeb48a 100644 --- a/src/core/wave.rs +++ b/src/core/wave.rs @@ -10,7 +10,7 @@ use crate::{ kirby::Kirby, life::Life, }, - map::map::{BOTTOM, LEFT, RIGHT, TOP}, + map::map::{BOTTOM, LEFT, RIGHT, RIGHT_DIR, TOP, UP_DIR}, }; #[derive(Event)] @@ -44,8 +44,8 @@ impl BubbleSplash { } } -const BASE_MOVE_FORCE: f32 = 4000.0; -const BASE_LIFE: f32 = 10.0; +const BASE_MOVE_FORCE: f32 = 6000.0; +const BASE_LIFE: f32 = 20.0; const NORMAL_BUBBLE: BubbleType = BubbleType { color: Color::linear_rgb(1.0, 1.0, 1.0), @@ -60,7 +60,7 @@ const RED_BUBBLE: BubbleType = BubbleType { }; const GREEN_BUBBLE: BubbleType = BubbleType { - color: Color::linear_rgb(1.0, 0.0, 0.0), + color: Color::linear_rgb(0.0, 1.0, 0.0), move_force: BASE_MOVE_FORCE * 0.5, max_life: BASE_LIFE * 2.0, }; @@ -84,16 +84,41 @@ fn get_bubble_waves() -> BubbleWaves { BubbleSplash::new(RED_BUBBLE, BOTTOM, 10.0, 20), ], vec![ - BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 100.0, 200), - BubbleSplash::new(RED_BUBBLE, RIGHT, 100.0, 100), + BubbleSplash::new(NORMAL_BUBBLE, RIGHT - UP_DIR * 20.0, 100.0, 200), + BubbleSplash::new(RED_BUBBLE, RIGHT + UP_DIR * 20.0, 100.0, 100), BubbleSplash::new(RED_BUBBLE, LEFT, 100.0, 100), ], + vec![ + BubbleSplash::new(NORMAL_BUBBLE, RIGHT, 100.0, 200), + BubbleSplash::new(RED_BUBBLE, RIGHT + UP_DIR * 40.0, 100.0, 100), + BubbleSplash::new(GREEN_BUBBLE, RIGHT - UP_DIR * 40.0, 100.0, 100), + ], + vec![BubbleSplash::new(GREEN_BUBBLE, Vec2::ZERO, 300.0, 1000)], + vec![ + BubbleSplash::new(RED_BUBBLE, Vec2::ZERO, 300.0, 1000), + BubbleSplash::new(GREEN_BUBBLE, Vec2::ZERO, 300.0, 1000), + ], ], collectables: vec![ vec![], vec![(CollectableType::NewKirby, LEFT)], vec![(CollectableType::SpeedBoost, BOTTOM)], vec![(CollectableType::ShieldBoost, BOTTOM)], + vec![ + (CollectableType::ShieldBoost, TOP), + (CollectableType::ShieldBoost, TOP + RIGHT_DIR * 40.0), + (CollectableType::NewKirby, BOTTOM), + ], + vec![(CollectableType::NewKirby, LEFT + UP_DIR * 40.0), (CollectableType::NewKirby, LEFT - UP_DIR * 40.0)], + vec![ + (CollectableType::SpeedBoost, TOP), + (CollectableType::SpeedBoost, BOTTOM), + (CollectableType::SpeedBoost, TOP + RIGHT_DIR * 40.0), + (CollectableType::SpeedBoost, BOTTOM + RIGHT_DIR * 40.0), + (CollectableType::SpeedBoost, TOP - RIGHT_DIR * 40.0), + (CollectableType::SpeedBoost, BOTTOM - RIGHT_DIR * 40.0), + (CollectableType::NewKirby, RIGHT), + ], vec![], ], current_wave: 0, diff --git a/src/map/map.rs b/src/map/map.rs index 0432ae7..b222c91 100644 --- a/src/map/map.rs +++ b/src/map/map.rs @@ -10,6 +10,9 @@ pub const LEFT: Vec2 = Vec2::new(-NEAR_LIMIT, 0.0); pub const TOP: Vec2 = Vec2::new(0.0, NEAR_LIMIT); pub const BOTTOM: Vec2 = Vec2::new(0.0, -NEAR_LIMIT); +pub const UP_DIR: Vec2 = Vec2::new(0.0, 1.0); +pub const RIGHT_DIR: Vec2 = Vec2::new(1.0, 0.0); + #[derive(Resource)] pub struct MapBounds { pub min: Vec2,