Difference between revisions of "Skullspace Hardware Programming Challenge"
Line 30: | Line 30: | ||
== Levels that are ready and available for members to solve == | == Levels that are ready and available for members to solve == | ||
− | None, currently. [[Skullspace | + | None, currently. [[Proposed projects#Skullspace Hardware_Programming Challenge|Applying for project funding]] to accelerate the under development levels (below) |
== Levels that are under development == | == Levels that are under development == |
Revision as of 18:27, 17 March 2012
The Skullspace Hardware Programming Challenge is inspired by the puzzle solving spirit of the Skullspace Challenge -- but the major difference is that you have to show up at Skullspace, and write and run a program to operate weird and/or interesting hardware in order to solve each level. Specifically, there will always be a "secret message" that the participant must be access through an input/output device. You present the secret message to the challenge masters to show them that you've solved the level and they verify that indeed you did. (The level-master can be an automated web page eventually...)
In some cases, the secret message will be obtainable with just read I/O, at other times correct write I/O will be required to unlock or solicit a response from an attached system which then responds with the "secret message". And in some cases, even after your code has obtained the secret message, the problem setup will force you to use a specific kind of output device in order to get it out of the system and into a form you can present.
Contents
Old hardware
The "weird or interesting" criterion can be a quality of either the hardware platform being programmed or the IO device involved. Many of the levels will pull this off by requiring the participant to program a retro-computer. This will provide an excuse for the retro-computing folks at the space to do their work of keeping old hardware operating. Developing the levels of this challenge is something real to work towards and a good defense against claim "why don't you just run an emulator".
In some cases the use of retro-computers will make interesting IO hardware available for programming that you can't even hook up easily to a modern computer and/or might not even be emulated in available emulators. Further, we're looking for this challenge to have tangible aspect -- you can emulate a "device" but you can't really emulate the experience of being in the presence of something weird that hums, clicks, and hisses at you as your code controls it and tries to extract a secret message from it.
Secrecy and Education
Like the Skullspace Challenge there will be an element of secrecy to create some excitement, "Rule 1, don't talk about hardware challenge". Each level will have solution code developed by the level masters to ensure the hardware actually works and the levels are do-able. But, this "official" solution code will not be published and neither will the secret messages.
One difference -- instead of leaving clues that approrpriate clue/guess followup, each level will come with complete links that provide development software (such as cross-compilers), documentation on how to use them, and documentation on the IO devices involved. Where possible, quality, generic, docs that are already published out there on the web on this hardware and software will be used over custom docs specific to the level. So, the path to each secret message won't require guessing, but careful reading and writing of compliant code.
But, this difference doesn't make the challenge easy -- it can take a lot of time and patience to get hardware code right, even when its documented. The requirement of having to program tangible platforms external platforms will in some cases make things more slow and frustrating compared to a purely emulated environment.
Anyone complaining about the levels can be told to RTFM -- and as such the "official" secrecy of the solutions (that is, Skullspace operated sites) can be kept in place -- there isn't the same compelling reason to release them that there is with a clue based challenge where people naturally just miss some clues and end up begging for published solutions.
For the most part, any underlying hardware or software work behind each level possible can be openly published without actually giving away the level solution or secret message. The creation of new levels will an open project for Skullspace members.
In addition, with actual solutions not made officially available, the challenge can serve as a permenant education fixture at the space. The challenge can serve as an amusing entry point into hardware programming for new members. The open hardware and software design will further serve as interesting works of study.
Levels that are ready and available for members to solve
None, currently. Applying for project funding to accelerate the under development levels (below)