Commit Graph

16 Commits

Author SHA1 Message Date
Z. Cliffe Schreuders
72e2e6293f feat: Implement NPC security guard interaction for lockpicking detection
- Added a new security guard NPC with conversation flow for lockpicking attempts.
- Integrated influence system to determine NPC reactions based on player choices.
- Created a new JSON scenario for the security guard's behavior and interactions.
- Refactored lockpicking system to allow NPC interruptions during attempts.
- Developed a test scenario to visualize NPC patrol and line-of-sight detection.
- Added a debug panel for testing line-of-sight visualization in the game.
2025-11-11 01:07:05 +00:00
Z. Cliffe Schreuders
17848115a1 Implement NPCLazyLoader for per-room NPC loading and refactor related systems
- Introduced NPCLazyLoader class to handle NPC loading on a per-room basis, optimizing memory usage and performance.
- Updated the create() function to utilize the new lazy loading mechanism for NPCs in the starting room.
- Refactored loadRoom function to support asynchronous NPC loading, ensuring NPCs are registered before room visuals are created.
- Adjusted PersonChatMinigame to load NPCs from the current room context, enhancing NPC management.
- Updated scenarios to reflect the new NPC structure, moving NPC definitions from scenario root to individual rooms.
2025-11-07 00:33:22 +00:00
Z. Cliffe Schreuders
78cc3beab4 feat(person-chat): Implement click-through mode for dialogue advancement and enhance UI with continue button 2025-11-05 09:18:58 +00:00
Z. Cliffe Schreuders
4daaa87534 feat(npc): Implement conversation state management and enhance NPC interaction features 2025-11-05 01:03:08 +00:00
Z. Cliffe Schreuders
e73a6a038b Add NPC sprite test scenario, server for development, and HTML test pages
- Created a new JSON scenario file for testing NPC sprite functionality.
- Implemented a simple HTTP server with caching headers for development purposes.
- Added an HTML page for testing NPC interactions, including system checks and game controls.
- Introduced a separate HTML page for testing item delivery through person chat interactions.
2025-11-04 14:16:48 +00:00
Z. Cliffe Schreuders
99097130f4 feat(npc): Implement NPC Game Bridge with helper NPC functionality
- Added NPCGameBridge class to facilitate interactions between NPCs and game state.
- Implemented methods for unlocking doors, giving items, setting objectives, revealing secrets, adding notes, triggering events, and discovering rooms.
- Introduced a helper NPC that can assist players by unlocking the CEO's office and providing items based on trust levels.
- Created comprehensive documentation for the NPC Game Bridge implementation.
- Updated scenario JSON to include the new helper NPC and its interactions.
- Added Ink story for the helper NPC demonstrating its capabilities.
2025-10-31 10:42:08 +00:00
Z. Cliffe Schreuders
b8bed005aa feat: Update minigame controls to use "Notepad" terminology and enhance NPC system initialization 2025-10-30 13:40:34 +00:00
Z. Cliffe Schreuders
ef5d85b744 Refactor InkEngine to allow manual control of story continuation; enhance continue method for better text accumulation and logging
Update interactions.js to reference new version of constants

Improve NPCBarkSystem to dynamically import phone-chat minigame and handle fallback UI more gracefully

Modify constants.js to conditionally export GAME_CONFIG based on Phaser availability

Update implementation log for Phone Chat Minigame, detailing completed modules and next steps

Create detailed implementation plan for Phone Chat Minigame, outlining structure, features, and integration points

Add test HTML page for Phone Chat Minigame, including setup, chat tests, and history management functionalities
2025-10-29 19:17:51 +00:00
Z. Cliffe Schreuders
9fffb6b4e4 Add NPC dialogue and interaction scripts
- Created a generic NPC script with conversation handling.
- Developed an Alice NPC script demonstrating branching dialogue and state tracking.
- Implemented a test NPC script for development purposes.
- Added JSON representations for the NPC scripts.
- Created an HTML test interface for NPC integration testing.
- Included event handling and bark systems for NPC interactions.
2025-10-29 13:48:22 +00:00
Z. Cliffe Schreuders
ea15e7d2c8 Add animated plant assets and update room configurations: Introduce new animated plant images for enhanced visual effects in the game. Update room JSON and TMJ files to include these assets, ensuring proper integration with the existing room management system. Refactor player effects to trigger animations when interacting with animated plants, improving gameplay dynamics. 2025-10-13 11:22:35 +01:00
Z. Cliffe Schreuders
40edca9fc7 Add Codebase Review Document and Refactor Key Systems: Introduce a comprehensive review of the codebase organization, highlighting areas for improvement and recent refactoring successes. Refactor key-lock and unlock systems for better modularity and maintainability, consolidating logic into dedicated modules. Update relevant files and documentation to reflect these changes, ensuring a clearer structure and improved performance. 2025-10-12 23:11:32 +01:00
Z. Cliffe Schreuders
d46fa79718 Implement Minigames for Bluetooth Scanner, Biometrics, and Lockpick Set: Transition Bluetooth and biometrics functionalities to dedicated minigames, enhancing user interaction and gameplay experience. Introduce new CSS styles for each minigame and update the main game logic to support these changes. Remove legacy systems for biometrics and Bluetooth management to streamline code and improve maintainability. 2025-10-11 02:25:50 +01:00
Z. Cliffe Schreuders
45d885d913 Refactor Notes Minigame: Remove legacy notes system and integrate new note management logic. Update UI components for displaying important notes with star icons and enhance observation editing features. Introduce new assets for improved visual representation and ensure consistent integration with the inventory system. 2025-10-10 17:11:02 +01:00
Z. Cliffe Schreuders
3940d04a62 Update key-demo.html and lockpicking minigame: Enhance key mode functionality by introducing a random key selection feature, allowing players to choose from three random keys. Update UI instructions for clarity and improve feedback messages based on key selection outcomes. Adjust game parameters to streamline the key selection process and ensure a smoother gameplay experience.
WiP updates to the main game including improved doors, animations, and player depth. Locks currently disabled.
2025-08-31 23:10:58 +01:00
Z. Cliffe Schreuders
b864d3e139 Refactor minigame structure and styles: Update index_new.html to link to the new minigames-framework.css, add new lockpicking-comparison.html and locksmith-forge.html files for enhanced gameplay, and introduce dusting and lockpicking CSS files for improved styling. Update README_design.md for clarity on main.js functionality. Add new test-phaser-lockpicking.html for testing purposes. Enhance Bluetooth system with new functionality in bluetooth.js and interactions.js. Ensure game state management for notes and Bluetooth devices is consistent across the application. 2025-08-08 15:33:44 +01:00
Z. Cliffe Schreuders
c4d8508bcf Add BreakEscape game structure: Introduce new modular HTML, CSS, and JavaScript files for the BreakEscape game, enhancing maintainability and organization. Include design documentation and refactoring summary for clarity. Add new scenarios and assets for gameplay expansion. 2025-07-13 23:18:57 +01:00