Virtual Greyhounds Racing Simulation
- Designed and implemented real-time race engine using Unreal Engine from scratch.
- Dynamically generated outcomes for all runners and winning places with determinate repeatable performances.
- Simulated realistic race ebb and flow as runners gain and lose position with multiple variations for the same final result, combined with natural greyhound behaviour.
- Simulated human camera operators with dynamic and realistically imperfect tracking, panning and zooming.
- Created race track builder to programmatically model and distribute the track surface and associated fixtures (guard rails, fences, lights, lure rail).
- Created dynamic special effects for particulate kick-up and surface footprints.
- Created video post-processing solution to automatically cut the captured races, while checking for run-time issues in the footage.
- Middleware product evaluation, solution prototyping, analysis, design, development, unit testing.
- Lead developer (single developer for 90% of project, joined by second developer near project end).
Real-time technologies: C++, Unreal Engine, Xcode, Visual Studio, macOS, Windows
Video processing technologies: Objective-C, Xcode, macOS
- Development was cross platform, supporting macOS and Windows with a single source code base.
- Positive QA feedback for the reliably deterministic results of all production runs.
- Core “race engine” is extensible and designed to support additional race sports, starting with horse flat racing.
- Video processor reliably performs frame perfect edits of the captured video, creating production ready race videos without manual interaction.
Reference drone footage vs. virtual footage based on the same stadium (best viewed full screen)