Kernel of Fun.

The How to Make an RPG book is currently available in early-access mode. This allows readers access to the text while I'm editing and finishing it. It's only open to the mailing list subscribers. If you're interested sign up for the mailing list and you'll find details about how to purchase.

That's the preamble out the way! I released the first version of early access in January and I've had a lot of kind feedback, as well as corrections and suggestions.

Thank you to everyone who's reading it! And thanks again to everyone who's got in touch!

Version 0.2 is available as of the 7th February 2016.

Where Are We?

The book is divided in to four major parts.

  1. Introduction / Front Matter
  2. Exploration
  3. Combat
  4. Questing

I'm currently editing the end of the combat section. Finishing the editing is the current focus, then there's some front matter left, cleaning-up the C++ engine source code and releasing that, then I want to spend time dealing with any issues related to the engine (for instance the libraries for the mac are dynamically not statically linked, there are few versions of the engine in the examples and they need to be unified etc.).

What's New in Version 0.2?

The last release was the first public release so there have been a few gotchas. The biggest one is the Mac Dinodeck engine requires a workaround. This will be fixed in upcoming versions but those will be after the text is edited.

Here's an overview of the changes:

  • OpenAL.dll added to all projects (this is required by the windows Dinodeck engine)
  • In the first set of examples the engine is now called dinodeck_mac and dinodeck_win.exe to prevent confusion.
  • The first set of examples uses the same engine files for all examples.
  • Removed my errant utility code from the examples directory
  • Removed files from the first set of examples that are unused: Animation.lua, big_text_box.png etc
  • Section 3.8 "Combat Actions" edited and six figures / screenshots added.
  • Section 3.9 "Winners, Losers and Loot" has had it's first review pass
  • Added a How to Read section
  • Added an Acknowledgements section; definitely not final :)!
  • Many corrections for the first section and front matter.
  • Example .zip packages no longer contain super long paths.

What's Next

The next version will be out on the 6th of March 28th of February.

Until then, I'll be grinding on with the editing. The editing process is not just checking the text, I also have to update layout markup, correct references to examples, create final diagrams from placeholders and add screenshots etc. It takes time.

Next version, I want to be very close to done with the entire combat section. This is going to be challenging as the company I work for is entering crunch to release a game and I'm going to be working Saturdays. Despite this I want to push forward as much as possible.


I've had a few question come up from multiple people. I'm sure there are people with the same questions who haven't contacted me directly so here they are:

If I buy the early access version do I get the full version when it's done?

Yes. (As well as updates a long the way)

How do I run the code examples?

Download one of the example folders (start with Open tilemap-1, this is the first example. If you're on Windows run dinodeck_win.exe, if you're on mac run dinodeck_mac. On Mac you may have to right click and chose open from the context menu.

If everything works, you'll see a little window like this:

A little window showing everything is alright with the world.

What platforms are supported?

Windows and Mac currently.

How about Linux?

Not right now but in theory it's possible as all the libraries are cross-platform.

Do I have to download Lua, SDL or some other library?

No! You shouldn't have to download anything that isn't included already.

To verify everything is working as expected visit the dinodeck site, download the Hello World program and try it out.

Dinodeck tries to connect to the internet!

Dinodeck runs a local webserver that it uses for debugging. It can be turned off. Open settings.lua and change the following flag:

webserver = false

With that set to false, Dinodeck will not try to open a local socket.

How do I edit Lua files?

All files ending .lua are just plain text files (like html). You can open them up in any text editor.

What should I use to edit the Lua files?

I use SublimeText the free version is free forever and just has some nag screens (I support it and have a license :D).

Alternatively I hear Atom is quite good.

You could use notepad but there are far better options! Of course vim/emacs for the wizards are also fine but if you use these you probably won't be asking this question :)

Where are the art files?

In a future version I'll make the art more accessible. Currently if you go to the following directories you'll find most of the art.


Can I pay with paypal?

Yes. Initially this option wasn't available but has since been restored.

I'm sure there are the more questions, I've forgotten. As I collect them I'll make a real Frequently Asked Questions page!