Question

First, let me tell you, I am not really interested in making my own rpg engine (at least not in the near future, hehe), but I do feel like I want to understand the internals of how a rpg engine works. Why? Well, because I like to read about programming and design, It keeps me motivated and excited, and because I know I will learn a lot, for, even when I have been programming for some years now, I never stop considering myself an ignorant... there are simply SO many things involving a game engine (specially rpg ones, like branching storylines, and items and economics!) I'm eager to know.

I've been searching (and thus, finding) lots of info online, but it is never focused in what I'm interested (most of it talks about the mathematics and AI algorithms implementation, which I know quite well), which is the design of overall structure, patterns, scripting engine, decision engine... damn, so many things I can't even imagine, since I've never done any game programming.

I hope you know have an idea of how I feel, and how I want to learn for the sake of learning, and why would I want you to tell me if you know if there exist books touching the topics that interest me the most.

Was it helpful?

Solution

The best book I've read on the subject of game engines is 'Game Engine Architecture' by Jason Gregory. It gives a bigger picture view and covers a broad range of game engine systems. And the book doesn't give much implementation details (only where necessary to explain a specific concept).

Covering such a broad range makes it impossible to go into depth on any one subject, so the gameplay part (which it seems like you're mainly interested in) is only covered in one chapter, but still; if you want a good overview of the systems in a game engine and their interactions then this book is on the top of my list of recommended books to read.

The book requires a certain amount of previous coding experience, but not game specific experience. So I wouldn't recommend it to someone who just read a 'Learn C++ in 21 days'-book and wants to create a game engine, but from your question i get the feeling you won't have any problem with it.. ;)

http://www.gameenginebook.com/

http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135

OTHER TIPS

I can relate. This same motivation is what caused me to write MUD++ back in the early 90s. In it, I taught myself UNIX system / socket programming, threading, event handling, complex data structures, disk and in-memory database management, bytecode and interpreter implementation, parsing, etc.

I wasn't aware of any books, but I just took a look and found:

http://www.amazon.com/MUD-Game-Programming-Development/dp/1592000908

Not that I recommend it, but you might give it a try.

Try to make use of available tools and technology, try not to spend all of your time working on reinventing the wheel. That was my mistake and I didn't develop the game side enough before finally tiring after a couple of years, but if not for the experience I would not have learned what I learned that helped me through my career. I later was able to work on a game for Disney, and used those skills.

If I did it over again, I'd do the performance sensitive engine in C++ again, but I'd do all the rest of the game logic in an embedded language (Python, Ruby or Perl are all embeddable). Lesser known, but good are Lua, Tcl, and even Javascript.

Also, something to look into, the sort of persistent puzzles / quests inside the game lend themselves to what we call a "continuation." Ruby supports them, plus some Virtual Machines do as well (Parrot has full blown continuations, Mono also has a 2nd class flavor). If you can wrap your head around it, it is a powerful tool for adventure game implementation where you have to retain the state of a puzzle or quest over a long period of time, even persistent between playing sessions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top