============================================================
🎮 RPG GAME — PYGAME UTVECKLINGSPLAN
============================================================
============================================================
📁 0. FILSTRUKTUR
============================================================
RPG_GAME/
│
├── main.py
│
├── settings.py
├── game.py
│
├── player.py
├── enemy.py
├── boss.py
│
├── combat.py
├── weapons.py
├── armor.py
├── potions.py
├── items.py
├── inventory.py
│
├── coins.py
├── shop.py
│
├── classes.py
├── abilities.py
│
├── world.py
├── area.py
├── chest.py
│
├── progression.py
├── level.py
│
├── run.py
├── save.py
│
├── ui.py
├── menu.py
├── death_screen.py
├── class_menu.py
│
├── audio.py
├── effects.py
├── animations.py
│
├── assets/
│ ├── images/
│ │ ├── player/
│ │ ├── enemies/
│ │ ├── bosses/
│ │ ├── weapons/
│ │ ├── armor/
│ │ ├── items/
│ │ ├── tiles/
│ │ └── ui/
│ │
│ ├── sounds/
│ │ ├── player/
│ │ ├── enemies/
│ │ ├── weapons/
│ │ ├── ui/
│ │ └── bosses/
│ │
│ └── music/
│ ├── menu/
│ ├── areas/
│ └── bosses/
│
└── data/
├── items.json
├── enemies.json
├── classes.json
└── settings.json
============================================================
🟢 FAS 1 — PYGAME-PROJEKT
============================================================
[ ] Installera Python
[ ] Installera Pygame
[ ] Skapa projektmapp
[ ] Skapa main.py
[ ] Testa import pygame
[ ] Skapa pygame.init()
[ ] Skapa game window
[ ] Bestäm resolution
[ ] Sätt window title
[ ] Skapa clock
[ ] Skapa FPS
[ ] Skapa main game loop
[ ] Hantera pygame events
[ ] Hantera QUIT
[ ] Rita bakgrund
[ ] Uppdatera display
[ ] Begränsa FPS
[ ] Testa att spelet startar
============================================================
⚙️ FAS 2 — GAME & SETTINGS
============================================================
FIL: settings.py
[ ] WIDTH
[ ] HEIGHT
[ ] FPS
[ ] TITLE
[ ] COLORS
[ ] PLAYER_SPEED
[ ] STARTING_HP
[ ] STARTING_COINS
FIL: game.py
[ ] Skapa Game class
[ ] Skapa game state
[ ] Skapa update()
[ ] Skapa draw()
[ ] Skapa event handler
[ ] Koppla Game till main.py
[ ] Testa game loop
============================================================
🧍 FAS 3 — PLAYER
============================================================
FIL: player.py
[ ] Skapa Player class
[ ] Skapa player position
[ ] Skapa player Rect
[ ] Skapa player image
[ ] Skapa player speed
[ ] Skapa player HP
[ ] Skapa player MaxHP
[ ] Skapa player damage
[ ] Skapa player defense
MOVEMENT:
[ ] Läs WASD
[ ] Läs arrow keys
[ ] Movement X
[ ] Movement Y
[ ] Normalisera diagonal movement
[ ] Begränsa player till map
[ ] Testa movement
PLAYER DRAW:
[ ] Rita player
[ ] Testa position
[ ] Testa movement
============================================================
📷 FAS 4 — KAMERA
============================================================
[ ] Skapa camera system
[ ] Skapa camera X
[ ] Skapa camera Y
[ ] Följ player X
[ ] Följ player Y
[ ] Rita world relativt kameran
[ ] Testa camera movement
[ ] Lägg till camera boundaries
[ ] Testa stora maps
============================================================
❤️ FAS 5 — PLAYER HP
============================================================
FIL: player.py
[ ] Current HP
[ ] Max HP
[ ] take_damage()
[ ] heal()
[ ] is_alive()
[ ] is_dead()
[ ] Testa damage
[ ] Testa healing
[ ] Testa HP = 0
FIL: ui.py
[ ] Skapa HP bar
[ ] HP background
[ ] HP foreground
[ ] Beräkna HP percentage
[ ] Rita HP bar
[ ] Uppdatera HP bar
[ ] Testa HP UI
============================================================
⚔️ FAS 6 — COMBAT
============================================================
FIL: combat.py
[ ] Skapa attack function
[ ] Attack cooldown
[ ] Attack timer
[ ] Attack range
[ ] Attack Rect
[ ] Detect enemy collision
[ ] Apply damage
[ ] Prevent multiple hits
[ ] Testa attack
PLAYER:
[ ] Attack input
[ ] Attack animation state
[ ] Attack cooldown
[ ] Attack damage
[ ] Attack range
[ ] Left attack
[ ] Right attack
[ ] Up attack
[ ] Down attack
[ ] Testa combat
============================================================
👹 FAS 7 — ENEMY
============================================================
FIL: enemy.py
[ ] Skapa Enemy class
[ ] Enemy position
[ ] Enemy Rect
[ ] Enemy image
[ ] Enemy HP
[ ] Enemy MaxHP
[ ] Enemy damage
[ ] Enemy speed
[ ] Enemy detection range
AI:
[ ] Detect player
[ ] Move toward player
[ ] Stop near player
[ ] Attack player
[ ] Attack cooldown
[ ] Testa AI
DEATH:
[ ] Enemy HP = 0
[ ] Enemy death
[ ] Remove enemy
[ ] Death effect
[ ] Death sound
[ ] Testa death
============================================================
💰 FAS 8 — COINS
============================================================
FIL: coins.py
[ ] Skapa Coin class
[ ] Coin position
[ ] Coin Rect
[ ] Coin image
[ ] Coin value
[ ] Draw coin
[ ] Detect player collision
[ ] Add coins
[ ] Remove coin
[ ] Coin sound
PLAYER:
[ ] Create coins variable
[ ] add_coins()
[ ] remove_coins()
[ ] has_coins()
ENEMY:
[ ] Coin drop
[ ] Minimum coins
[ ] Maximum coins
[ ] Random coin amount
[ ] Testa drops
UI:
[ ] Coin icon
[ ] Coin counter
[ ] Update counter
[ ] Testa UI
============================================================
🏪 FAS 9 — SHOP
============================================================
FIL: shop.py
[ ] Create Shop class
[ ] Shop position
[ ] Shop Rect
[ ] Interaction range
[ ] Interaction key
[ ] Open shop
[ ] Close shop
SHOP UI:
[ ] Shop background
[ ] Item slots
[ ] Item icon
[ ] Item name
[ ] Item description
[ ] Item price
[ ] Buy button
[ ] Close button
BUY:
[ ] Check player coins
[ ] Enough coins
[ ] Not enough coins
[ ] Remove coins
[ ] Give item
[ ] Update UI
[ ] Buy sound
[ ] Testa shop
============================================================
⚔️ FAS 10 — WEAPONS
============================================================
FIL: weapons.py
[ ] Create Weapon class
[ ] Weapon name
[ ] Weapon damage
[ ] Weapon attack speed
[ ] Weapon price
[ ] Weapon image
[ ] Weapon icon
SWORD #1:
[ ] Create sword
[ ] Set damage
[ ] Set price
[ ] Add to shop
[ ] Buy sword
[ ] Equip sword
[ ] Attack with sword
[ ] Testa sword
SENARE:
[ ] Sword #2
[ ] Sword #3
[ ] Sword #4
[ ] Sword #5
[ ] Different damage
[ ] Different attack speed
[ ] Different prices
============================================================
🛡️ FAS 11 — ARMOR
============================================================
FIL: armor.py
[ ] Create Armor class
[ ] Armor name
[ ] Armor defense
[ ] Armor price
[ ] Armor icon
[ ] Create armor #1
[ ] Add armor to shop
[ ] Buy armor
[ ] Equip armor
[ ] Defense affects damage
[ ] Testa armor
[ ] Armor #2
[ ] Armor #3
[ ] Armor #4
[ ] Armor #5
============================================================
🧪 FAS 12 — POTIONS
============================================================
FIL: potions.py
[ ] Create Potion class
[ ] Potion name
[ ] Potion price
[ ] Potion effect
[ ] Potion icon
HEALTH POTION:
[ ] Create health potion
[ ] Add to shop
[ ] Buy potion
[ ] Store potion
[ ] Use potion
[ ] Heal player
[ ] Remove potion
[ ] Testa potion
SENARE:
[ ] Speed potion
[ ] Damage potion
[ ] Defense potion
[ ] Special potion
============================================================
🎒 FAS 13 — INVENTORY
============================================================
FIL: inventory.py
[ ] Create Inventory class
[ ] Create inventory list
[ ] Add item
[ ] Remove item
[ ] Find item
[ ] Check item
[ ] Equip item
[ ] Unequip item
UI:
[ ] Inventory screen
[ ] Inventory slots
[ ] Item icons
[ ] Item names
[ ] Item descriptions
[ ] Equip button
[ ] Use button
[ ] Close button
[ ] Testa inventory
============================================================
🧙 FAS 14 — CLASSES
============================================================
FIL: classes.py
[ ] Create ClassData
[ ] Class name
[ ] Max HP
[ ] Damage
[ ] Defense
[ ] Speed
[ ] Attack speed
[ ] Ability
CLASS MENU:
FIL: class_menu.py
[ ] Create class selection screen
[ ] Class cards
[ ] Class icon
[ ] Class name
[ ] Class description
[ ] Class stats
[ ] Select button
[ ] Confirm button
WARRIOR:
[ ] Create Warrior
[ ] Warrior stats
[ ] Warrior weapon
[ ] Warrior ability
[ ] Ability cooldown
[ ] Ability effect
[ ] Ability sound
[ ] Testa Warrior
ARCHER:
[ ] Create Archer
[ ] Archer stats
[ ] Bow
[ ] Arrow
[ ] Projectile
[ ] Archer ability
[ ] Testa Archer
MAGE:
[ ] Create Mage
[ ] Mage stats
[ ] Magic projectile
[ ] Mana
[ ] Mana UI
[ ] Mage ability
[ ] Testa Mage
============================================================
✨ FAS 15 — ABILITIES
============================================================
FIL: abilities.py
[ ] Create ability system
[ ] Ability cooldown
[ ] Ability timer
[ ] Ability input
[ ] Ability effect
[ ] Ability damage
[ ] Ability sound
[ ] Ability VFX
[ ] Warrior ability
[ ] Archer ability
[ ] Mage ability
[ ] Testa alla abilities
============================================================
🌍 FAS 16 — WORLD
============================================================
FIL: world.py
[ ] Create World class
[ ] World size
[ ] Camera boundaries
[ ] Background
[ ] Map
FIL: area.py
[ ] Create Area class
[ ] Area name
[ ] Area difficulty
[ ] Area background
[ ] Enemy list
[ ] Spawn points
[ ] Shop location
[ ] Chest location
[ ] Exit location
FIRST AREA:
[ ] Create first map
[ ] Ground
[ ] Walls
[ ] Decorations
[ ] Spawn point
[ ] Enemy spawn points
[ ] Shop
[ ] Exit
[ ] Testa area
============================================================
🚪 FAS 17 — AREA TRANSITIONS
============================================================
[ ] Create exit
[ ] Detect player near exit
[ ] Interaction
[ ] Load next area
[ ] Change current_area
[ ] Move player to new spawn
[ ] Update enemies
[ ] Update shop
[ ] Transition effect
[ ] Testa transition
============================================================
👹 FAS 18 — BOSS
============================================================
FIL: boss.py
[ ] Create Boss class
[ ] Boss position
[ ] Boss Rect
[ ] Boss HP
[ ] Boss MaxHP
[ ] Boss damage
[ ] Boss speed
[ ] Boss arena
BOSS UI:
[ ] Boss HP bar
[ ] Boss name
[ ] Boss health
[ ] Testa UI
BOSS AI:
[ ] Detect player
[ ] Move
[ ] Attack
[ ] Attack cooldown
[ ] Attack patterns
BOSS #1:
[ ] Boss name
[ ] Boss design
[ ] Attack #1
[ ] Attack #2
[ ] Attack #3
[ ] Phase #1
[ ] Phase #2
[ ] Death
[ ] Reward
[ ] Victory
============================================================
📈 FAS 19 — XP & LEVEL
============================================================
FIL: progression.py
[ ] Create XP variable
[ ] Create level variable
[ ] Enemy gives XP
[ ] Add XP
[ ] XP bar
[ ] XP requirement
[ ] Detect level-up
[ ] Increase level
[ ] Reset XP requirement
LEVEL-UP:
[ ] Level-up animation
[ ] Level-up sound
[ ] Level-up UI
[ ] Increase stats
[ ] Testa level-up
============================================================
🎁 FAS 20 — CHESTS & LOOT
============================================================
FIL: chest.py
[ ] Create Chest class
[ ] Chest position
[ ] Chest Rect
[ ] Closed state
[ ] Open state
[ ] Interaction
[ ] Open animation
[ ] Random reward
[ ] Reward UI
LOOT:
[ ] Coins
[ ] Sword
[ ] Armor
[ ] Potion
[ ] Random item
[ ] Common rarity
[ ] Rare rarity
[ ] Epic rarity
[ ] Legendary rarity
============================================================
🏃 FAS 21 — RUN SYSTEM
============================================================
FIL: run.py
[ ] Create Run class
[ ] Current class
[ ] Current area
[ ] Coins
[ ] Inventory
[ ] Level
[ ] XP
[ ] Temporary stats
START RUN:
[ ] Create new run
[ ] Show class selection
[ ] Choose class
[ ] Start area
[ ] Spawn player
DEATH:
[ ] Player dies
[ ] Keep coins
[ ] Keep items
[ ] Keep level
[ ] Keep XP
[ ] Keep current area
[ ] Keep class
[ ] Show death screen
RESPAWN:
[ ] Respawn player
[ ] Restore HP
[ ] Keep everything
[ ] Continue run
============================================================
🔄 FAS 22 — NEW RUN RESET
============================================================
[ ] Create new run button
[ ] Create confirmation screen
[ ] YES button
[ ] NO button
RESET:
[ ] Coins = 0
[ ] Inventory = empty
[ ] Weapon = default
[ ] Armor = default
[ ] Potions = reset
[ ] Level = starting level
[ ] XP = 0
[ ] Area = first area
[ ] Temporary stats = reset
[ ] Class = unselected
[ ] Show class selection
[ ] Choose new class
[ ] Start new run
[ ] Testa full reset
============================================================
💾 FAS 23 — SAVE SYSTEM
============================================================
FIL: save.py
[ ] Decide save format
[ ] Create save function
[ ] Create load function
[ ] Save coins
[ ] Save inventory
[ ] Save equipment
[ ] Save level
[ ] Save XP
[ ] Save area
[ ] Save class
[ ] Save unlocked classes
[ ] Save settings
[ ] Continue button
[ ] New Game button
[ ] Testa save
[ ] Close game
[ ] Open game
[ ] Load save
[ ] Testa data
============================================================
🎨 FAS 24 — ANIMATIONER
============================================================
FIL: animations.py
[ ] Animation system
[ ] Animation timer
[ ] Load animation frames
[ ] Player idle
[ ] Player walk
[ ] Player attack
[ ] Player hit
[ ] Player death
[ ] Enemy idle
[ ] Enemy walk
[ ] Enemy attack
[ ] Enemy hit
[ ] Enemy death
[ ] Boss animations
============================================================
✨ FAS 25 — EFFECTS
============================================================
FIL: effects.py
[ ] Create effect system
[ ] Hit effect
[ ] Damage effect
[ ] Coin effect
[ ] Heal effect
[ ] Potion effect
[ ] Level-up effect
[ ] Ability effect
[ ] Boss effect
[ ] Death effect
============================================================
🔊 FAS 26 — AUDIO
============================================================
FIL: audio.py
[ ] Create audio manager
[ ] Load sounds
[ ] Load music
[ ] Music volume
[ ] SFX volume
[ ] Menu music
[ ] Gameplay music
[ ] Boss music
[ ] Attack sound
[ ] Hit sound
[ ] Enemy death
[ ] Coin pickup
[ ] Shop sound
[ ] Buy sound
[ ] Potion sound
[ ] Level-up sound
[ ] Death sound
[ ] Boss death sound
============================================================
🖥️ FAS 27 — MENUS
============================================================
FIL: menu.py
MAIN MENU:
[ ] Game title
[ ] Play
[ ] Continue
[ ] Settings
[ ] Quit
PAUSE:
[ ] Resume
[ ] Inventory
[ ] Settings
[ ] New Run
[ ] Main Menu
DEATH:
FIL: death_screen.py
[ ] YOU DIED
[ ] Respawn button
[ ] New Run button
[ ] Main Menu button
============================================================
🎨 FAS 28 — UI
============================================================
FIL: ui.py
[ ] HP bar
[ ] XP bar
[ ] Coin counter
[ ] Level
[ ] Current class
[ ] Ability cooldown
[ ] Mana bar
[ ] Boss HP bar
[ ] Interaction text
[ ] Notifications
[ ] Damage numbers
============================================================
🐛 FAS 29 — TESTING
============================================================
[ ] Test movement
[ ] Test camera
[ ] Test attacks
[ ] Test enemy AI
[ ] Test enemy death
[ ] Test coins
[ ] Test shop
[ ] Test weapons
[ ] Test armor
[ ] Test potions
[ ] Test inventory
[ ] Test classes
[ ] Test abilities
[ ] Test areas
[ ] Test transitions
[ ] Test boss
[ ] Test XP
[ ] Test level-up
[ ] Test chest
[ ] Test loot
[ ] Test death
[ ] Test respawn
[ ] Test new run
[ ] Test save
[ ] Test load
[ ] Testa att dö flera gånger
[ ] Testa att coins behålls
[ ] Testa att items behålls
[ ] Testa att new run verkligen resetar
[ ] Testa att class selection fungerar
[ ] Testa att inga gamla items följer med
[ ] Testa att inga gamla coins följer med
============================================================
🚀 FAS 30 — MVP
============================================================
GÖR FÖRST:
[ ] main.py
[ ] settings.py
[ ] game.py
[ ] player.py
[ ] enemy.py
[ ] combat.py
[ ] coins.py
[ ] shop.py
[ ] weapons.py
[ ] classes.py
[ ] class_menu.py
[ ] world.py
[ ] boss.py
[ ] run.py
[ ] ui.py
MVP-FUNKTIONER:
[ ] Player movement
[ ] Player HP
[ ] Player attack
[ ] 1 enemy
[ ] Enemy AI
[ ] Enemy attack
[ ] Enemy death
[ ] Coins
[ ] Coin drops
[ ] Shop
[ ] 1 sword
[ ] 1 potion
[ ] Warrior
[ ] Class selection
[ ] 1 area
[ ] 1 boss
[ ] Death
[ ] Respawn
[ ] Death behåller allt
[ ] "Börja ny run"
[ ] New Run resetar run-data
============================================================
⭐ DEN FÖRSTA VERSIONENS GAMEPLAY LOOP
============================================================
START
↓
VÄLJ WARRIOR
↓
SPAWNA I AREA 1
↓
DÖDA ENEMIES
↓
FÅ COINS
↓
GÅ TILL SHOP
↓
KÖP SWORD/POTION
↓
BLI STARKARE
↓
MÖT BOSS
↓
BESegra BOSS
↓
FORTSÄTT
↓
DÖ
↓
"RESPAWN"
↓
BEHÅLL ALLT
↓
FORTSÄTT SAMMA RUN
ELLER
"BÖRJA NY RUN"
↓
RESET RUN-DATA
↓
VÄLJ KLASS
↓
STARTA NY RUN
============================================================
🔥 REKOMMENDERAD ORDNING
============================================================
1. Pygame window
2. Game loop
3. Player
4. Movement
5. Camera
6. Player HP
7. Attack
8. Enemy
9. Enemy AI
10. Enemy attack
11. Enemy death
12. Death screen
13. Respawn
14. Coins
15. Coin drops
16. Coin UI
17. Shop
18. Sword
19. Potion
20. Inventory
21. Warrior
22. Class selection
23. First area
24. Area transition
25. Boss
26. XP
27. Level
28. Archer
29. Mage
30. More weapons
31. More armor
32. More potions
33. More enemies
34. More areas
35. More bosses
36. Chests & loot
37. Save system
38. Animation
39. VFX
40. Audio
41. Menus
42. Polish
43. Testing
44. Bug fixing
============================================================
🏃 SPEEDRUNNING
============================================================
[ ] INTE EN MAIN-FUNKTION
[ ] Ingen särskild speedrun-mode behövs
[ ] Spelaren kan själv försöka spela snabbt
[ ] Vanliga spelare kan ignorera det
============================================================
🎯 SLUTMÅL
============================================================
[ ] Spelet startar
[ ] Player fungerar
[ ] Combat fungerar
[ ] Enemies fungerar
[ ] Coins fungerar
[ ] Shop fungerar
[ ] Classes fungerar
[ ] Items fungerar
[ ] Areas fungerar
[ ] Bossar fungerar
[ ] XP fungerar
[ ] Inventory fungerar
[ ] Death fungerar
[ ] Respawn fungerar
[ ] New Run fungerar
[ ] Save fungerar
[ ] UI fungerar
[ ] Audio fungerar
[ ] Animationer fungerar
[ ] Bugs är fixade
🎮 OCH VIKTIGAST:
[ ] SPELET ÄR KUL.