Files
zwitschi 8462a2fde7
Build / Export windows (push) Successful in 10m56s
Build / Export linux (push) Successful in 6m10s
feat: Implement nausea symptom system and related features
- Added SymptomManager autoload for managing symptom intensities.
- Introduced nausea tilt effect for camera roll based on nausea intensity.
- Created color desaturation shader and overlay for visual feedback.
- Developed TreatmentManager to handle nausea ramping during IV treatment.
- Added hospital room scene with first-person controller and interactions.
- Implemented sit-down interaction for the treatment chair.
- Created IV insertion sequence with animations and completion signal.
- Added player controller with movement and interaction capabilities.
- Integrated nausea effects into the player experience with smooth transitions.
2026-05-30 14:14:38 +02:00

3.9 KiB
Raw Permalink Blame History

Chemo-Sim — A First-Person Chemo Treatment Simulator

Changelog for Chemo-Sim. See README.md for game overview and docs/DEVELOPMENT_ROADMAP.md for development plans.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added — Sprint 3: Nausea Symptom System

  • 3.1 Symptom manager autoload (scripts/game_systems/symptom_manager.gd): generic per-symptom intensities clamped to [0, 100], trigger_symptom / add_intensity / get_intensity / reset_all, and nausea_intensity_changed + generic symptom_intensity_changed signals. Registered as the SymptomManager autoload.
  • 3.2 Screen tilt effect (scripts/symptoms/nausea_tilt.gd): camera Z-axis roll oscillating at ~0.3 Hz, amplitude scaled by nausea up to ~5°, smoothly following intensity. Attached to the player Camera3D.
  • 3.3 Color desaturation shader (assets/shaders/desaturation.gdshader + scripts/symptoms/nausea_desaturation.gd + scenes/symptoms/nausea_overlay.tscn): full-screen ColorRect that blends the screen toward grayscale, reaching full desaturation at nausea ≥ 80, fading smoothly with intensity.
  • 3.4 Treatment manager (scripts/game_systems/treatment_manager.gd): on IV iv_completed, ramps nausea from its current value to ~40 over 30 seconds, then holds. SymptomManager propagates changes to the tilt and desaturation effects. Wired IVInsertion.iv_completed → TreatmentManager.start_ramp.

Added — Sprint 2: Environment & Character

  • 2.1 Hospital room scene (scenes/hospital/hospital_room.tscn): floor, ceiling, four walls (with collision), placeholder furniture (bed, chair, IV stand, bedside table), fluorescent lighting (directional + omni), and a start camera/player facing the chair. Set as run/main_scene.
  • 2.2 First-person controller (scripts/character/player_controller.gd + scenes/hospital/player.tscn): CharacterBody3D with capsule collision, child Camera3D, WASD movement, captured mouse-look (pitch clamped), gravity, and an interaction RayCast3D. Added move_* / interact input actions to project.godot.
  • 2.3 Sit-down interaction (scripts/character/chair_interaction.gd + scenes/hospital/chair_interaction.tscn): Area3D trigger with "Press E to sit/stand" prompt, smooth tween to a seat marker, movement lock while seated, and player_seated / player_stood signals.
  • 2.4 IV insertion sequence (scripts/character/iv_insertion.gd + scenes/hospital/iv_insertion.tscn): IV arm placeholder with a tweened needle-approach + tape-press animation, emitting iv_completed. Wired ChairInteraction.player_seated → IVInsertion.begin_sequence in the room scene.

Added — Sprint 1: Project Scaffolding & Core Tech

  • 1.1 Initialized Godot 4.x project: project.godot (name chemo-sim, version 0.1.0, Forward+ renderer with mobile fallback, 1920×1080 window).
  • 1.2 Created directory structure per docs/ARCHITECTURE.md (scenes/, scripts/, assets/, export_templates/, build/), with .gitkeep placeholders so empty dirs are tracked.
  • 1.3 Set up Gitea Actions CI/CD (.gitea/workflows/build.yml): builds on push/PR to main, exports Windows .exe + Linux .x86_64 via the barichello/godot-ci:4.3 container, uploads artifacts per run. Removed the GitHub Actions workflow in favor of Gitea-only CI.
  • 1.4 Configured export presets (export_presets.cfg) for Windows Desktop and Linux (x86_64). Verified both export locally via godot --export-release (Windows .exe ~80 MB, Linux .x86_64 ~63 MB).
  • Added placeholder icon.svg referenced by project.godot.

Fixed

  • Corrected .gitignore: removed *.godot rule that would have ignored the required project.godot; added Godot 4 cache (.godot/), local toolchain (tools/), and build output ignores.