Releases: Openlab-2-2023/WindowKill
Release list
0.6.2
v0.6.1 – Release Notes
Pridanie
- Pridané úvodné okno s návodom na hranie
- Pridaná hudba do pozadia pre spestrenie herného zážitku
v0.6.0
This release introduces significant updates to the windowkill project, including new inter-window communication features, enhanced game mechanics, and improvements to the codebase's structure and functionality. Below is a categorized summary of the most important changes:
Inter-Window Communication and Synchronization
- Introduced a global sync server using a shared broadcast channel (
tokio) to synchronize messages between windows, with commands for starting the server, sending messages, and subscribing windows to sync events (src-tauri/src/lib.rs). [1] [2]
Game Mechanics Enhancements
- Updated the
README.mdto reflect progress on game features, including successful spawning of enemies and bosses in multiple windows, transferring projectiles, and adding interactivity between windows (README.md). [1] [2] - Refactored the
Playerclass into a more genericEntityclass to represent various game elements (e.g., players, projectiles, enemies), and introduced a newNGonclass for boss entities with polygonal shapes (src/js/classes.js). [1] [2]
Frontend and UI Improvements
- Added a new
canvas.htmlfile to support rendering a canvas for the game, with a script for managing multi-window functionality (src/html/canvas.html). - Enhanced the game background to dynamically adjust its transparency based on local storage settings (
src/html/achievements.html).
Utility and Codebase Improvements
- Added utility functions for converting between canvas and monitor coordinates and generating random hex colors for better visual effects (
src/js/functions.js). - Refactored existing functions and replaced hardcoded values with configurable options, improving scalability and readability (
src/js/functions.js).
v0.5.1-alpha
This pull request includes a version bump for the application and refactors the achievement unlocking logic to ensure asynchronous operations are handled correctly. Below is a summary of the most important changes:
Version Updates:
- Updated the version in
package.jsonfrom0.5.0to0.5.1. - Updated the version in
src-tauri/tauri.conf.jsonfrom0.5.0to0.5.1.
Achievement Unlocking Logic Refactor:
- Refactored the
class Achievementsinsrc/js/options.js:- Replaced direct property assignment with a call to the
unlockmethod to handle achievement unlocking asynchronously. - Made the
_sendNotificationcall in theunlockmethod asynchronous to ensure notifications are sent properly.
- Replaced direct property assignment with a call to the
v0.5.0-alpha
This pull request introduces significant updates to the windowkill project, focusing on achievements functionality, dependency updates, and codebase improvements. The changes include adding new achievements, integrating a notification system, modifying core functionality, and updating project dependencies and metadata.
Achievements and Game Features:
README.md: Updated to reflect the addition of new achievements (e.g., "Open World," "No Space Left," "God of Colors") and their completion status.achievements_schema.json: Added a schema for achievements, detailing their names, descriptions, requirements, and progress tracking.src/html/achievements.html: Created a new HTML page to display achievements with progress bars and descriptions.src/js/gameUtils.js: Enhanced game logic to handle achievements, including tracking progress and handling game-over scenarios based on specific conditions. [1] [2]
Notifications Integration:
src/js/functions.js: Added a utility function_sendNotificationto handle in-game notifications, requesting permissions if necessary.src/js/options.js: Integrated the notification system into theOptionsclass for managing achievements and other game settings.
Dependency and Metadata Updates:
package.jsonandCargo.toml: Updated the project version to0.5.0and replaced thetauri-plugin-shelldependency withtauri-plugin-notification. [1] [2]src-tauri/tauri.conf.json: Updated the version metadata to0.5.0.
Codebase Simplification and Cleanup:
src-tauri/src/lib.rs: Removed unused code (e.g., file encryption logic) and added a new functioncreate_windowfor managing game windows. [1] [2]src-tauri/capabilities/default.json: Removed permissions for shell commands and added permissions for notifications and window management.
UI Enhancements:
src/index.html: Added an achievements display section to the main game interface.
These updates collectively enhance the game's functionality, user experience, and maintainability.
v0.4.2-alpha
This release introduces several updates to the project, including dependency additions, new functionality, and enhancements to window management and game mechanics. The most important changes are grouped into three themes: dependency and version updates, new features, and adjustments to game logic and window behavior.
Dependency and Version Updates:
- Updated the project version in
package.json,Cargo.toml, andtauri.conf.jsonto0.4.2. [1] [2] [3] - Added the
@tauri-apps/plugin-shelldependency inpackage.jsonand thetauri-plugin-shelldependency inCargo.toml. [1] [2]
New Features:
- Added an
encrypt_filefunction insrc-tauri/src/lib.rsfor XOR-based file encryption. - Introduced a new configuration option
screenMultiplierinOptionsto dynamically adjust game settings based on screen resolution.
Adjustments to Game Logic and Window Behavior:
- Updated the
shrinkWindowand_gameOvermethods inGameUtilsto usescreenMultiplierfor scaling window size and positioning dynamically. [1] [2] [3] - Adjusted enemy spawn radius in
GameUtilsto scale withscreenMultiplier. - Modified the startup logic in
src/main.jsto calculate and apply a screen-based multiplier for window size and position adjustments.
These changes improve the application's adaptability to different screen resolutions, enhance functionality with new features, and ensure consistency across dependencies and versions.
v0.4.0-alpha
Added difficulty options and fixed resize glitches
v0.3.0-alpha
Added functions for spawning enemies, updated UI and score mechanics
v0.2.2-alpha
Added temporal fix for scaling issues