Skip to content

Magicthirst/Magicthirst---Green

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magicthirst -- Green

itch here: https://yojick.itch.io/magicthirst

📁: Code is in Assets/Src/

Gameplay

  • Player fights groups of enemies in arenas
  • Uses melee + abilities (dash, parry, teleport, magic casts, shots)
  • Enemies use the same systems (shared ability pipeline)
  • Combat is based on timing (parry window, direction checks)

Systems

Intent → Impact System

Located in Levels/IntentsImpacts/.

Short: `Action → Intent → Impacts → Modified → Applied`

Full: Caster → Intent → Mapper → Impacts → [Broker] → [Modifiers] → Victim

Intents — player/AI actions (shoot, parry, teleport)
Impacts — actual effects (damage, impulse, teleport)

This allows:

  • reuse of abilities between player and AI
  • easy addition of new mechanics
  • interception (parry, status effects)

📁 Main files to look at:

  • Levels/IntentsImpacts/IntentsImpacts.cs
  • Levels/IntentsImpacts/DeferredBroker.cs
  • All abilities are in Levels/Abilities/

Entities and their Components

Located in Levels/Entities/.

// Currently works on ScriptableObjects, may be migrated to just [Serializable]s

📁:

  • Levels/Core/Entity.cs – Composition root for all gameplay objects
  • Levels/Core/CoreObject.cs – Base for injectable, disposable components
  • Key components:
    • Health.cs
    • Weaponry.cs
    • TeleportChip.cs
    • ProjectilesParrying.cs (advanced parry system with timing window + direction check)
    • StatusesRepository.cs (status effects + modifiers)

AI System

Located in Levels/AI/Fsm.cs.

  • Fsm.cs + FsmState.cs — finite state machine
  • States for bandits (BanditIdle, BanditAlerted, BanditFighting) and turrets
  • Includes editor tool that generates PlantUML diagrams

DI

Located in Levels/DI/.

  • DI/GameLifetimeScope.cs – Root scope
  • DI/LevelLifetimeScope.cs – Per-level scope
  • DI/EntityContextScope.cs – Per-entity scope
  • DI/ConsumerLifetimeScope.cs & DI/ProducerLifetimeScope.cs – TODO, Separate handling for local player input vs remote players

Wires everything above.

Multiplayer to be done somewhere in the far-far future

Glossary to be done

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors