Skip to content

gradberg/AsciiRailroad

Repository files navigation

Repo/Code Notes: The current state of this python code was from when I was still learning how to do application development (rather than just one-off scripts), so some of the conventions it uses are a bit wonky. I like this theme, so either I will refactor the code or try it on a new platform.

AsciiRailroad

Capture the feel of operating a train, picking up cars, rearranging cars, and delivering cars to destinations, all while managing available track space and avoiding other trains. Run a Steam Locomotive, trying to maximize the power and fuel efficiency out of it, all while trying to make careful stops and starts to get your contracts fulfilled.

Gameplay

Player represents the engineer, who both operates the locomotive and is the owner of the train line's company. As owner, the player chooses when to upgrade locomotives, what deliveries to take. As engineer, the player runs the locomotive's controls, controling the throttle, braking, and other special functions in the case of older engines.

Roguelike

  • Permadeath - You are running a company. If you run out of cash, you're bankrupt and its all over. If you crash the train, the combined cost of replacing the locomotive and paying the injured parties for their lost rolling stock and cargo likely will put you out of business.
  • Progression
    • Improve your locomotives - Older locomotives and tenders carry little water and fuel, and have little pulling power. Upgrading to newer ones increases your efficiency and range.
    • Rolling-Stock - At the start of the game, the player only owns the engine and tender, and can only take missions that provide their own rolling stock. Across maps, players can acquire their own cars that they keep with them, allowing them to do additional missions that expect cars to be provided.
    • Hire Crew - At the start, you are a one-man-crew-and-company. Sort of a independent trucker as now. You can hire various crew to assist you:
      • Brakeman can run up and down the train, working the brakes, and jump off the train to throw switches.
      • Fireman would be tasked with keeping the fire appropriately full at all times.
      • Engineer can take over the duties of actually operating the locomotive itself, taking overall orders from the Player. This is more of a convenience if the player wants to stop running the locomotive themselves. If the player decides to double- or triple-head the train, he'll need at least an Engineer for each.
      • Lawyer increases the chance of winning litigation (stolen cars and cargo, damaged cargo, killed people) or at least reducing their damages.

Arcade Streamlining

I feel the simulation of the steam locomotive is a central aspect of this game giving the player the feeling of running a train from that era. However, it will probably become tedious to do. Therefore missions and maps need to be implemented such that all other aspects are streamlined as far as possible (like how arcade games try to maximize play for that 1-3 minute time span) so that the player does not get bogged down or bored with all the steps necessary.

Online Research

Locomotive Theory of Operation

Running 2 or 3 locomotives

About

AsciiRailroad

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages