Skip to content

Releases: Openlab-2-2023/WindowKill

0.6.2

Choose a tag to compare

@martasskv5 martasskv5 released this 02 Jun 16:18

v0.6.2

v0.6.1 – Release Notes

Choose a tag to compare

@martasskv5 martasskv5 released this 28 May 17:31
3864d75

Pridanie

  • Pridané úvodné okno s návodom na hranie
  • Pridaná hudba do pozadia pre spestrenie herného zážitku

v0.6.0

Choose a tag to compare

@martasskv5 martasskv5 released this 26 May 15:59
1fb5cda

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.md to 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 Player class into a more generic Entity class to represent various game elements (e.g., players, projectiles, enemies), and introduced a new NGon class for boss entities with polygonal shapes (src/js/classes.js). [1] [2]

Frontend and UI Improvements

  • Added a new canvas.html file 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

Choose a tag to compare

@martasskv5 martasskv5 released this 20 May 08:40
2842544

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.json from 0.5.0 to 0.5.1.
  • Updated the version in src-tauri/tauri.conf.json from 0.5.0 to 0.5.1.

Achievement Unlocking Logic Refactor:

  • Refactored the class Achievements in src/js/options.js:
    • Replaced direct property assignment with a call to the unlock method to handle achievement unlocking asynchronously.
    • Made the _sendNotification call in the unlock method asynchronous to ensure notifications are sent properly.

v0.5.0-alpha

Choose a tag to compare

@martasskv5 martasskv5 released this 20 May 07:32
765aaae

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 _sendNotification to handle in-game notifications, requesting permissions if necessary.
  • src/js/options.js: Integrated the notification system into the Options class for managing achievements and other game settings.

Dependency and Metadata Updates:

  • package.json and Cargo.toml: Updated the project version to 0.5.0 and replaced the tauri-plugin-shell dependency with tauri-plugin-notification. [1] [2]
  • src-tauri/tauri.conf.json: Updated the version metadata to 0.5.0.

Codebase Simplification and Cleanup:

  • src-tauri/src/lib.rs: Removed unused code (e.g., file encryption logic) and added a new function create_window for 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

Choose a tag to compare

@martasskv5 martasskv5 released this 16 May 15:00
5249ef6

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, and tauri.conf.json to 0.4.2. [1] [2] [3]
  • Added the @tauri-apps/plugin-shell dependency in package.json and the tauri-plugin-shell dependency in Cargo.toml. [1] [2]

New Features:

  • Added an encrypt_file function in src-tauri/src/lib.rs for XOR-based file encryption.
  • Introduced a new configuration option screenMultiplier in Options to dynamically adjust game settings based on screen resolution.

Adjustments to Game Logic and Window Behavior:

  • Updated the shrinkWindow and _gameOver methods in GameUtils to use screenMultiplier for scaling window size and positioning dynamically. [1] [2] [3]
  • Adjusted enemy spawn radius in GameUtils to scale with screenMultiplier.
  • Modified the startup logic in src/main.js to 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

Choose a tag to compare

@martasskv5 martasskv5 released this 12 May 12:47

Added difficulty options and fixed resize glitches

v0.3.0-alpha

Choose a tag to compare

@martasskv5 martasskv5 released this 04 May 08:17
40c9f1c

Added functions for spawning enemies, updated UI and score mechanics

v0.2.2-alpha

Choose a tag to compare

@martasskv5 martasskv5 released this 22 Apr 10:47
d38393e

Added temporal fix for scaling issues

v0.2.1-alpha

Choose a tag to compare

@martasskv5 martasskv5 released this 16 Apr 06:18

Updated game end screen