Custom Software Development for Simulation and Training