Part 4: Building a Challenge

One of the key ingredients to making an event like HackFu is the unique and innovative challenges that are at its heart, so if you are looking to run your own event you’ll need your own challenges.

In order to give you a great start in creating a challenge, our seasoned HackFu veteran and challenge writer Matt. H gave up some of his time to share the following challenge writing tips and tricks with you:

1. Get creative

Anyone who works with technology or in a technical environment can easily get inspiration for challenges from the world round them.

When you work with a number of different systems implemented in different ways you can come across something really unusual that you’ve not seen before and that could be the catalyst. Other challenge writers have been inspired to create a challenge using particular tech they have enjoyed tinkering with, challenges they have enjoyed in the past or might put together something based on some of the latest hacks.

The good news is that most people now use technology both at home and at work so there is always plenty to inspire you. It’s also worth remembering that the challenge doesn’t have to be technical in nature, as any past HackFu participant can tell you. Looking at the skills and capabilities needed within a cyber security role, including leadership, collaboration, negotiation, strategic planning amongst others can serve as inspiration for a great challenge.

2. Consider your audience

To a certain extent every challenge will need certain skills and capabilities to complete. However, if your challenge is going to be run at an event like HackFu then there are a range of people and roles you can cater for in your challenge. In that case your challenge can involve anything from a high degree of technical knowledge through to none at all. Is this instance it’s more important to let people know up front who should be attempting it so they know they will get something out of attempting it.

3. Remember your objectives

To build a great challenge, you will need to think about what the core idea is, what the fun aspect to it is and finally the key thing you want people to learn or understand. This needs to remain central to your project as losing sight of this at later stages can take your challenge off down blind alleys. If those attempting your challenges don’t get anything from completing it why should they send time trying to solve it?

4. Think about the logistics

When you’re getting creative and coming up with some great ideas for your challenge, it can be easy to lose sight of the practicalities. Some important questions to ask yourself are:

  • How many times will the challenge run?
  • Could anything get broken and how can it be fixed?
  • How many people will need to work on the challenge at the same time?
  • Do those hosting and running your challenge for you have any requirements of their own? E.g. format of VMs, server resource limitations, power considerations, hardware etc.?

If you understand these factors you’ll know how much equipment you’ll need and then how much it will cost. Spending a lot of money on equipment that can only be used by one person and has parts that might be easily broken isn’t such a good idea. On the other hand a challenge that runs on a self-contained Virtual Machine can be reset and used many times. Some of the best challenges we've seen cost nothing!

5. Test it twice and then test again

Your first step should always be to build a Proof of Concept (PoC) or a prototype. These will let you know if your idea can be translated into a real world challenge. This can then be used to further develop and refine your challenge into the final version.

You need to find a way to develop a logical signposted trail which will allow people with less experience to still make progress through your challenge and potentially score some points, even if they don’t get all the way to the end. 

The key thing once you start building is write all your ideas up as you go along so you don’t forget anything! Then as you build each stage of the challenge think about how people will work through it, what clues will they have if they get stuck and importantly how people might misinterpret a clue and spend time working out the wrong puzzle.

There are lots of other important steps to consider including testing, both functionally and on your target audience. You may also need to theme your challenge to fit with the storyline at the event its being run at, or the one you want to create if doing this for your own.

Remember that as you build your challenge it will always take you less time to complete it than someone fresh to your challenge because you know the answers. It’s also important to realise that good puzzles don’t require those attempting them to make a leap of faith, specific knowledge or unseen results to find the way to progress unless that is made really clear. This is known as signposting and we’ll share some of our thoughts from our research in this area, mainly taken from the games development industry, in a future article on this site. For the moment just keep in mind that satisfaction in puzzle solving doesn’t come from randomly finding a solution or going up too many blind alleys without knowing they are the wrong approach.

So I’d recommend getting some avid puzzlers to test your challenge as you go through to point out what was difficult, what was easy and what could be improved. If you don’t you might find yourself on the list of impossible puzzles and challenge writers to avoid.

 6. Think of how much time you need. And double it!

The time it takes to build a challenge really depends on the idea but will always take longer that you expect it to. It could take a few hours for a fairly straightforward challenge, or a more complex challenge with varying layers of difficulty that needs to be built from scratch might take several weeks. Experience has shown that the more time you spend at the start thinking about your idea and thinking about the steps, the easier the build process.  

The most important thing to consider is time management. It is often very quick to put together a proof of concept that will prove that your idea works in principle. At that point it is all too easy to take your foot off the gas and think you’re past the most time intensive part. That’s not always the case though!

The key is to make sure you dedicate time to debugging, testing and scaling the difficulty of your challenge. The successful challenges in the minds of those completing them are the ones that don’t have bugs and therefore don’t break unexpectedly. Getting to this point can be a long way from your initial proof of concept so don’t forget that you need to invest time at this stage.

7. Don’t be afraid to ask for help

It can seem daunting to write a challenge for an event like HackFu but that shouldn’t put you off. Every challenge writer started somewhere and there are many examples of first time challenge writers creating awesome puzzles that live long in the memories of those who attempted them. My advice would be to start small, produce a great shorter challenge than a poor longer one. But I’d also recommend you seek out people who’ve done it before and get their advice.

There are many people at MWR who would be more than happy to help out an aspiring challenge writer so if you’d like some help or guidance on your next challenge then contact the HackFu team who would be happy to help.

Keep following us via social media and our website for more insight and information about HackFu.

Copyright © 2017 MWR InfoSecurity.