v0.10.0-beta
completedDeployed on Feb 4, 2026, 09:15:23
Deployment Details
Version
v0.10.0-beta
Status
completedPlatforms
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
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