[Release] Reimplementation of Urban Assault level generators

  • Hi everyone,

    I want to share my Urban Assault Level Generator project.

    This project is reimplementation of two legacy Urban Assault level generators that were either no longer maintained or difficult to configure and use today.

    The first backend, Generator1, is derived from the old Random UA.exe work originally associated with AOE_Danny. That tool was never fully finished and remained in a beta state. In this project, I rewrote its behavior in Python and extended it into a maintained codebase with improved generation support, broader environment handling, and campaign-related map support such as briefing and debriefing maps.

    The second backend, Generator2, is based on the PHP generator released by dportalesr on GitHub. Since the original project was open source, I was able to study its logic, reimplement it in Python, and integrate it into the same project. I also fixed and cleaned up parts of its behavior so it is easier to use out of the box.

    The main goal of this project is not just to preserve these generators, but to make them readable, usable, and easier to extend for future developers.

    Current features include:

    - two supported generator backends: Generator1 and Generator2
    - both CLI and GUI frontends
    - a small documented backend API
    - generation of a single random level
    - support for custom seeds for reproducible output
    - configurable difficulty
    - Generator1 support for scenario/skill selection
    - Generator1 custom generation options through the GUI workflow
    - full campaign generation for:
    - the original campaign
    - Metropolis Dawn: Ghorkov
    - Metropolis Dawn: Taerkasten

    - GUI tabs for switching between Generator1 and Generator2
    - GUI code separated from generator logic to make the project easier to maintain and extend
    - no third-party Python dependencies for normal use
    - GUI built with tkinter

    The project also includes documentation for the CLI and backend API, along with tests for the current implementation.

    Download:

    GitHub - dubstabber/Urban-Assault-Level-Generator: Random level generator for Urban Assault RTS game
    Random level generator for Urban Assault RTS game. Contribute to dubstabber/Urban-Assault-Level-Generator development by creating an account on GitHub.
    github.com

    You can run it directly from a source checkout without any special build step.
    For the GUI, use:

    - launch-gui.cmd on Windows
    - launch-gui.sh on Linux

    You can also run it directly with Python, for example:

    PYTHONPATH=src python -m ualg.gui


    Edit 29.06.2026:

    I added two more generators with different variety, rules and difficulty modes. The generator4 with extremely-hard mode selected is truly for the most demanding UA players!

    Edited once, last by Ydro (June 29, 2026 at 8:06 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!