Hey everyone, I'm a student at NSCC and for my Logic & Programming final project I built a Torn-inspired game from scratch in Java. Figured this was the most appropriate place to share it. Hope you enjoy it!
NotTorn Text-Based Crime Simulation
A fan-inspired idle-RPG built in Java, inspired by the game we all waste our lives on.
What is it?
I spent my semester building a single-player terminal RPG engine from scratch in Java that captures the core loop of Torn. Crimes, combat, a dynamic economy, jobs, travel, and offline progression , all running inside a retro Swing terminal window.
No web browser. No clicking. Pure keyboard-driven gameplay.
Screenshots
[image: reports.torn.com] Main UI — city overview and live stats panel
[image: i.imgur.com] Crime menu
[image: i.imgur.com] Turn-based combat
[image: i.imgur.com] ASCII city map panel
Features
City & Movement
- 8 districts. City Center, Gym, Hospital, Drug Store, Item Market, Dark Alley, Police Station, Bank
- Full ASCII city map (press M)
- Instant travel between adjacent districts
Vital Stats
- Energy, Nerve, and Happiness. all regenerate in real time, even while offline
- Natural Nerve Bar grows with Crime Experience, unlocking harder crimes
- Offline progression — every tick you missed is applied the moment you boot the game
Crimes
- 10 crime types from petty shoplifting to kidnapping
- Nerve cost per crime; success rate improves with Crime Experience
- Failure sends you to jail for a timed lockout
Combat
- Hostile NPCs patrol their districts and engage automatically
- Turn-based, capped at 25 rounds
- 14-region weighted hitbox system (Head, Heart, Throat for 3.5× crits)
- 12% base crit chance; log-linear hit and mitigation interpolation
- Battle stats stored as BigInteger . Infinite scaling, no overflow
Jobs
- 4 careers: Army, Medical, Education, Law
- Daily income ticks auto-applied; auto-promoted when stats qualify
Economy
- Supply-and-demand shop. buy/sell pressure shifts prices in real time
- 5% sales tax on sell-backs
Travel
- 11 destinations with real flight times (26 min to ~5 hours)
- Locked out of crimes and combat while airborne
Tutorial
- George the Fragrant Vagrant walks new players through 5 intro missions
Tech Stack
| Language | Java 17 |
| UI | Lanterna 3.1.2 (Swing terminal emulator) |
| Serialisation | Jackson 2.16.1 |
| Build | Manual classpath — no Maven/Gradle, just javac and java |
| Save format | JSON (player state + live shop supply) |
The game loop runs at 60 logical updates per second using a fixed-timestep delta-time architecture. Rendering is completely decoupled from logic. Save files are forward-compatible — unknown fields are silently ignored so old saves always load cleanly.
GitHub
Screenshot for those in the UK