No description
  • GDScript 100%
Find a file
Gheist 8de8f62c60 Scaffold Godot 4.7 project for co-op extraction shooter
Sets up the repo for two developers working from separate machines. No
gameplay design is encoded here - the design is still open, so everything
under game/ is explicitly a placeholder testbed whose only job is to prove
the networking layer works end to end.

Structure is feature-based (game/player, game/extraction, ...) rather than
type-based, because a feature folder doubles as an ownership boundary and
keeps the two of us out of each other's files.

Networking authority is split: movement is client-authoritative (PvE, so
the latency win beats the cheating risk) while damage, loot and extraction
are server-authoritative, since those decide what a player keeps. Health
is RPC'd down rather than replicated, because a MultiplayerSynchronizer
on a client-authoritative node would let the client write its own health.

Also included: Git LFS rules for binary assets, a headless smoke test
(tools/verify_project.gd) that loads every script and scene, and docs
covering the scene-merge hazard that makes .tscn files unsafe to co-edit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-05 13:10:05 +02:00
.claude Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
assets Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
core Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
docs Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
game Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
resources Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
tools Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
.gitattributes Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
.gitignore Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
CLAUDE.md Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
icon.svg Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
icon.svg.import Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
project.godot Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00
README.md Scaffold Godot 4.7 project for co-op extraction shooter 2026-10-05 13:10:05 +02:00

VideoGame

PvE co-op extraction first-person shooter. Godot 4.7, GDScript.

Scaffolding stage. The networking layer works end to end; everything in game/ is a placeholder testbed, and the design is still open. Start at docs/GAME_DESIGN.md.

Setup

Requirements: Godot 4.7.x (standard build, not Mono) and git-lfs.

# Arch / CachyOS
sudo pacman -S --needed godot git-lfs

git clone https://git.gheist.art/Gheist/VideoGame.git
cd VideoGame
git lfs install        # once per machine
godot --headless --import    # first import takes a moment

Then open project.godot in Godot.

Running

godot                            # play (placeholder menu: host or join)
godot --headless -- --server     # dedicated server on :27015

Local multiplayer test: start the dedicated server in one terminal, then launch one or more clients and join 127.0.0.1.

Controls (placeholder): WASD move, Shift sprint, Ctrl crouch, Space jump, mouse look, Esc release cursor. E interact, Tab inventory and the fire/aim/reload bindings exist but are not wired to anything yet.

Before pushing

godot --headless --script res://tools/verify_project.gd

Exit code 0 means every script and scene still loads. Run it after any scene or script change.

Docs

File What's in it
CLAUDE.md Project context and conventions for Claude Code
docs/GAME_DESIGN.md Open design questions — mostly unanswered
docs/ARCHITECTURE.md Folder philosophy, networking authority model
docs/WORKFLOW.md Git workflow; read this before your first push

Two people work on this repo from separate machines. docs/WORKFLOW.md explains why main is protected by convention and why .tscn files must not be co-edited.