So how do you go about creating your own game?

Download the program here:

https://github.com/ganelson/inform/releases

Go for the Windows one if you have a PC!

Look at the documentation in the program - it's great!

https://ganelson.github.io/inform-website/doc/

For a small game, you need to think about:

1) A GAME MAP

2) SOME BASIC PUZZLES

3) AN ENDING / WIN CONDITION

++ 1 ++

GAME MAP

How many rooms will your game have? How many objects will be in each of them?

This is worth sketching out with a pencil & paper first. KEEP IT SIMPLE. Just a few rooms and a few objects will give you enough to do.

Inform 7 is an amazing program! It uses natural language which means that you don't have to learn special coding syntax at first. You do need to speak in a way that it will understand you though. It's not really human!

Fortunately, ROOMS and DIRECTIONS are part of its in-built package. You can tell Inform:

Entrance of Cave is a room. The description is "Cut into the face of the cliff is a dark scar, a cave which invites you north into the blackness beyond."

This will create the room and a description to accompany it. Next you could create the next room in the cave.

Inside the Cave is north of Entrance of Cave. The description is "You can barely see in here among the tumble of boulders and stones. The cave continues to the east and west."

Now you have two rooms which Inform understands are connected NORTH and SOUTH of each other. At this stage, you're ready to think about OBJECTS and how these create the interactions and PUZZLES in your game.

++ 2 ++

SOME BASIC PUZZLES (and not just mazes!)

Guide your player to make it more fun for them. In the example above, getting further INTO THE CAVE sounds like a possible goal. Perhaps the player has heard that there is a priceless gem hidden in there!

But you don't want it to be too easy... Create a couple of puzzles. Perhaps the player needs to find a light source (a torch or even a flaming branch!) before they can progress further. Perhaps the treasure is guarded by a bandit (or a troll) who needs to be defeated, or distracted, or bribed to be able to get to the gem. 

Again, KEEP IT SIMPLE and plan out which stages need to happen in which order with pen & paper first. See the this link for more guidance on creating a series of interlinked puzzles which are fun:

https://grumpygamer.com/puzzle_dependency_charts

++ 3 ++

AN ENDING / WIN CONDITION

Ideally, you need a way for your player to finish your story / game. What do they need to achieve? Do they need to slay a dragon? Or complete a 'fetch quest' for a wizard / witch? Or just escape from somewhere? 

Keeping these goals clear for your player will help in your first games. You can nudge your player in the right direction by awarding them POINTS. This is an in-built feature for Inform, so it's as simple as declaring at the start of your code:

Use scoring.

Then you can add points with a command like this throughout the game:

After taking the trophy for the first time:
increase the score by 5;
say "Well done!"

At the end of the story, you can:

End the game in victory.

This will tell the player that they have won.

+++++

Once you've read the above, the following links will help to see how this works in practice:

1. https://playfic.com/games/cooper/tutorial

A short online game which illustrates some simple puzzle ideas (including movement) and a win condition.

2. https://playfic.com/games/cooper/temple

As above... the same author 'Cooper McHatton' has also done demos for simple NPCs, doors and other core features.

3. http://www.sibylmoon.com/welcome-to-adventure/

A range of solutions to puzzle ideas from the original COLOSSAL CAVE adventure.