Commit Graph

80 Commits

Author SHA1 Message Date
Z. Cliffe Schreuders
d855d5430f Fix NPC interaction and event handling issues
- Added a visual problem-solution summary for debugging NPC event handling.
- Resolved cooldown bug in NPCManager by implementing explicit null/undefined checks.
- Modified PersonChatMinigame to prioritize event parameters over state restoration.
- Updated security guard dialogue in Ink scenarios to improve interaction flow.
- Adjusted vault key parameters in npc-patrol-lockpick.json for consistency.
- Changed inventory stylesheet references to hud.css in test HTML files for better organization.
2025-11-14 16:32:07 +00:00
Z. Cliffe Schreuders
629ff55371 feat(npc): Implement collision-safe movement for NPCs
- Added a new system to prevent NPCs from clipping through walls and tables during collisions.
- Introduced functions for position validation and safe movement: `isPositionSafe()`, `boundsOverlap()`, and `findSafeCollisionPosition()`.
- Updated `handleNPCCollision()` and `handleNPCPlayerCollision()` to utilize the new safe position logic, allowing NPCs to find alternative paths when blocked.
- Created comprehensive documentation detailing the implementation, testing procedures, and performance analysis.
- Ensured minimal performance impact with efficient collision checks and pathfinding.
2025-11-10 13:04:14 +00:00
Z. Cliffe Schreuders
7be8b67f27 Add ContainerMinigame NPC return flow and conversation management
- Introduced a new method in ContainerMinigame to handle returning to conversations after NPC inventory interactions, enhancing user experience.
- Updated minigame exports to include the new return function for better integration.
- Enhanced PersonChatMinigame and PhoneChatMinigame to track current conversation context, improving narrative continuity.
- Added a new sprite asset for character representation in the game.
2025-11-08 12:30:30 +00:00
Z. Cliffe Schreuders
14bc9af43e Add NPC inventory management and UI enhancements
- Introduced new NPC inventory system allowing NPCs to hold and give items to players.
- Updated ContainerMinigame to support NPC mode, displaying NPC avatars and available items.
- Enhanced chat and conversation systems to sync NPC item states with Ink variables, improving narrative interactions.
- Added event listeners for item changes, ensuring dynamic updates during conversations.
- Implemented new methods in NPCGameBridge for item giving and inventory display, streamlining item interactions.
2025-11-08 10:26:50 +00:00
Z. Cliffe Schreuders
e0cef60f37 feat(npc): Add talk icon system and update NPC sprite configurations 2025-11-04 21:31:00 +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
9aae3f9443 feat: Implement centralized sound management system
- Created SoundManager class for handling audio playback using Phaser's sound system.
- Added methods for preloading, initializing, and playing sounds with volume control.
- Integrated UI sound helpers for easier sound attachment to DOM elements.
- Updated game.js to initialize sound manager and preload sounds.
- Modified interactions.js, unlock-system.js, and panels.js to play appropriate sounds on interactions.
- Created SOUND_SYSTEM_QUICK_REFERENCE.md for documentation on sound system usage.
- Optimized NPCBarkSystem and NPCManager with caching and event listener cleanup.
2025-11-01 00:34:26 +00:00
Z. Cliffe Schreuders
e05b4d7903 feat(npc): Add pixel-art avatars for NPCs in bark notifications and update scenario configurations 2025-11-01 00:08:13 +00:00
Z. Cliffe Schreuders
34f1739484 feat(npc): Add audio feedback for NPC bark notifications with message received sound 2025-10-31 21:10:07 +00:00
Z. Cliffe Schreuders
5f6cc7e59d feat: Add NPCs and phone interactions to the CEO exfiltration scenario; implement new dialogue for Neye Eve and Gossip Girl 2025-10-30 14:40:54 +00:00
Z. Cliffe Schreuders
f5f7de3d48 feat: Add voice message playback functionality using Web Speech API; implement voice selection and UI controls 2025-10-30 03:07:46 +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
2e23d50aec Refactor scenarios: Remove deprecated XML files and update JSON scenarios with starting inventory items. Adjust room creation logic to prevent sprite creation for starting inventory items. Update scenario select paths for consistency. 2025-10-25 23:28:25 +01:00
Z. Cliffe Schreuders
6f4cfd43c8 Enhance office room layout and interactions
- Updated room_office2.tmj to adjust object positions and dimensions for better alignment.
- Added new objects and refined existing ones to improve gameplay experience.
- Modified TiledItemPool in rooms.js to support regular and table items separately, ensuring proper item matching and prioritization.
- Improved interaction handling for swivel chairs, allowing them to be kicked and spin upon collision with walls.
- Updated object physics to handle swivel chair collisions dynamically, enhancing realism.
- Revised scenario details in cybok_heist.json for clarity and improved narrative flow.
2025-10-24 09:59:11 +01:00
Z. Cliffe Schreuders
48b1ad3bbf Refactor Lockpicking Minigame: Update button functionality for mode switching between key and lockpicking modes. Introduce new icons for keyway, password, and pin in the inventory. Enhance interaction logic for locked objects and doors, including visual indicators. Clean up CSS styles for improved layout and user experience. Remove unused assets and streamline code for better performance. 2025-10-22 00:10:26 +01:00
Z. Cliffe Schreuders
2230885f12 Update Room and Scenario Files: Rename an object in the reception room JSON files to "phone" for clarity. Modify the scenario brief in the CEO exfiltration scenario for improved narrative engagement. Enhance CSS styles across various minigames, including adjustments to layout, font sizes, and new sections for item displays in lockpicking and password minigames, improving overall user experience. 2025-10-21 14:43:34 +01:00
Z. Cliffe Schreuders
f787bd7683 Enhance Password Minigame: Implement on-screen keyboard toggle functionality and update password visibility button to use icons. Add new CSS styles for keyboard and control buttons to improve user interaction. Adjust display logic for the on-screen keyboard based on user preferences. 2025-10-21 11:12:23 +01:00
Z. Cliffe Schreuders
441aeae8d3 Update Minigame Framework: Replace references to 'minigames.css' with 'minigames-framework.css' across multiple HTML files for improved organization. Add new Google Font 'Pixelify Sans' to enhance typography in the game. Introduce new icon assets for better visual representation in various minigames, including search, disk, backpack, and clipboard icons. Update CSS styles for various minigames to enhance visual consistency and user experience. 2025-10-21 10:58:56 +01:00
Z. Cliffe Schreuders
9c718e6239 Add Key Ring Functionality: Introduce a new key ring system to manage keys in inventory, including visual representation and interaction logic. Update CSS for key ring styling and enhance inventory management to support key grouping and display. Modify key-lock and unlock systems to recognize keys from the key ring, improving gameplay dynamics. 2025-10-14 23:56:31 +01:00
Z. Cliffe Schreuders
b04771e0b5 Enhance Minigame Framework: Add new Text File Minigame and integrate it into the existing system. Update interaction logic to support text file objects, allowing players to view and interact with file contents. Introduce CSS styles for the text file interface and update relevant HTML files to include new styles. Modify existing minigames to ensure compatibility with the new text file functionality, enhancing overall gameplay experience. 2025-10-14 17:12:59 +01:00
Z. Cliffe Schreuders
e3ed198059 Add Password Minigame: Introduce a new minigame for password entry, featuring customizable hints, keyboard input, and attempt tracking. Implement CSS styles for the minigame interface and integrate it into the existing framework. Update index.html to include the new CSS file and register the minigame in the minigame manager. Add test page for functionality and ensure compatibility with existing game mechanics. 2025-10-14 01:52:15 +01:00
Z. Cliffe Schreuders
6c06aeafe7 Add PIN Minigame: Introduce a new minigame for PIN entry, featuring a digital keypad, attempt logging, and visual feedback for correct and incorrect inputs. Implement CSS styles for the minigame interface and integrate it into the existing framework. Update index.html to include the new CSS file and register the minigame in the minigame manager. Add test page for functionality and ensure compatibility with the pin-cracker item for enhanced gameplay experience. 2025-10-13 23:45:53 +01:00
Z. Cliffe Schreuders
051b90aaa8 Add Phone Messages Minigame: Introduce a new minigame for interacting with phone messages, including voice and text message playback, voice selection, and observation display. Update index.html to include the new CSS file and integrate the minigame into the existing framework. Add test page for functionality and enhance interaction logic for phone objects in the game. 2025-10-13 18:48:14 +01:00
Z. Cliffe Schreuders
aa53ce53ea Add Container Minigame: Introduce a new minigame for interacting with container items, including features for visual display, item interaction, and integration with the unlock system. Add CSS styles and test page for functionality. Update index.html and minigame manager to support the new minigame. 2025-10-13 11:53:07 +01: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
ebef1bcd12 Add new assets and update image references: Introduce fingerprint kit and workstation images to the project. Update inventory CSS for improved styling and adjust image loading paths in game.js to reflect new asset locations. Comment out unused object scales in rooms.js for clarity. 2025-10-10 19:08:11 +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
378045dded Add Notes Minigame enhancements: Integrate new notepad assets and styles, update minigame logic for improved navigation and observation editing. Introduce responsive design elements and ensure inventory integration for the notepad. Refactor existing code for better maintainability and user experience. 2025-10-10 15:20:04 +01:00
Z. Cliffe Schreuders
b8c8c79f86 Add Notes Minigame: Implement interactive note display and inventory integration
Introduce a new Notes Minigame that allows players to view and interact with notes in a notepad-style interface. The minigame supports adding notes to the inventory, displaying observations, and includes navigation features such as previous/next buttons and search functionality. Update relevant files for integration with the existing game systems, including interaction and inventory management. Add test HTML for verifying minigame features and include necessary assets for the notepad background.
2025-10-10 02:39:28 +01:00
Z. Cliffe Schreuders
e8db636f45 Add new assets and update room definitions: Introduce a comprehensive list of available object assets in available_objects.txt. Add multiple new object images and room JSON/TMJ files for room_ceo2, room_closet2, room_office2, and room_servers2. Update existing room files to enhance gameplay experience and ensure proper asset integration. Implement scripts for managing corrupted GID references and external tileset removal to maintain map integrity. 2025-10-10 00:18:04 +01:00
Z. Cliffe Schreuders
16f57e8ffe Enhance room reception functionality: Add a new wall layer to JSON and TMJ files for improved room structure. Implement custom collision boxes for wall tiles in rooms.js to enhance player interactions. Introduce player bump effect when stepping over floor items, improving gameplay dynamics and visual feedback. 2025-10-07 17:29:54 +01:00
Z. Cliffe Schreuders
401e4319f7 Update room reception assets and implement table collision logic: Modify JSON and TMJ files to adjust object IDs and image paths for tables. Enhance room.js to add collision detection for tables, ensuring proper interaction with player characters. Update tileset version for improved asset management. 2025-10-07 14:01:08 +01:00
Z. Cliffe Schreuders
ee4117a651 Add new assets and scripts for object management: Introduce a new tileset JSON file and an update script to ensure all objects are included. Add multiple object images and update HTML for improved asset integration. Remove outdated assets and enhance room definitions for better gameplay experience. 2025-10-07 12:31:07 +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
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
Z. Cliffe Schreuders
6af8347678 Enhance notification message formatting in index.html: update message display to replace newlines with line breaks for better readability, and adjust scenario1.json text and observations for clarity and context. 2025-05-16 11:57:36 +01:00
c7309830
003ff4bc9b final 2025-04-09 10:00:09 +00:00
c7309830
6bd6d26fb5 minor fixes pt2 2025-04-07 21:17:45 +00:00
c7309830
e7aa6b3f0f minor fixes 2025-04-07 21:06:16 +00:00
c7309830
07896a1e0a fixed captain meow scenario pt 2 2025-04-02 16:04:11 +00:00
Z. Cliffe Schreuders
d5938b6973 Enhance game scenarios with completion messages and update cabinet type in biometric breach scenario. Add viewport meta tag for improved mobile responsiveness. 2025-03-28 16:51:52 +00:00
c7309830
7e758e3d86 adjustments 2025-03-28 00:37:47 +00:00
Z. Cliffe Schreuders
6afbe0331b Refactor object handling in index.html to improve room object management and interaction. Introduced a mapping system for room objects by type, streamlined sprite creation, and enhanced inventory handling with unique identifiers. Updated scenario and room JSON files to reflect new object types and connections. 2025-03-27 16:22:27 +00:00
c7309830
604c3ddbde workstation update pt 2 2025-03-26 12:33:52 +00:00
c7309830
2865cfa317 workstation update 2025-03-26 12:11:44 +00:00
c7309830
78958a932c few changes 2025-03-21 14:28:53 +00:00
Z. Cliffe Schreuders
b770eec0c9 Add player sprites 2025-03-17 11:34:28 +00:00
Z. Cliffe Schreuders
0d55f0b695 additional graphics assets 2025-03-17 00:22:14 +00:00