Count Down To Launch
Launcher/Rocket Selection Menu
Life Support Control Menu(s)
Objectives Screen (procedurally generated)
Mission Summary & Statistics
The laptop the server is on, connected to the transmitting radio. (screen was showing some of my personal info from earlier)
Close up of igniter and charge circuit.
Igniter & Charger circuit attached to receiving radio.
I'm a bit sleep deprived, so the video is a bit long, I strongly recommend watching to about 4:00 or 5:00 so that you can see the hardware, but after that it gets a bit less interesting as I start to ramble.
If you want the images of the hardware, they are at the end of the gallery.
When I heard the theme was space potatoes, I Immediately decided I wanted to send a potato into space... Unfortunately, there has never been a rocket built in 24 hours that could reach space, and that's with proper tools and materials, neither of which I have nor could acquire in 24-hours... and that's before we consider that I live in restricted airspace, so I wouldn't be able to launch anyway... So I did the next best thing.
What it does
I wrote a flight simulator game that lets you captain a spaceship to deliver potatoes through space. Not only do you fly the spaceship, but the player also manages the cargo, the life support, and more. The game contains several procedurally generated objectives, which once all completed trigger the hardware part of this project to ignite a model rocket with a potato attached to it, so that you can send a potato into space in real life too... or about 200 feet since that's the limit of A size engines.
Despite referring to it as a "simulator", this is very much a game, however, it does model real life physics, even including drag and decreased thrust as the air becomes less dense, while providing all of the flight data as graphs, meaning that it can be used in a physics classroom for experiments, especially in a year like this year when hands-on experiments weren't possible.
How we built it
The game was built entirely in java, using swing. The graphs were made using JChart2d, my favorite java graphing library, and I also used disabledPanel, a library that allows entire JPanels and their child components to be disabled, not just individual components, which has overlayLayout and swingUtils as dependencies. The data on atmospheric density came from engineer's toolbox, and all the data related to the rockets and their engines were based off of the nasa k-12 space history website.
The hardware side was built by sending data to a server on my laptop (written in java), which played a sound that went through the cable into the radio, which was then picked up by the other radio, which was played onto the wire, which triggered the circuit on the breadboard which charges the capacitor until it has enough current to ignite the igniter, which would be in the rocket, there by launching it.
Challenges we ran into
On the software side, my biggest challenge was my math and physics skills, particularly with calculating the density of the atmosphere at an elevation above sea level to figure out how much the thrust was reduce by.
On the hardware side I ran into a lot more challenges. Firstly, I didn't realize before I started working on this that the rocket and spare engines that I thought were in my closet, weren't actually there... to the best of my knowledge they are down in Goshen sitting in the explosives cabinet with all of the camp's rocket engines from when I had been running the rocket launches with the scouts, and the stores around here are sold out. Fortunately, I don't really need the rocket its self as my hardware would work with any solid fuel based model rocket (you might need to adjust the potentiometer for rockets with significantly larger engines, such as D sized for example).
Another problem I encountered with the hardware side is that I live in restricted airspace, which means that if I actually had my rocket and engines I would've need clearance from the FAA due to my proximity to Dulles, which means I can just leave it outside waiting for someone to win the game, because then I would be breaking FAA rules. Similarly, my radio idea almost ran into similar problems as FCC designates some channels for voice and other for data, and someone was sitting on their PTT on the only data frequency I had programmed into my radios, but fortunately I was able to just program in a different one.
Accomplishments that we're proud of
Personally, I think the whole think with the game interacting with the real world is pretty cool, and I've never done anything like that before, but besides that, I'm pretty proud of how finished and polished feeling the software side is in such a short amount of time, especially compared to the app I put together for hoohacks back in march.
What we learned
Besides learning a bunch about rocket physics and potatoes, I learned more about interfacing between software and things in the real world. I also learned a new technique to take a theme/idea and turn it into an actually thing, since using my normal way of coming up with ideas, I just couldn't come up with anything for the theme "space potatoes". Finally I also learned a bit more about game design, specifically removing realism in the name of making the game more fun/interesting, while still making it seem relatively realistic.
What's next for To The Moon!
More objectives, more rockets. More minigames/mechanics, just to add more overall time that the game is fun/interesting for. 3D print a case for the electronics. Get a PCB for the electronics (as it turns out a 2 week lead time from china cannot be done in 24 hours) Setup the hardware down in Goshen when I move back there in June, since then I'll have plenty of rockets & engines, plus it isn't restricted airspace. Add some fancy graphics to the game to make it feel more fun. I might also add liquid fuel engines so that I can play with throttle and stoichiometry.