Version: Pre-Alpha
Status: In Development
Target Framework: .NET 8.0
A text-based cyberpunk adventure game set in the year 2091, featuring corporate intrigue, character progression, and narrative-driven gameplay with JSON-based story structure.
This project is currently in pre-alpha stage. Core systems are implemented and functional, but content and features are still being developed.
- Character creation system with attribute distribution
- JSON-based narrative system with variable substitution
- Save/load functionality
- Cross-platform audio system (optional FFmpeg integration)
- Corporate-themed UI with ASCII art
- Settings management
- Chapter navigation system
- Complete story content
- Combat system expansion
- Additional interactive elements
- Enhanced UI components
- .NET 8.0 Runtime or higher
- Windows 10+, macOS 10.15+, or Linux (Ubuntu 18.04+/equivalent)
- FFmpeg/FFplay (for background music)
- 512 MB RAM
- 50 MB disk space
- Terminal with UTF-8 support
Windows:
# Via Chocolatey
choco install dotnet-8.0-runtime
# Via Winget
winget install Microsoft.DotNet.Runtime.8
# Manual download: https://dotnet.microsoft.com/download/dotnet/8.0Linux (Ubuntu/Debian):
sudo apt update
sudo apt install dotnet-runtime-8.0Linux (Fedora):
sudo dnf install dotnet-runtime-8.0macOS:
# Via Homebrew
brew install --cask dotnet
# Manual download: https://dotnet.microsoft.com/download/dotnet/8.0Windows:
choco install ffmpeg
# or
scoop install ffmpegLinux:
# Ubuntu/Debian
sudo apt install ffmpeg
# Fedora
sudo dnf install ffmpeg
# Arch Linux
sudo pacman -S ffmpegmacOS:
brew install ffmpeg- Clone or download the project
- Navigate to the project directory
- Run the application:
dotnet runThe game will automatically attempt to install FFmpeg if not present (Windows/Linux only).
- Corporate-themed character creation interface
- Five primary attributes: Physical Resistance, Mental Stability, Brute Force, Technical Aptitude, Communication
- 50-point distribution system with minimum thresholds
- Dynamic competency ratings (INADEQUATE to EXCEPTIONAL)
- JSON-based story structure for easy content modification
- Variable substitution system supporting player data
- Branching storylines with choice-based progression
- Automatic save system
- Cross-platform background music support
- Automatic FFmpeg detection and installation
- Graceful degradation when audio is unavailable
2091/
├── Core/
│ ├── Interfaces/ # Service contracts
│ └── Models/ # Data models
├── Services/ # Business logic
├── UI/
│ ├── Components/ # UI services
│ └── Menus/ # Menu systems
├── Utils/ # Utility classes
├── Config/ # Configuration files
├── Saves/ # Save game data
└── Program.cs # Application entry point
Core Services:
IChapterService- Story content managementIPlayerSaveService- Save/load operationsIGameConfigService- Configuration managementIMusicService- Audio system managementIUIService- User interface operations
Models:
PlayerSave- Player progress and character dataChapter- Story content structureGameConfig- Application settingsAttributes- Character attribute system
Controls visual settings, text speed, and display options.
Stores player character data, progress, and gameplay statistics.
# Restore dependencies
dotnet restore
# Build project
dotnet build
# Run in development mode
dotnet run- Newtonsoft.Json (13.0.3) - JSON serialization
- .NET 8.0 - Runtime platform
The game uses JSON files for story content with the following structure:
{
"Id": "chapter_identifier",
"Title": "Chapter Title",
"Text": [
"Narrative text line 1",
"Use {name} for player name",
"Use {health}, {intelligence} for attributes"
],
"Options": [
{
"Text": "Choice description",
"NextChapter": "next_chapter_id"
}
],
"GameEnd": false
}Available variables for story text:
- Player data:
{name},{protagonist},{player} - Attributes:
{health},{psychology},{strength},{intelligence},{conversation} - Metadata:
{playtime},{created},{lastplayed},{date},{time}
"dotnet: command not found"
- Ensure .NET 8.0 Runtime is installed
- Restart terminal after installation
- Add .NET to system PATH if manually installed
Audio not working
- FFmpeg installation may be required
- Game functions normally without audio
- Check system audio permissions on Linux
Character encoding issues
- Ensure terminal supports UTF-8
- Use Windows Terminal or PowerShell 7+ on Windows
- Avoid PowerShell ISE