Skip to content

Sethbarrie/havens-and-horrors

Repository files navigation

Havens and Horrors

An MMO bullet hell roguelike where players explore themed worlds, battle enemies, and survive together in a permadeath environment.

Game Concept

Core Gameplay

  • MMO Bullet Hell Roguelike: Multiplayer bullet hell combat with roguelike progression
  • Online Only: Central authentication with multiple server support
  • Permadeath: Permanent death unless auto-retreat is enabled
  • Proximity-Based: Experience and loot sharing based on player proximity

World Structure

  • Safe Haven: Central hub with shops, inventory, settings, and world doors
  • World Instances: Each world holds ~75 players and contains all themed areas
  • World Doors: Multiple doors in safe haven lead to different world instances
  • Seamless Areas: Walk from rural Japan → mountain → shrine within the same world
  • World Reset: Enemy worlds reset every 15 minutes
  • Boss Scaling: Boss health scales with nearby player count

Progression System

  • Level Cap: Maximum level 10, experience becomes score after
  • Account Score: Currency earned from deaths, spent on teleports and gambling
  • Equipment: Unique items with stats, shared inventory between heroes
  • Trading: Robust anti-scam trading system

Social Features

  • Proximity Voice Chat: Encourages group play and coordination
  • Gambling System: Bet on player deaths, drops, and events
  • Server Communities: Independent servers with local economies

Current Implementation Status

✅ Implemented

  • Basic Multiplayer: Client-server architecture with ENet
  • Hero System: Character creation, stats, and movement
  • Stats System: Centralized StatsConfig with level-based progression
  • Equipment System: Basic equipment with stat bonuses
  • World System: Safe haven (world 0) and enemy world (world 1)
  • Projectile System: Basic shooting mechanics
  • Enemy System: Basic enemy AI and spawning
  • UI Framework: Health, stamina, and experience bars

🔄 In Progress

  • Stats Integration: Converting hardcoded values to StatsConfig
  • Movement System: Input handling and server validation
  • Color System: Hero colors and visual feedback

❌ Not Yet Implemented

  • Authentication System: Account creation and server selection
  • Hero Selection Screen: Character browsing and selection
  • Shop System: Item purchasing and economy
  • World Instance Management: Multiple world instances with 75-player limits
  • World Doors: Safe haven portals to different world instances
  • Themed Areas: Rural Japan, mountain, shrine areas within worlds
  • Boss System: Special enemies with unique patterns
  • Loot System: Item drops and rarity
  • Trading System: Player-to-player item exchange
  • Voice Chat: Proximity-based communication
  • Gambling System: Betting mechanics and odds
  • Account Score: Death currency and teleport system
  • Auto-Retreat: Death prevention mechanics
  • World Reset: Periodic enemy respawning

Technical Architecture

Server-Client Model

  • Server Authority: All game logic validated on server
  • Client Prediction: Smooth movement with server reconciliation
  • RPC Communication: Reliable message passing between clients and server

Data Management

  • StatsConfig: Centralized stat calculations and progression
  • JSON Data: Enemy, equipment, and projectile definitions
  • Database: Local server data storage (planned)

Network Protocol

  • ENet: Fast, reliable UDP-based networking
  • Peer Management: Dynamic client connection handling
  • World State Sync: Efficient state broadcasting

Development Roadmap

Phase 1: Core Systems (Current)

  • Basic multiplayer infrastructure
  • Hero and enemy systems
  • Stats and equipment framework
  • Complete StatsConfig integration
  • Movement and input refinement

Phase 2: Gameplay Foundation

  • Authentication and server selection
  • Hero selection and management
  • World instance management (75-player limits)
  • World doors and seamless area transitions
  • Shop and economy system
  • Loot and drop mechanics
  • Boss encounters

Phase 3: Social Features

  • Trading system
  • Voice chat integration
  • Gambling mechanics
  • Account score system

Phase 4: Content Expansion

  • Themed areas (rural Japan, mountain, shrine)
  • Advanced enemy AI
  • Unique items and equipment
  • World reset mechanics

Getting Started

Prerequisites

  • Godot 4.4+
  • Network connectivity for multiplayer

Running the Game

  1. Server: Run server_scene.tscn to start a game server
  2. Client: Run client_scene.tscn to connect to the server
  3. Development: Use both scenes simultaneously for testing

Development Setup

  • StatsConfig: Central configuration for all game stats
  • Data Files: JSON definitions for enemies, equipment, and projectiles
  • Scenes: Modular scene structure for UI and game objects

Contributing

This is a personal project with specific design goals. The architecture prioritizes:

  • Server Authority: Security and anti-cheat
  • Modularity: Easy content addition and modification
  • Performance: Efficient networking and rendering
  • Scalability: Support for multiple independent servers

License

Private project - All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published