Before coming to Durhack the team had the plan to do something involving unity. During the opening ceremony we thought the QRT data visualisation challenge could work really well with our initial fluid dynamics idea and so decided to commit to this project

What it does

Collects Bitcoin data from the Binance API and sends it to the server for processing. The frontend is a fluid dynamics system. The theory is to attach the price data to individual particles, and upon the particle reaching a "bucket", the data is processed and visualised. Failing this we could input the data into the processing bucket in a time series for processing, giving the illusion of integration with the particles

How we built it

Using unity (compute shaders) for the fluid dynamics frontend, a python socket and client getting the Binance API data and sending it to the C# intermediary server, which controls the theoretical multiplayer aspect of the game, and passes the data to the unity client

Challenges we ran into

The first challenge was finding a C# framework that was compatible with both "wss" websockets and unity. This turned out to be impossible so we changed the wss connection technology to a python socket, which could then send data to the C# server.

"The Crash" - the worst challenge we encountered, and unfortunately unfixable. Somewhere between our server sending the game start request and the fluid dynamic model, the client would crash. This was impossible to debug, and eventually despite taking away the networking integration that initiated the problem, a new bug caused by unity forced us into an extensive rollback prevent the intended integration

Accomplishments that we're proud of

The individual parts of the project which work very well in the isolated halves of the backend server chain, and the frontend fluid dynamics simulator. We're also proud of our tenacity despite the incredibly frustrating and technically intensive crash investigation, and then of the maturity to know when it was best to try and solve the problem with another route

What we learned

The merge and implement functionality more slowly to prevent large unfixable issues late in the development process, which may require an entire infrastructure rethink

What's next for Fluid dynamics data visualiser

To bridge the gap between the server chain and the fluid dynamics simulator. May have to reverse engineer one of our earlier builds to bypass the unity bugs we have encountered

Built With

Share this project: