This Python suite, created by ALH477, streamlines IDTECH4 engine development (e.g., Doom 3, Quake 4) with a modular set of tools, built to power PetaByte Madness™ by DeMoD LLC and shared to modernize IDTECH4 for all. Tailored for DarkRadiant, it offers project setup, asset packaging, and Git integration via a curses TUI, with external scripts for advanced features like main menu generation and asset organization. Licensed under MIT and GPL v3, it’s a FOSS beacon for IDTECH4’s niche.
- Project Setup: Creates a game directory with subfolders (
base
,def
,maps
,models
,textures
,sounds
,scripts
,guis
) and placeholder files (gamex86.dll
/gamex86.so
,game.config
) for DarkRadiant. - Doom 3 /neo/game Directory: Downloads
/neo/game
from id-Software/DOOM-3 or a custom repo, providing C++ game logic. - Git Integration: Initializes a Git repo with a
.gitignore
tracking only/game
, ensuring no accidental asset commits. - Asset Packaging: Packages assets into
.pk4
files for IDTECH4. - User-Friendly TUI: Curses-based menu for project setup, .pk4 generation, Git init, and future tools.
- Planned Tools (In Development):
- Main Menu Generator: Creates animated menus with Bink video support (future external script).
- Asset Organizer: Structures assets for seamless .pk4 integration (future external script).
- FOSS Compliance: Ensures GPL v3 for
/neo/game
modifications.
sudo pacman -S git python base-devel cmake darkradiant
sudo apt install git python3 build-essential cmake darkradiant
sudo dnf install git python3 gcc-c++ cmake darkradiant
- Compilation:
cd MyGame/game mkdir build && cd build cmake .. make
brew install git python cmake darkradiant
- Compilation:
cd MyGame/game mkdir build && cd build cmake -G Xcode .. xcodebuild
- Install Git, Python, DarkRadiant, Visual Studio with C++ tools, DirectX SDK (June 2010), and
windows-curses
:pip install windows-curses
- Compilation:
- Open
neo/doom.sln
in Visual Studio, buildgame
project forgamex86.dll
.
- Open
Install additional dependencies for external scripts:
pip install -r requirements.txt
base/
: Core assets, .pk4 files (engine loads at runtime).def/
: Entity definitions (e.g.,weapon.def
, spawns objects).maps/
: Map files (e.g.,level1.map
, renders levels).models/
: 3D models (e.g.,.md5mesh
, displays objects).textures/
: Textures (e.g.,.dds
, skins models/maps).sounds/
: Audio (e.g.,.wav
,.ogg
, in-game sounds).scripts/
: Scripts (e.g.,.script
, game logic).guis/
: GUI files (e.g.,.gui
, menus/HUDs).game/
: Doom 3 logic source (compiles togamex86.dll
/so
).tools/
: External scripts (e.g.,main_menu_generator.py
, in development).
The .pk4
file in base/
packages assets for efficient engine loading.
- Clone the repository:
git clone https://github.com/ALH477/CREATE_IDTECH4_PROJECT.git
- Navigate to the directory:
cd CREATE_IDTECH4_PROJECT
- Run the script:
python create_idtech4_project.py
- Use the TUI (arrow keys, Enter):
- Set up a new project: Create structure, download
/neo/game
, init Git. - Generate a .pk4 file: Package assets into
.pk4
. - Initialize Git for /game: Track only game logic.
- Exit: Quit.
- (Future) Run external tools like main menu generator via TUI.
- Set up a new project: Create structure, download
- Linux/macOS:
cmake
andmake
forgamex86.so
. - Windows: Visual Studio for
gamex86.dll
fromneo/doom.sln
.
Doom 3 /neo/game
is GPL v3. Modifications must be open-source and shared if distributed.
Fork, branch, and PR! Add scripts to tools/
(e.g., main_menu_generator.py
) or enhance existing ones. Follow MIT/GPL v3 licenses.
MIT License for this project. Doom 3 /neo/game
is GPL v3. See LICENSE
and Doom 3 repo.
- Created by ALH477 for PetaByte Madness™ by DeMoD LLC.
- Uses id-Software/DOOM-3 (GPL v3).
- Crafted with Grok by xAI for IDTECH4 accessibility.