Inspiration
This was heavily inspired by the Thales challenge presented this hackathon, but other than that, the central design theme surrounding this was the freedom of the user to create whatever routes they wanted. Giving full creative freedom to test any variation of patrol routing doesn't lock you into taking only a straightforward path, especially considering the volatile climate and conditions of the arctic.
What it does
ArcTrace is a real time navy patrol route simulator, where you plot out fleet patrol routes to compare and contrast different planned routes to cover important resources and trade routes in the Canadian Arctic. The key feature is letting the user test all varieties of innovative routes and plans!
How we built it
Using C++ in Visual Studio and the SDL library for graphics, we planned, designed and hand-coded this from scratch all within the hackathon!
Challenges we ran into
One of the major challenges we ran into was implementing C++ on windows machines, there were several different cases we ran into and had to resolve as well as interesting C++ attributes like the strict aliasing optimization which was very challenging to navigate. In addition the tight timeline to finish brought about challenges such as choosing between trade-offs, features and design choices implemented.
Accomplishments that we're proud of
We absolutely have to be proud of the hard work we put into this, dedicating over 36 hours, coding, learning, and designing this have been no easy feat for us all! Aside from that, creating and utilizing real terrain and sea data from pictures for an accurate display was an incredible experience (as hard as it was).
What we learned
The biggest lesson learned was on C++'s strict aliasing to optimize for performance. This was definitely the biggest headache using C++ for the project.
What's next for ArcTrace
ArcTrace definitely has a lot of potential for expansion, from the addition of import/export simulations, and comparing and contrasting different courses of action side by side.
Log in or sign up for Devpost to join the conversation.