The release of the How to Make an RPG book.

The How to Make an RPG project is now at a state where it's ready for public release. You can buy it here.

Buy Now.

What is the How to Make an RPG project

This project, nearly three years in the making, takes a new programmer from drawing a sprite on the screen to making a fully featured Japanese-style role-playing game.

I'm a professional game programmer and starting out, this was the book I wanted to read - but it didn't exist! The games industry doesn't do well at sharing knowledge and there are very few books that cover making a game from start to finish.

I want this book to teach the reader two things: how to make a full game and how make an RPG (as I think they're one of most interesting genres).

Here are a few screenshots showing the kind of thing you'll learn how to make.

Talk to NPCs in the town.

Fight all kinds of mosnters.

The book covers:

  • Animated characters
  • Inventory System
  • Cutscene System
  • Combat System (with special attacks)
  • Stats and Levelling
  • Quests
  • NPCs
  • Dungeons
  • Monsters
  • Dialog System
  • Saving and Loading
  • Maps
  • and so on

It costs $46 dollars and that gets you:

  • Digital book (just shy of 1000 pages)
  • Over $2500 worth of pixel art (free to use however you like)
  • Full source code to a cross-platform C++ engine
  • Roughly 200 examples that take you step by step through each project
  • Three full games; a prison escape, a combat arena and a full mini RPG.
  • Lots of visualizations and diagrams to help communicate the concepts

Here's one of the 283 diagrams and illustration to be found in the book.

A diagram from the book showing render order.

I'll also continue to build on the work in the book on this very site. (If you see something in a RPG you'd like to know how to do, shoot me a message and I'll go over it!)

A full RPG menu system.

What are people saying

"Your book is amazing! Best buy I've made in a while!"

  • Oli Bedsole

"Your book is helping my dreams come true"

  • Terrence Young

"A load more content than I ever expected. The step-by-step explanations, with visual examples for everything are just amazing. I've been through a ton of different guides and have made Zelda clones, but the detail and depth of your guide and well-written explanations/functions, UI design, and generally everything have been amazing."

  • Async0x42

Explore castles and fight in the arena.

I have been programming for about 15 years, but I was unsure of some of the design decisions for a game of this scale. I first found your website via articles, which were incredibly helpful.

Your book has been immensely helpful on a conceptual level. I don't think I ever truly understood the State Machine quite as well as I do after going through the first few chapters of your book.

  • Dan (A different Dan :D)

How to Make an RPG, helped inspire Studio Atma.

Who shouldn't buy the book?

If you've never programmed this book is going to be like jumping in at the deep end. Probably best to read a programming book first!

If you're a professional game programmer then portions of the book are going to be a bit basic for you.

If you can't run the Hello World example.

  1. Hello World example for Windows
  2. Hello World exmaple for Mac

(If it doesn't work let me know!)

It's also worth mentioning: this book does not spend a lot time on story, character development or that sort thing. It describes how to build the code vehicle for your own story and characters.

Take part in questions and escape a dungeon.

The Details

The book uses the Lua programming language. It's a simple elegant language that's widely used in the games industry.

I didn't want to write another book about how to bring up a window using Windows, setting up a OpenGL context and all that low-level technical stuff. Instead I wrote a small engine called Dinodeck that lets us draw graphics to the screen. This means the book concentrates on How to Make an RPG, rather than How to Write a Graphics Engine. If you are interested in the engine, that's cool, the source is provided under a permissive license to do with as you wish!

Code snippet.

I chose not to use a engine like Unity because it's closed source and the API changes rapidly. I want to allow the reader access and license to the entire tech-stack and I want the code to always run! Previously I wrote the book "C# Game Programming: For Serious Game Creation" published by Cengage Learning. This book used a C# engine called Tao and it used a particular version of Visual Studio - it was all out of date in a few years! With "How to Make an RPG" I want the book to last - the fundamentals are timeless, the code will be executable forever and it's easy to transfer concepts from the example projects to the new hot engine (infact I'll do this from time to time on the article section of the website).

How to Buy

Want to make your RPG? Let's do this!

Buy Now.