Nouron is a sci-fi strategy browsergame built with PHP 8.2, Laravel 12, SQLite, Alpine.js + PicoCSS (new screens) and Bootstrap 5 + jQuery (legacy screens).
Requirements: PHP 8.2+, Composer
Windows users: The project runs under WSL2. Run all commands inside your WSL2 terminal.
# After cloning, install dependencies
composer install
# Copy environment file and adjust as needed
cp .env.example .env
php artisan key:generate
# Create the database and seed test data
php artisan migrate:fresh --seed
# Start local dev server
php artisan serve
# Run tests (Feature suite — uses in-memory SQLite, no setup needed)
php artisan test --testsuite=FeatureAfter seeding, the database contains Simpsons test characters. All accounts share the same password:
| Username | Password | Role | |
|---|---|---|---|
Bart |
[email protected] |
test123 |
admin — Colony "Springfield" |
Homer |
[email protected] |
test123 |
player |
Marge |
[email protected] |
test123 |
player |
Lisa |
[email protected] |
test123 |
player |
php artisan migrate:fresh --seedThe database file (data/db/nouron.db) is not committed to the repository. The schema is managed entirely via Laravel migrations and the initial data via seeders. The test suite uses an in-memory SQLite database and requires no separate setup.
# Sync ship/building values from config files to the database
php artisan game:sync-techs
# Preview changes without writing
php artisan game:sync-techs --dry-run
# Manually trigger a game tick (normally runs via scheduler)
php artisan game:tick
# Seed a demo colony state for the logged-in user's colony (useful for UI testing)
php artisan colony:seed-demoThe game tick runs once per day at 03:00. To activate the Laravel scheduler on your server, add one cron entry:
* * * * * cd /path/to/nouron && php artisan schedule:run >> /dev/null 2>&1
Copy .env.example to .env. The most relevant settings for local development:
These flags disable specific game rule checks so you can test individual systems freely. All default to false (rules enforced).
| Flag | What it bypasses |
|---|---|
GAME_BYPASS_AP=true |
Navigation, Economy and Construction AP checks |
GAME_BYPASS_RESOURCES=true |
Resource cost checks when building/researching |
GAME_BYPASS_SUPPLY=true |
Supply capacity checks for buildings, ships and advisors |
Common test scenarios:
# Free-click everything (no checks at all) — fastest way to explore the game
GAME_BYPASS_AP=true
GAME_BYPASS_RESOURCES=true
GAME_BYPASS_SUPPLY=true
# Test AP behaviour with real checks active
GAME_BYPASS_AP=false
GAME_BYPASS_RESOURCES=true
GAME_BYPASS_SUPPLY=true
# Test Supply behaviour with real checks active
GAME_BYPASS_AP=true
GAME_BYPASS_RESOURCES=true
GAME_BYPASS_SUPPLY=falseNote: All bypass flags are blocked in production — the app will refuse to start if any flag is
truewhenAPP_ENV=production.
Deprecated:
GAME_DEV_MODE=truestill works as a shortcut (sets all three flags) but logs a deprecation warning. Use the individual flags instead.
https://github.com/nouron/nouron/issues
- Mario Gehnke — https://github.com/tector
- Thanks to Peter Wippermann (www.todoz.de) and Jacqueline Wiesenberg for some of the graphics.
Copyright 2012–2026 Mario Gehnke
The source code is licensed under the GNU General Public License V3. See:
LICENSE.txt- http://www.gnu.org/licenses/
All graphics and texts are licensed (unless otherwise noted) under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany (CC BY-NC-SA 3.0). See:
- (de) http://creativecommons.org/licenses/by-nc-sa/3.0/de
- (en) http://creativecommons.org/licenses/by-nc-sa/3.0/de/deed.en
This project uses third-party frameworks and libraries with their own licenses: