====== SimCore ====== ☛ **Position**: **Software Architect & Main Developer**\\ ☛ **Schedule**: Dec. 2015 - Jan. 2017\\ ☛ **Client**: [[http://www.wescam.com/|L3 Wescam]]\\ ☛ **Team size**: 1 people ===== Project description ===== SimCore is the successor of the [[public:work:mxsim:mxsim|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** ===== Links ===== * [[https://www.gmv-insyen.com/product_l-3_wescam_mx_emulator.html|Official GMV INSYEN MX-Emulator webpage]] * [[https://www.gmv-insyen.com/product_l-3_wescam_mx_sim.html|Official GMV INSYEN MX-Simulator webpage]] * [[https://www.wescam.com/products-services/training-simulation/simulation-solutions/|L3 Wescam MX-Sim webpage]] ===== Images ===== {{public:projects:simcore:simcore_8_outputs.jpg?nolink|}} 8 video outputs from a single turrets {{public:projects:simcore:simcore_ctrlinterface.jpg?nolink|}} SimCore control interface web app {{public:projects:simcore:simcore_emulator_system.jpg?nolink|}} MX-Sim Emulator system {{public:projects:simcore:simcore_ground_target.jpg?nolink|}} Typical in simulation display {{public:projects:simcore:simcore_MX15D_5_outputs.jpg?nolink|}} 5 outputs from a single turret in VBS3 {{public:projects:simcore:simcore_SDI_output.jpg?nolink|}} Video stream retrieved from SDI output {{public:projects:simcore:simcore_simulator_system.jpg?nolink|}} MX-Sim simulator system