Skip to content
alanyoungcyPublic

About

A godot 3d Fighter game

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

3D Fighter

An on-rails 3D arcade jet combat game built with Godot 4. Fly a reference-informed J-36 prototype through coastal, mountain, and city missions while fighting F-35A and Su-57 formations, missiles, drones, and an aerial-fortress boss.

Play 3D Fighter online

3D Fighter gameplay over the coastal battlefield

Campaign

Coastal Assault Mountain Pass Skies Over the City
Coastal Assault gameplay Mountain Pass gameplay Skies Over the City gameplay

Features

  • Fast third-person rail combat with smooth chase-camera movement, banking, barrel rolls, camera shake, and afterburner FOV.
  • Cannon heat, lock-on missiles, enemy projectiles, homing missiles, shield regeneration, hull damage, and missile warnings.
  • F-35A and Su-57 enemy formations, progressive waves, drones, radar, scoring, combos, and an aerial-fortress boss.
  • Three connected environments with animated water, atmospheric fog, a carrier deck, alpine formations, and a dusk city.
  • Procedural combat audio plus explosions, contrails, speed lines, bloom, tracers, sparks, smoke, and fire effects.

Controls

Action Controls
Steer Mouse, WASD, or arrow keys
Cannon Left mouse button or Space
Locked missile Right mouse button or E
Afterburner Shift
Airbrake Ctrl
Barrel roll / missile dodge R
Pause / resume P or Esc
Fullscreen F

Run locally

Open the project in Godot 4.6 or newer and run the main scene, or launch it from a terminal:

godot --path .

Run the deterministic combat-rule test with:

godot --headless --path . -- --self-test

Web export

The Web export preset writes the browser build to dist/3dfighter.html. Serve the directory over HTTP instead of opening the file directly with file://:

python3 -m http.server 8067 --directory dist

Then open http://localhost:8067/3dfighter.html.

Aircraft references and generated assets

The aircraft are original, reference-informed game assets rather than redistributed photography. Real photographs under assets/references/aircraft/ are used only for research and are excluded from distribution. The J-36 model follows the photographed tailless, three-engine, diamond/double-delta prototype; its public designation and configuration remain provisional.

Reference sources:

Asset In-game scale Geometry Path
J-36 player aircraft 23 m provisional length 28,172 triangles assets/generated/aircraft/j36.glb
F-35A enemy aircraft 15.7 m length 29,052 triangles assets/generated/aircraft/f35a.glb
Su-57 enemy aircraft 20.1 m length 28,468 triangles assets/generated/aircraft/su57.glb

All three GLBs passed glTF validation and import successfully in Godot. Each uses an opaque PBR material with 2048×2048 base-color, normal, and metallic/roughness textures. Static model previews are stored in artifacts/model_previews/.

Real-world scenic photographs similarly guide environment shape, lighting, density, and atmosphere but are not bundled as runtime textures. Sources and art notes are documented in docs/environment-references.md.

Asset generation setup

Copy .env.example to .env, then set IMAGE_API_KEY and TRIPO3D_API_KEY. The local .env, Vercel metadata, signing material, caches, and research-only photos are ignored by Git and must not be committed.

The initial three-aircraft Tripo3D batch used $0.90 in credits, plus image-provider billing for the three reference renders.

About

A godot 3d Fighter game

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages