This is a much smaller gamified version of a large project that our group has talked about. The large project was to envisioned to be built on a blockchain and simulate massive production chains, investment, contracts, etc. Our hackathon version shares the same idea, but with the minimal complexity achievable in a couple days.
What it does
Right now we have a main display that shows all the planets and the resources or attacks moving between them. Every line has a color that indicates the player and is transporting labor, material, or military. Each of the resources is created on a planet from using any required inputs. Labor requires no inputs, material requires labor, military requires labor and materials, and the unique one, technology, is created and increases the efficiency of the other actions consuming labor and material also.
Each player connects using their phone to control their network, using the main display as a map.
How I built it
Using Typescript, HTML, CSS, NodeJS we used web sockets to send data between the server, phones, and display screen. Using a set of shared data types we were able to pass data between all of the individual portions in a standard way. The planet textures were created with Gimp which were then UV mapped on to 3D model in Blender which then was used to create a sprite strip which we could animate normally in an HTML canvas.
Challenges I ran into
Scaling and laying out the webpage for mobile took a lot of work and was difficult consistently displaying the same between phones. The other big issue was that socket events correctly called between sections which made a lot of problems to fix.
Accomplishments that I'm proud of
We did a great job of decoupling. Allow us all to be working at the same time with out a ton of merge conflicts to resolve.
What I learned
Errors are hard to figure out with little sleep.
What's next for HackKstate2019
The large project that inspired this would be really cool to work on. We also want to work on more projects throughout the year. It's easy to push them aside, but it would definitely be worthwhile to have some projects to do outside of class or work.