Skip to content

todorivanov/ludus-magnus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

50 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Ludus Magnus: Reborn

Ludus Magnus: Reborn React TypeScript Tailwind

A Roman Gladiator Ludus Management Simulation

Build your gladiator school. Train legendary fighters. Conquer the arena.

Play Now โ€ข Features โ€ข Documentation โ€ข Contributing


๐Ÿ“œ About

Ludus Magnus: Reborn is a web-based management simulation game where you take on the role of a lanista - the owner of a Roman gladiator school (ludus). Set in ancient Rome, you'll recruit and train gladiators, manage your facilities, navigate treacherous politics, and compete for glory in the arena.

This game is built entirely with modern web technologies and runs in your browser with no backend required. All game data is saved locally using your browser's storage.

โœจ Features

๐Ÿ›๏ธ Ludus Management

  • 11 Building Types with 3 upgrade levels each
  • Construction system with prerequisites and timers
  • Building synergies that boost staff effectiveness
  • Visual ludus layout management

โš”๏ธ Gladiator System

  • 8 Unique Gladiator Classes: Murmillo, Retiarius, Thraex, Secutor, Hoplomachus, Dimachaerus, Samnite, Velitus
  • Detailed Stats: Strength, Agility, Dexterity, Endurance, Constitution
  • Skill trees with class-specific abilities
  • Training regimens and nutrition management
  • Injury and recovery system

๐ŸŸ๏ธ Arena Combat

  • Turn-based tactical combat system
  • Multiple match types (Pit Fights, Provincial Munera, Championships)
  • AI opponents with difficulty scaling
  • Combat effects and status conditions
  • Crowd favor and mercy mechanics

๐Ÿ‘ฅ Staff & Personnel

  • 7 Staff Roles: Doctore, Medicus, Faber, Architect, Educator, Bard, Spy
  • Hiring costs and ongoing wages
  • Staff skill trees and progression
  • Satisfaction and loyalty system

๐Ÿ’ฐ Economy

  • Gold-based economy with income/expense tracking
  • Dynamic marketplace with price fluctuations
  • Merchandise and passive income streams
  • Bankruptcy prevention mechanics

โญ Fame System

  • Dual fame tracking (Ludus Fame + Individual Gladiator Fame)
  • Fame tiers unlocking new opportunities
  • Sponsorships and merchandise deals
  • Hall of Fame for legendary gladiators

๐Ÿ›๏ธ Political Factions

  • 4 Factions: Optimates, Populares, Military Legion, Merchant Guild
  • Favor system with benefits and penalties
  • Political actions and sabotage mechanics
  • Alliance system

๐Ÿ“œ Quest System

  • Story-driven campaign with 5 chapters
  • Side quests and daily challenges
  • Branching dialogue with consequences
  • Endless mode after completion

๐ŸŒ™ Time System

  • Day/night cycle with time phases
  • Daily processing (expenses, recovery, events)
  • Random events and encounters
  • Rebellion/unrest mechanics

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/yourusername/legends-of-the-arena.git

# Navigate to project directory
cd legends-of-the-arena

# Install dependencies
npm install

# Start development server
npm run dev

The game will open at http://localhost:3000

Build for Production

npm run build
npm run preview

๐ŸŽฎ How to Play

Starting Out

  1. Create Your Ludus: Choose a name for your gladiator school and select a difficulty level
  2. Recruit Gladiators: Visit the marketplace to purchase your first fighters
  3. Build Facilities: Construct training posts and other buildings
  4. Train Your Fighters: Assign training regimens to improve stats
  5. Enter the Arena: Schedule matches to earn gold and fame

Tips for Success

  • Start with defensive gladiator classes (Murmillo, Samnite) - they're forgiving for beginners
  • Build the Valetudinarium (medical facility) early - injuries happen!
  • Don't rush into death matches - submission fights are safer for training
  • Keep your treasury above 50 gold to avoid bankruptcy penalties
  • Balance training with rest to manage fatigue

In-Game Documentation

The Codex (๐Ÿ“–) contains extensive in-game documentation including:

  • Roman history and lore
  • Gladiator class guides
  • Combat tactics
  • Building descriptions
  • Staff role information
  • Gameplay tips

๐Ÿ› ๏ธ Tech Stack

  • Framework: React 18 with TypeScript
  • State Management: Redux Toolkit with Redux Persist
  • Styling: Tailwind CSS with custom Roman theme
  • Build Tool: Vite
  • Animations: Framer Motion
  • Icons: Emoji-based for accessibility

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ app/                    # Redux store configuration
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ layout/            # App shell, navigation
โ”‚   โ”œโ”€โ”€ screens/           # Page components
โ”‚   โ””โ”€โ”€ ui/                # Reusable UI components
โ”œโ”€โ”€ data/                   # Static game data
โ”‚   โ”œโ”€โ”€ buildings.ts       # Building definitions
โ”‚   โ”œโ”€โ”€ combat.ts          # Combat mechanics
โ”‚   โ”œโ”€โ”€ factions.ts        # Political factions
โ”‚   โ”œโ”€โ”€ fame.ts            # Fame system
โ”‚   โ”œโ”€โ”€ gladiatorClasses.ts # Class definitions
โ”‚   โ”œโ”€โ”€ lore.ts            # In-game documentation
โ”‚   โ”œโ”€โ”€ quests.ts          # Quest definitions
โ”‚   โ”œโ”€โ”€ skillTrees.ts      # Skill system
โ”‚   โ”œโ”€โ”€ staff.ts           # Staff definitions
โ”‚   โ””โ”€โ”€ training.ts        # Training system
โ”œโ”€โ”€ features/              # Redux slices by feature
โ”‚   โ”œโ”€โ”€ combat/
โ”‚   โ”œโ”€โ”€ economy/
โ”‚   โ”œโ”€โ”€ factions/
โ”‚   โ”œโ”€โ”€ fame/
โ”‚   โ”œโ”€โ”€ game/
โ”‚   โ”œโ”€โ”€ gladiators/
โ”‚   โ”œโ”€โ”€ ludus/
โ”‚   โ”œโ”€โ”€ player/
โ”‚   โ”œโ”€โ”€ quests/
โ”‚   โ””โ”€โ”€ staff/
โ”œโ”€โ”€ game/                   # Game logic
โ”‚   โ”œโ”€โ”€ CombatEngine.ts    # Combat calculations
โ”‚   โ””โ”€โ”€ GameLoop.ts        # Daily processing
โ”œโ”€โ”€ styles/                # Global styles
โ”œโ”€โ”€ types/                 # TypeScript definitions
โ””โ”€โ”€ utils/                 # Helper functions

๐ŸŽจ Design Philosophy

Roman Aesthetic

The game features a cohesive Roman-themed design with:

  • Colors: Gold, bronze, marble, and crimson
  • Typography: Decorative headers with "roman" font styling
  • UI Elements: Cards with border decorations, gradient buttons
  • Iconography: Thematic emojis (โš”๏ธ๐Ÿ›๏ธ๐ŸŸ๏ธ๐Ÿ“œ)

Accessibility

  • Responsive design for desktop, tablet, and mobile
  • High contrast color schemes
  • Keyboard navigation support
  • Screen reader friendly semantic HTML

๐Ÿ“Š Game Balance

Economy

Difficulty Starting Gold Expense Modifier
Easy 750g 0.8x
Normal 500g 1.0x
Hard 300g 1.2x

Combat

  • Base hit chance: 70%
  • Critical hit base: 5%
  • Dodge base: 10%
  • Class matchups provide ยฑ10% modifiers

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

  • TypeScript strict mode enabled
  • ESLint + Prettier for formatting
  • Component-based architecture
  • Feature-based folder structure

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Inspired by classic management games and Roman history
  • Built with love for the gladiatorial genre
  • Special thanks to the open-source community

Ave Imperator! Those about to code salute you! ๐Ÿ›๏ธโš”๏ธ

Made with โค๏ธ and โ˜•

About

Ludus Magnus: Reborn is a browser-based strategy and role-playing game built with React. Set in the Roman era, the game blends tycoon-style management with tactical turn-based combat.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages