-
Notifications
You must be signed in to change notification settings - Fork 3
README
Welcome to the Q2RTXPerimental wiki documentation! This directory contains comprehensive guides for developing game mods using the Q2RTXPerimental engine.
| Page | Description |
|---|---|
| Home | Main wiki page with navigation and overview |
| Getting Started | Build instructions, setup, and first mod tutorial |
Understanding the original Quake 2 architecture is essential:
| Page | Description |
|---|---|
| Game Module Architecture | Client-server separation, DLL interface, and module design |
| Entity System | How entities work in vanilla Quake 2 |
Modern enhancements and architecture:
| Page | Description |
|---|---|
| Architecture Overview | High-level system design and module relationships |
| Server Game Module (svgame) | Authoritative server-side game logic |
| Client Game Module (clgame) | Client-side prediction, rendering, and effects |
| Shared Game Module (sharedgame) | Code shared between client and server |
The heart of Q2RTXPerimental game logic:
| Page | Description |
|---|---|
| Entity System Overview | OOP entity architecture and lifecycle |
| Creating Custom Entities | Complete tutorial: decorative, interactive, and AI entities |
Efficient visual effects:
| Page | Description |
|---|---|
| Temp Entity Overview | What temp entities are, when to use them, and how to spawn them |
Quick reference documentation:
| Page | Description |
|---|---|
| Entity Types | All entity type constants and their behavior |
| Entity Flags | Visual effects and rendering flags |
...understand the architecture
- Start with Architecture Overview
- Read about Server Game Module for server-side logic
- Learn about Client Game Module for client-side rendering
...create a custom entity
- Read Entity System Overview for concepts
- Follow Creating Custom Entities tutorial
- Reference API - Entity Types and API - Entity Flags
...add visual effects
- Learn about Temporary Entity System
- Understand Client Game Module for particle systems
- Check effect examples in Temp Entity Overview
...understand client-server networking
- Start with Vanilla Game Module Architecture
- Read Client Game Module for prediction
- Study Shared Game Module for pmove
...build the engine and start coding
- Follow Getting Started
- Create your first entity with the Creating Custom Entities tutorial
- Home and navigation
- Getting Started guide
- Vanilla Quake 2 foundation (2 pages)
- Q2RTXPerimental architecture (4 pages)
- Entity system guides (2 pages)
- Temporary entity documentation
- API references (2 pages)
- Custom entity creation tutorial
- Additional Vanilla Quake 2 topics (BSP, Networking, Physics, Weapons, AI)
- Entity lifecycle details
- Entity networking specifics
- Save/Load system
- Advanced topics (Signal I/O, UseTargets, Game Modes, Lua, Animation)
- Additional API references (Events, Spawn Flags, Means of Death)
If you find errors or want to contribute:
- Open an issue on GitHub
- Submit a pull request with fixes or additions
- Join the Discord community
Our documentation follows these principles:
- Example-Driven: Every concept includes working code examples
- Progressive Complexity: Start simple, build to advanced
- Cross-Referenced: Related topics are linked together
- Practical Focus: Emphasis on "how to do it" over theory
- Up-to-Date: Reflects current codebase state
Each wiki page follows this structure:
- Overview: What the page covers
- Core Concepts: Fundamental ideas
- Code Examples: Working, compilable code
- Practical Patterns: Common use cases
- Best Practices: Do's and don'ts
- Related Documentation: Links to related pages
All code examples in this wiki:
- ✅ Are syntactically correct C++
- ✅ Reference actual source files with paths
- ✅ Include context (where the code goes)
- ✅ Show both usage and implementation
- ✅ Follow Q2RTXPerimental coding style
- 📚 Documentation: Start here in the wiki
- 💬 Discord: PolyhedronStudio/Q2RTXPerimental
- 🐛 Issues: GitHub Issues
- 🎮 QuakeDev: QuakeDev Discord
This documentation is maintained for the latest development version of Q2RTXPerimental. Check the repository's changelog for recent changes.
Ready to start? Head to Getting Started or jump straight into Creating Custom Entities!