Skip to content
This repository was archived by the owner on Nov 10, 2026. It is now read-only.

v0.2.0 - Introducing Game Modes

Choose a tag to compare

@lloura lloura released this 20 Dec 23:35
· 107 commits to main since this release

Duel! v0.2.0

This release transforms Duel! into a multi-mode game, introducing a "Classic" mode, settings persistence, and a more dynamic and polished interface.

New Features

  • Game Modes: Introduced Classic Mode (Rock, Paper, Scissors) for anyone who might prefer the traditional experience.
  • Mode Selector: Added a new menu button in the header bar to quickly switch between RPSLS and Classic modes.
  • Persistence: The app now remembers your last selected game mode and restores it automatically on startup using GSettings.

UI Changes & Improvements

  • ViewStack Integration: Refactored the main interface using Adw.ViewStack for smooth transitions between modes.
  • Visual Polish: Updated the confrontation label to "VS" and improved action icons on the results screen.
  • Enhanced Shortcuts: Added new global accelerators for mode switching (Ctrl+Shift+R for RPSLS and Ctrl+Shift+C for Classic).

Logic & Infrastructure

  • Constants Refactor: Centralized game rules and logic into a new constants.py module for better (hopefully) maintainability and scalability.
  • Stateful Actions: Implemented stateful Gio actions to ensure synchronization between the visual UI and the internal game state.
  • Refined I18n: Improved the translation system to handle dynamic labels in the mode selector and result explanations.

Full Changelog: v0.1.2...v0.2.0