Skip to content

SimpliJessi/RPG-Productivity-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚔ RPG Productivity App

A gamified desktop productivity app that turns your daily tasks and habits into an RPG adventure. Built with Python and CustomTkinter.

Python CustomTkinter

Features

⚔ Quest Log

  • Add tasks with a name, difficulty (Easy / Medium / Hard), and icon
  • Check off quests to earn XP and gold
  • Easy = +25 XP, Medium = +50 XP, Hard = +100 XP
  • Your character levels up automatically as you complete quests

♻ Habits

  • Track daily rituals with a 7-day visual streak display
  • Click the ? square to check off today's habit
  • Streak bonuses: 3+ days = +25 XP, 7+ days = +35 XP per check-in
  • High streaks (7+) grant active buffs (+2 INT) on your character sheet

📜 Character Sheet

  • Four stats derived from real activity:
    • STR — quests completed
    • INT — total habit streaks
    • WIS — your level
    • VIT — mood + daily habit completions
  • Active buffs/debuffs section based on streaks and mood
  • Summary of quests, habits, gold, and level
  • 10 unlockable achievements

✦ Mood (Energy Crystal)

  • Set your daily energy level from Exhausted to Radiant
  • Mood affects gameplay:
    • 💀 Exhausted → -50% XP, HP capped at 50%
    • 🌑 Low → -25% XP, HP capped at 75%
    • 🌗 Neutral → no bonus or penalty
    • 🌕 Good → +25% XP, full MP
    • ✨ Radiant → +50% XP, full MP
  • Weekly mood log tracks your history

Getting Started

Requirements

Install

pip install customtkinter pillow

Run

python main.py

Project Structure

SimpleCalendar/
├── main.py              # Entry point — wires cogs + tab navigation
├── config.py            # Colors, constants, achievements, game balance
├── data.py              # JSON save/load persistence
├── game_engine.py       # XP, leveling, mood effects, stat calculations
├── components/
│   ├── __init__.py      # Re-exports all cog classes
│   ├── header.py        # Header bar (avatar, HP/MP/XP/MO bars, level)
│   ├── quests.py        # ⚔ Quest Log tab
│   ├── habits.py        # ♻ Habits tab (7-day streaks)
│   ├── sheet.py         # 📜 Character Sheet tab (stats, buffs, achievements)
│   └── mood.py          # ✦ Mood tab (energy crystal, weekly log)
└── rpg_save.json        # Auto-generated save file

Architecture

The app uses a cog pattern — each tab is a self-contained module with its own _build() and refresh() methods. Cogs share a single data dict (the game state) and use callbacks to notify the main app when the header needs updating.

Layer File Responsibility
Config config.py Colors, XP tables, icons, achievements
Data data.py Load/save JSON, merge defaults
Engine game_engine.py XP math, leveling, mood effects, stat formulas
UI components/*.py One cog per tab + header
App main.py Window setup, tab switching, cog wiring

Adding a New Tab

  1. Create components/my_tab.py with a class that has frame, _build(), and refresh()
  2. Add it to components/__init__.py
  3. Register it in main.py's _build_tabs() method

Game Mechanics

Leveling

  • XP required per level: 50 × level^1.5
  • Each level-up increases max HP (+10) and max MP (+5)
  • Titles unlock at milestone levels (Novice → Apprentice → ... → Legend)

Gold

  • Earned alongside XP: XP gained ÷ 5 (minimum 1)

Achievements

Achievement Requirement
🏁 First Steps Complete 1 quest
🔟 Determined Complete 10 quests
⚔ Relentless Complete 50 quests
⭐ Rising Star Reach level 5
🛡 Veteran Reach level 10
👑 Champion Reach level 25
🔥 Consistent Get a 7-day habit streak
♻ Disciplined Track 5 habits
✨ Radiant Soul Set mood to Radiant
💰 Treasure Hunter Earn 100 gold

Save Data

All progress is automatically saved to rpg_save.json in the project directory. The file is created on first run and updated whenever you complete a quest, check a habit, or change your mood. Delete it to reset your character.

License

MIT

About

Turn your daily tasks into an RPG adventure — quests, habits, mood tracking & a character sheet that grows with you.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages