Commit Graph

231 Commits

Author SHA1 Message Date
Z. Cliffe Schreuders
ae270d2fa6 Refactor interaction distance calculation: Introduce getInteractionDistance function to improve accuracy based on player direction. Update interaction range constant to half of the previous value for refined interaction mechanics. 2025-10-24 10:19:11 +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
a2a9359a02 Enhance Container Minigame: Implement notes item handling to trigger the notes minigame before taking items, and manage container state for returning after the minigame. Update unlock system alert message for clarity. Modify CyBOK heist scenario by removing unnecessary objects and updating item descriptions for better gameplay experience. 2025-10-22 18:47:01 +01:00
Z. Cliffe Schreuders
97391c2988 Refactor Container Minigame: Enhance item handling to properly manage takeable items and delegate interactions to the main game handler. Update inventory management to prevent duplicate pickups and streamline object interactions.
Add new scenario: Introduce "CyBOK Heist" with detailed room and object interactions, including clues and challenges related to cybersecurity concepts.
2025-10-22 17:16:10 +01:00
Z. Cliffe Schreuders
28becd0772 Enhance TiledItemPool: Update getUnreservedItems to exclude conditional items and add inventory item handling in createRoom to prevent sprite creation for marked items. 2025-10-22 13:46:34 +01:00
Z. Cliffe Schreuders
baceea6dab Add AI Coding Agent Instructions: Introduce comprehensive documentation for the Break Escape project, detailing architecture, data flow, key patterns, and essential development workflows to enhance onboarding and developer understanding. 2025-10-22 13:29:16 +01:00
Z. Cliffe Schreuders
1b313fbdaa Implement keyboard controls for player movement and interaction
- Added keyboard input handling for movement using arrow keys and WASD.
- Integrated spacebar for jump functionality and 'E' key for interacting with nearest objects.
- Enhanced player movement logic to prioritize keyboard input over mouse movement.
- Created visual effects for player jumping, including cooldown management and overlay animations.
2025-10-22 13:20:05 +01:00
Z. Cliffe Schreuders
f1471c7d29 Add Minigame Documentation: Introduce detailed usage guides for the Container and Notes minigames, outlining features, usage scenarios, and integration with existing systems. Include example data structures and testing instructions to enhance developer understanding and facilitate future enhancements. 2025-10-22 11:43:45 +01:00
Z. Cliffe Schreuders
21a3c40026 Remove Deprecated Files: Delete unused asset lists, minigame usage documentation, and room loading summaries to streamline the project. Update CSS for container and password minigames to improve layout consistency. Refactor image source references in minigames to utilize texture keys for better asset management. 2025-10-22 11:43:17 +01:00
Z. Cliffe Schreuders
90da3cdb5e Add Room Loading Documentation: Introduce comprehensive documentation for the room loading system, detailing the architecture, data flow, and matching algorithm. Include proposed improvements for refactoring, implementation plans, and examples for better maintainability and testability. Create a summary file to provide an overview of the documentation structure and key concepts. 2025-10-22 00:32:00 +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
8fe71efa89 Implement Notebook Functionality: Add a notebook button to the Password and Container minigames for saving post-it notes. Enhance inventory interactions with pulse animations instead of notifications for item collection. Update CSS for new animations and layout adjustments in various minigames to improve user experience. 2025-10-21 12:17:28 +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
c2c60cc515 Update Inventory CSS: Remove horizontal overflow property and set a new font family for the inventory container to enhance visual consistency and readability. 2025-10-14 23:24:11 +01:00
Z. Cliffe Schreuders
ce8f720523 Update Text File Minigame: Enhance window control functionality by implementing minimize and maximize actions. The minimize button now closes the minigame, while the maximize button toggles fullscreen mode. Update HTML documentation to clarify window control behavior. 2025-10-14 17:23:07 +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
fd33160114 Enhance Object Interaction System: Refactor input handling to centralize object interaction logic in the main scene, allowing for more efficient detection of interactable objects. Introduce a new helper function to find objects at clicked positions and prevent player movement during interactions. Update room object click handlers to utilize the new system, improving gameplay dynamics and maintainability. 2025-10-13 12:04:23 +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
92d5fb268d Allow player movement during minigames: Update Bluetooth Scanner, Biometrics, and Lockpick Set minigames to enable player movement while the game is active by introducing a disableGameInput parameter. Refactor minigame manager to respect this parameter, enhancing gameplay experience and flexibility. 2025-10-13 08:17:28 +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
422b8e5c7b Enable horizontal overflow in inventory CSS and comment out debug logs in door sprite creation logic. This improves the user interface for inventory management and cleans up console output for better performance during gameplay. 2025-10-11 00:08:03 +01:00
Z. Cliffe Schreuders
422f234106 Enhance Door Interaction Logic: Refactor door unlocking functions to directly utilize the newly exported startLockpickingMinigame and startKeySelectionMinigame from interactions.js, improving code clarity and reducing reliance on window object checks. This change streamlines the minigame initiation process for better maintainability. 2025-10-10 23:59:01 +01:00
Z. Cliffe Schreuders
9cc382e61d Remove legacy room management system: Delete the rooms_new.js file, which contained the previous room management logic and depth layering approach. This change is part of the transition to a new modular system for room management and interactions, ensuring improved maintainability and integration with updated game mechanics. 2025-10-10 23:48:40 +01:00
Z. Cliffe Schreuders
de8aebfa94 Rename index_new.html -> index.html 2025-10-10 23:29:45 +01:00
Z. Cliffe Schreuders
7c23395b05 Add Room Management and Collision Systems: Introduce a new room management system with simplified depth layering for object rendering. Implement collision management and door systems for improved player interactions. Refactor existing room logic to enhance modularity and maintainability, separating concerns into dedicated modules for doors, collisions, and object physics. Update relevant files to ensure seamless integration with the game environment. 2025-10-10 23:27:47 +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
a010576dfd Add Lockpicking and Dusting Minigame Styles: Introduce new CSS files for lockpicking and dusting minigames, enhancing visual feedback and user interaction. Update inventory styles for improved scaling and responsiveness. Refactor existing styles to remove legacy dusting game components and ensure consistency across minigame interfaces. 2025-10-10 18:55:41 +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
039a76d5cc Refactor note removal logic in Notes Minigame: Update the method for removing notes from the scene to align with the inventory system. Replace sprite-based checks with objectId references for improved consistency and clarity. Enhance visibility management for room objects and update scene object lists accordingly. 2025-10-10 02:42:12 +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
6c277da286 Implement door transition tracking: Add logic to prevent repeated door transitions by tracking the last transition made. Enhance the door transition detection system to improve gameplay flow and maintain room state consistency. Update comments for better clarity on the new functionality. 2025-09-01 02:10:47 +01:00
Z. Cliffe Schreuders
9db19b503a Refactor player and room depth management: Simplify depth calculations for player and room elements by using world Y position plus layer offsets. Update door sprite depth settings for consistency and improve door transition detection logic. Enhance comments for clarity and maintainability across the codebase. 2025-09-01 02:05:57 +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
d9b5f309d2 Adjust KEY_SHRINK_FACTOR in lockpicking-game-phaser.js to improve key rotation simulation. This change enhances the visual representation of the key during gameplay, contributing to a more realistic user experience. 2025-08-23 11:46:25 +01:00
Z. Cliffe Schreuders
6ff44f5971 Enhance lockpicking-game-phaser.js: Refactor key insertion logic to ensure accurate pin alignment and improve user feedback during gameplay. Introduce new methods for calculating key surface height and snapping pins to exact positions based on key cuts. Update click zone dimensions for better interaction and enhance visual feedback for pin highlighting at the shear line. Maintain clarity in comments for improved code maintainability. 2025-08-23 11:40:53 +01:00
Z. Cliffe Schreuders
d3b2e9af7e Refactor lockpicking-game-phaser.js: Implement render texture for key drawing to enhance visual fidelity and streamline key rendering logic. Introduce new methods for drawing key components, including a solid shape for the blade and a polygonal representation for the handle. Add click handler for key insertion to improve user interaction. Update comments for clarity and maintainability. 2025-08-23 00:10:11 +01:00
Z. Cliffe Schreuders
7d1eda89ba Refactor lockpicking-game-phaser.js: Adjust pin lift and fall speeds for key mode to enhance gameplay dynamics. Update comments for clarity on the new slower movement mechanics. Remove redundant key surface height calculation method to streamline code and improve maintainability. 2025-08-21 00:40:03 +01:00