8000
Skip to content

Navigation Menu

Sign in
Appearance settings
8000

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

imjasonh/terminus

Repository files navigation

Terminus

A multiplayer 3D first-person shooter you can play in your terminal. Players connect via SSH to experience real-time multiplayer FPS action with wandering NPCs.

Current status:

Example Screenshot

Vision

Terminus is a multiplayer terminal-based FPS inspired by Wolfenstein 3D. Players connect via SSH and experience real-time 3D multiplayer gameplay rendered using colored ASCII characters and ANSI escape codes. The game features dynamic lighting, projectile physics, player visibility, wandering NPCs, and multiple maps - all running at 30 FPS in your terminal.

Quick Start

# Build and run SSH server
go build
./terminus                # Default maze.map on port 2222
./terminus cave.map       # Open caverns map

# Connect from another terminal
ssh -p 2222 localhost

Controls

  • W/A/S/D - Move and strafe
  • Q/E - Turn left/right
  • SPACE - Shoot fireballs (visible to all players)
  • ESC - Exit

Multiplayer Features

  • SSH Server: Connect via ssh -p 2222 localhost
  • Player Sprites: See other players as large green @ symbols
  • Shared Projectiles: Fireballs shot by any player are visible to all
  • Wandering NPCs: Blue sprites that move randomly around the map
  • Up to 10 Players: Concurrent multiplayer support

Current Status

  • Phase 1 Complete: Local single-player with raycasting engine, projectile system, and dynamic lighting
  • Phase 2 Complete: SSH multiplayer server with player visibility and shared world
  • Phase 3 Complete: NPC system with wandering AI and multiplayer synchronization
  • 🔮 Future Enhancements: Combat system, advanced enemies, and interactive elements

Technical Features

  • Raycasting Engine: True 3D perspective with Z-buffer depth testing
  • Dynamic Lighting: Fireballs cast light on nearby walls
  • Sprite System: Players, NPCs, and projectiles rendered as 3D sprites
  • Thread-Safe: Proper mutex protection for multiplayer state
  • Real-Time: 30 FPS gameplay with delta-time movement
  • Map System: Support for multiple map layouts

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

0