v0.10.0-beta

completed

Deployed on Feb 4, 2026, 09:15:23

Deployment Details

Version

v0.10.0-beta

Status

completed

Platforms

macOSWindows

Deployed At

Feb 4, 2026, 09:15:23

Channels

mac-prebetawindows-prebeta

Build Information

macOS Build

Files: 208

App: StickCrisis.app

Windows Build

Files: 206

Exe: StickCrisis.exe

Release Notes

FeatureFeb 4, 2026

Release 0.10.0-beta

New Features

  • level: enable boss in tutorial level
  • enemy: increase boss health x3 across all levels
  • player: improve machine gun weapon system
  • ui: add tutorial level preview image
  • weapon: add machine gun assets
  • level: add boss weapon and timing configuration per level
  • boss: add configurable weapon type for boss enemies
  • skin: add Suit weapon animations for Grenade and MachineGun
  • skin: add Suit and Militar character skins with animations
  • skill: add remotion skill for video creation
  • menu: add animated video background with character animation
  • boss: add boss name and weapon configuration per level
  • boss: add boss health bar UI system
  • skill: add /add-skin command for registering new skins
  • skin: add Militar skin to the game
  • settings: add event-based UI refresh for game speed
  • enemy: add configurable health bar Y offset override
  • ability: add OnAbilityLocked event for visual UI removal
  • boss: add dedicated boss phase generation system
  • weapon: add Custom Editor with direction grouping for FirePoint config
  • combatant: add GetShootingDirection method for FirePoint lookup
  • weapon: implement quadruple key lookup in WeaponFirePointConfig
  • weapon: add ShootingDirection enum for FirePoint configuration
  • gamespeed: add speed indicator next to timer
  • gamespeed: add game speed slider to pause menu options
  • cutscene: add dynamic SkipButtonUI creation for cinematics
  • player: add automatic sprite flip based on mouse position
  • ability: add LockAbility method
  • menu: add Tutorial to level carousel and GameSpeed slider
  • game: add TutorialCompleted and GameSpeed to save system
  • tutorial: add Tutorial level scene and config
  • tutorial: add EnemyTutorial with controlled shooting
  • tutorial: add Tutorial UI assets
  • ui: add shared SkipButton component
  • tutorial: add tutorial domain and application layers
  • skin: add per-level skin configuration for Player and Enemy
  • skin: integrate skin system into combatants
  • skin: add SkinConfig asset
  • skin: add SkinConfig ScriptableObject
  • skin: add skin domain types
  • cutscene: add loading screen after cutscene transitions
  • cutscene: add TheOasisCutscene scene and update timeline/prefab
  • cutscene: add TheOasis timeline with audio and image assets
  • cutscene: add ObeliskRising cutscene for Level 2 (Jungle)
  • menu: integrate cutscene system into level loading
  • cutscene: add TheIncident cutscene scene and timeline assets
  • cutscene: add LevelCutsceneConfig for level-to-cutscene mapping
  • kills: add KillsHUD to display kills during gameplay
  • shop: add visual progress bars to abilities
  • shop: sync weapon stats to GameSession for gameplay
  • shop: assign weapon icons in config assets
  • shop: improve UI with image buttons and layout
  • shop: add button images for shop UI
  • shop: improve UI with icons and kill progress
  • game: update AutoSave for weapon stat persistence
  • shop: add weapon config infrastructure
  • shop: add WeaponShopHandler and data migration
  • game-data: add weapon progress with per-stat upgrades
  • player: add player progress tracking interface
  • shop: add weapon domain models with unlock requirements
  • level: link EnemyLevelConfig to each LevelGeneratorConfig
  • enemy: add EnemyLevelConfig assets for Street, Jungle, Desert levels
  • enemy: integrate EnemyLevelConfig into spawning system
  • enemy: add configurable stats support to enemy combatants
  • enemy: add EnemyLevelConfig and EnemyTypeStats for per-level enemy configuration
  • rewards: add MachineGunAmmo support and weapon ownership check
  • logging: integrate FileLogger with GameLogger system
  • logging: add FileLogger with async writing and rotation
  • logging: add debug logs to game systems
  • feedback: integrate game logs with bug reports
  • logging: add game logging system with ring buffer
  • feedback: integrate feedback system in menus
  • feedback: add feedback UI panels
  • feedback: add UI styles
  • feedback: add button images
  • feedback: add infrastructure layer
  • feedback: add application layer
  • feedback: add domain layer entities
  • desert: update DesertLevelGeneratorConfig settings
  • desert: update obstacle prefabs for DesertLevel
  • desert: update background prefabs for DesertLevel
  • menu: add Desert-Level to level selector with background image
  • editor: add Column ID field to ObstaclePointMonoBehaviour inspector
  • obstacles: add manual column ID configuration for ObstaclePoints
  • desert: create Desert-Level scene with LevelGenerator config
  • desert: add gameplay music for desert level
  • desert: configure background prefabs with obstacle points
  • desert: add obstacle prefabs (SandbagObstacle, JeepObstacle, RockObstacle)
  • desert: add obstacle sprites with damage states (sandbag, jeep, rocks)
  • obstacle: add Sandbag, Jeep, Rocks types to ObstacleType enum for Desert Level
  • level: add Desert Level backgrounds and update config
  • level: add Desert Level folder structure
  • level: add desert theme detection to LevelThemeDetector
  • level: add Desert Level theme and configuration

Bug Fixes

  • level: update Jungle and Desert level configs
  • ui: add boss healthbar to Street and Desert levels
  • ui: improve timer display and pause menu handling
  • tutorial: resolve boss animation, UI z-order and obstacle collision issues
  • menu: hide loading screen when returning to MainMenu from cutscene
  • shop: ensure shop displays correctly over video background
  • obstacles: reduce entryPointOffset.y from 5 to 2
  • enemy: add exit phase when leaving cover points
  • obstacles: increase entryPointOffset.y to 3 for all obstacle prefabs
  • obstacle: increase entryPointOffset.y to prevent enemy visual jump
  • enemy: revert L-shaped path traversal to original single Lerp
  • ui: always show game speed indicator in timer
  • save: remove race condition in ShopUI.OnEnable()
  • enemy: configure consistent health bar offset for enemy prefabs
  • audio: prevent race condition canceling music track switch in Tutorial
  • ui: reposition tutorial progress and toast below timer
  • config: remove incorrect Inspector/Enemy entries from WeaponFirePointConfig
  • enemy: add skinType config to Desert and Tutorial levels
  • save: allow GameSpeed to save in Tutorial Level
  • boss: fix navigation to boss phase in branching system
  • tutorial: prevent loading screen from hiding prematurely on skip
  • gamespeed: use saved game speed instead of hardcoded timeScale
  • tutorial: use Panel.Pick() to block skip button clicks advancing step
  • tutorial: load intro cinematic when completing tutorial
  • save: reset button now saves empty GameData instead of deleting file
  • ui: correct grenade ammo HUD display size and spacing
  • ui: improve health damage screen effect cleanup and canvas detection
  • cutscene: update cutscene config for TheIncident rename and add TheOasis
  • cutscene: update ObeliskRising timeline and prefab configuration
  • cutscene: use normal scene loading instead of additive
  • shop: add MovementSpeed ability icon and increase size
  • reset: set starting values to 0 and keep Pistol after reset
  • rewards: give ammo when selecting already owned weapon
  • rewards: filter weapon options by shop-owned weapons
  • shop: sync weapon stats on game load without opening shop
  • enemy: prevent health override with external config flag
  • shop: prevent currency loss during scene transitions
  • enemies: fix broken progression weights in Street level

Improvements

  • game: improve game systems, pause handling and UI components
  • enemy: update enemy prefabs, obstacle configs and level settings
  • skill: move remotion skill to global scope
  • camera: optimize CameraFollow with sqrMagnitude and loop
  • tutorial: cache FindObjectOfType in StopPlayerMovement
  • combatant: remove redundant Vector3.Distance calculation
  • player: optimize distance checks with sqrMagnitude
  • player: cache Plane for mouse-to-world conversion
  • enemy: replace Vector3.Distance with sqrMagnitude
  • enemy: cache transform.Find for Entry point lookup
  • sorting: optimize DynamicSortingOrder with sqrMagnitude
  • cutscene: rename TheIncidentEntryCutscene to TheIncidentCutscene
  • cutscene: rename TheIncidentEntry to TheIncident
  • audio: cutscene explicitly controls its own audio lifecycle
  • cutscene: rename TheIncidentCutscene to TheIncidentEntryCutscene
  • level: cleanup wave generator and config editor
  • level: update StreetLevel backgrounds and BackgroundBase