SimCore
☛ Position: Software Architect & Main Developer
☛ Schedule: Dec. 2015 - Jan. 2017
☛ Client: L3 Wescam
☛ Team size: 1 people
Project description
SimCore is the successor of the MX-Sim project. This project was initiated to provide a new implementation of the simulation system, using state of the art technologies, in a very short time frame. Indeed MX-Sim was becoming overly complex and hard to maintain/extend and furthermore, upgrading from Virtual Battlespace 2 (VBS2) to VBS3 presented serious incompatibilities which required significant refactoring.
Responsibilities & Achievements
- I adapted the system to the changes in the underlying 3D platform (moving to 64bit, removal of DirectX Hook, removal of lua bindings,etc)
- I introduced an higher level of abstraction: making the core of the system “3D agnostic” and encapsulating DirectX interactions in a plugin.
- I significantly extended the project long term maintainability with:
- A unified architecture: merged 5 separated softwares (created by 7 developers) in one,
- Major optimizations: moved from Lua & Java code to C++ (and javascript).
- Intensive use of test/behavior driven implementation: written more than 450 complex tests,
- Strict usage of git/gitlab workflows.
- I created multiple communication channels (sockets, serial ports, IPC).
- I built support for SDI video streaming (with embedded KLV data),
- I designed all the user interfaces and HUDs as web apps based on AngularJS 2 framework and integrated them in the engine with CEF3.
⇒ In about 1 year on this project I managed to refactor and optimize the work that was previously achieved in more than 4 years by a team of 7 qualified developers. The SimCore project is currently in beta release phase, and already provides complete support and significantly better performances for a few of the major Wescam turret models.
Skills & Techs
- Bohemia Interactive VBS3
- VTMAK VR-Vantage
- DirectX
- HLSL
- C++
- NodeJS
- HTML5
- SASS
- Chromium Embedded Framework 3
- AngularJS 2
- RaphaelJS