I was driving most of the night last night. It was a random Sunday night, so there wasn’t much traffic at all. There were several hours on the interstate where I didn’t see a single car. It was eerie and pleasant all at the same time. I had a lot of time to think and let my mind wander a bit…
I started thinking about the evolution of this blog and I came to a strange question, the kind that you only think about at 2am… If you had to build an airplane autopilot with a website framework, which one would it be and why? The answer I came up with, made me smile. Maybe it will for you too…
To build an autopilot powered by a web framework, such as Laravel, WordPress, Express, Django, etc. It must be flexible and able to accept readings in degrees or radians; knots, mps, and mph; meters and feet; and “heat” (I’ll get to that in a second).
The “aircraft” will call various endpoints in almost realtime, approximately every 500ms but might be less. Your site must be able to keep track of the current state because also, no more than every 500ms, the “aircraft” will poll what to set the controls to.
Your site’s objective is to fly through a target, but the only indication that you’re flying in the right direction is a “heat” target. It will tell you “cold”, “cool”, “warm”, “hot” or “perfect”. It may be above you, or below you. It might even be behind you. Your task is to locate the proper direction and fly towards it.
You can stall, spin, crash or fly to reach the objective, it’s up to you, as long as you reach it. Upon reaching the target, you will enter the leaderboard. There will be 5 scenarios and the score will be the time taken. Lower times, results in a higher placement on the leaderboard.
Your solution must be licensed under the GPL or compatible license and freely inspectable by the public. A fork of another solution is not allowed to be submitted.
00:00 GMT August 31, 2017
https://transducer.space goes live with $1 pre-registration
00:00 GMT November 1, 2017
Enrollment Starts: $5 at https://transducer.space
00:00 GMT November 14, 2017
Practice Session 1
08:00 GMT November 14, 2017
Practice Session 2
22:00 GMT November 14, 2017
Practice Session 3
00:00 GMT November 15, 2017
Session 1 – Grasslands
12:00 GMT November 15, 2017
Session 2 – Desert
00:00 GMT November 16, 2017
Session 3 – Mountains
12:00 GMT November 16, 2017
Session 4 – Grasslands
00:00 GMT November 17, 2017
Session 5 – Beach
00:00 GMT November 18, 2017
00:00 GMT December 1, 2017
Release of game source code.
You’ll receive telemetry every 500ms at the following endpoints:
Controlling the Craft
Approximately every 500ms, the aircraft will poll your autopilot.
It will accept any value, but only respond from 0-100
It will accept any value, but only respond to a triple tuple in the range -100, 100. The first value in the tuple represents pushing the stick left (-100) and right (100). The second value in the tuple represents pushing the stick forward and backward (-100 to 100, respectively). The final value represents pushing the left pedal (-100) and the right pedal (100).
- Solution must be open source and available to the public, licensed under GPL or compatible.
- Solution must be hosted by participant.
- Any response other than a 200 is considered fatal.
- Crashing effectively results in a score of your current time + a two hour penalty.
- A session is limited to two hours.
- Once altitude reaches 0, it is considered a crash.
- Depending on the mood of the aircraft, it may report measurements in various ways. Expect the unexpected.
- One of the practice scenarios will be one of the actual scenarios, reused.
Be resilient. Be robust. Fly to the sun.
1st Place: $1000USD
2nd Place: $200USD
3rd Place: $50USD
Does this sound like fun to you?
Let me know in the comments below!