Folks should also checkout OpenLoco which is a full reimplementation of Chris Sawyers Locomotion: https://openloco.io