Python 3D FPS Engine
A downloadable tool
A first-person shooter built on Ursina with a bitmask collision registry, object-pooled bullets, a shared swept-raycast system, and an in-engine level editor.
Getting started
Requirements: Python 3.10+, Ursina
pip install ursina python main.py
Controls: WASD move · Space jump · LMB shoot · R reset · Esc pause · F fullscreen · C toggle collider debugEngine status
| System | Status |
|---|---|
| Swept player collision | Stable |
| Bullet pool (PlayerBullet / EnemyBullet) | Stable |
| Bitmask layer registry | Stable |
AliveEntity lifecycle
| Stable |
CollisionManager spatial grid
| Stable |
| Enemy base class | Stable |
| World-space health bar | Stable |
| Level editor | Usable — schema expanding |
| Scene lifecycle | Stable |
Game state machine
| Planned |
Roadmap
Near-term
-
Gamestate-machine class replacing module-level globals inmain.py -
_clear_gameplay_entities()as the canonical scene teardown path - Expand level editor JSON schema: enemy type, HP, rotation, block colour
Engine features
- Collision bitmask system —
Layersregistry +can_hit()replacesisinstancechecks - Object pooling for bullets —
BulletPooleliminates per-shot allocation - Pluggable enemy behaviour trees — patrol / attack / flee state composition
- Trigger/zone system — volume entry/exit callbacks for doors, checkpoints, kill planes
- Weapon inventory API — multi-weapon, ammo pickup, switch animations
- Asset hot-reload in the level editor
Long-term
- Packaged runtime via PyInstaller / Nuitka
- Networked multiplayer substrate — authoritative server, client-side prediction
- Procedural level generator outputting the existing JSON schema
- Full gamepad / controller input layer
For more info and the latest updates go to:
https://github.com/ivandebugr/Ivan_Debugs_Python_3D_Engine/
This page contains stable version that's approved by Ivan "Debug" Rybak
| Updated | 15 days ago |
| Status | In development |
| Category | Tool |
| Author | Ivan "Debug' Rybak |
| Tags | 3D, Open Source, python, Sandbox |
| Content | No generative AI was used |
Download
Download
Ivan_Debugs_Python_3D_Engine-main.zip 46 kB
Development log
- Version 2.0 in Development15 days ago


