antoniovazquezaraujo/LeTrain
The letter train simulator. Java version. Contribute to antoniovazquezaraujo/LeTrain development by creating an account on GitHub.
7 stars · 2 forks
README
LeTrain 🚂✨
_ _____ _ / / _/ _/______ ()_ / / / \/ / / __/ _ `/ / _ \ / /_/ _/ / / / / // / / / / / /___/\_// // \_,/// /_/ The Letter Train Simulator (C) 2006-2026 Antonio Vazquez Araujo
LeTrain is a procedural train simulator that blends classic ASCII aesthetics with a modern 3D engine. Build vast rail networks across an infinite world, manage a complex economy, and master the art of logistical efficiency.
🌟 New in 2026: The 3D Evolution LeTrain has evolved! While maintaining its terminal roots, it now features a high-performance 3D engine powered by LibGDX:
Modern Perspective: Explore your rail empire in full 3D with smooth orbiting cameras. Classic Soul: Industrial zones and trains retain their iconic character-based charm, now rendered as physical 3D objects. Visual Polish: Dynamic transparency for mountains, semantic color-coded stations, and high-resolution typography.
💰 Deep Economy & Industry The game now features a fully integrated financial system:
Capital Management: Start with $0 (Zero-to-Hero challenge) and grow your wealth. Logistics Engine: Transport specialized cargo (GOLD, COAL, RUBY) from Producers to Consumers. Smart Pricing: Revenue scales with travel distance. Every meter counts! Construction Costs: Balancing infrastructure expansion vs. operational fuel costs. Configurable Gameplay: Fine-tune the entire economy via the economy.properties file.
🌍 Infinite Procedural World
Entropy Booster: Every new game starts at a unique, randomized coordinate (±10k to ±100k units) to ensure fresh exploration every time. Procedural Landscapes: Navigate through lakes, forests, and towering mountains generated by custom Perlin noise. Frustum Culling: Optimized rendering engine handles massive maps by only processing what you see.
🚀 Getting Started Prerequisites
Java JDK 17 or higher. Maven.
Quick Launch The build system is now fully automated. Simply run: mvn package -DskipTests This generates a standalone distribution in the output/LeTrain folder. Dual Launchers
LeTrain.exe: The modern experience. Launches directly into 3D mode. LeTrain2D.exe: For those who prefer the classic, high-speed ASCII terminal view.
🛠️ Tech Stack
Core: Java 17 3D Engine: LibGDX (OpenGL) Terminal UI: Lanterna Scripting: Custom ANTLR4-based rail automation language. Audio: Granular synthesis engine for realistic locomotive sounds.
🤝 Contributing Contributions are welcome! Whether it's bug fixes, performance improvements, or new "letter" models for wagons, feel free to open a Pull Request.
Created by Antonio Vazquez Araujo. Twitter/X - @avaraujo | GitHub
