
How to Make an RPG - catwell
http://howtomakeanrpg.com/a/how-to-make-an-rpg-release.html
======
mikegedelman
This looks really cool, I just wish there were a sample chapter... I'd want to
look at some sample code to see what kind of stuff I'd be getting into before
I made such a time commitment.

~~~
Keyframe
Yeah, this would benefit from a sample chapter.

------
geonic
> Over $2500 worth of pixel art (free to use however you like)

I think this sounds kinda fishy. Why isn't it sold for 2500 USD if it's
supposed to be worth so much? I guess there are way too many scam sites trying
to sell me something at a great discount that I can't help but feel this way.

I'd change this line to something like "over 1000 pixel art graphics free to
use however you like".

~~~
coltonv
Because If someone contracted them to make these assets they would have
charged that person $2500. But here they sell it to you much cheaper in hopes
That enough people will buy the book thus making more that the 2500 they could
have made.

------
Tepix
If you just want to make a RPG and don't care about the programming part, you
could just use RPG Maker instead...

~~~
Navarr
Honestly the screenshots and assets all look like they're ripped from
RPGMaker..

~~~
Mahn
There's only so much you can do with 16-bit-ish styled RPG graphics.

~~~
fiatjaf
You just say that because you never played a single Super NES RPG.

------
RIMR
Risky Click.

I figured I was either about to learn something about gaming, or I was about
to end up on a terrorism watch list...

~~~
chii
There should be nothing wrong with learning how to make a rocket propelled
grenade. Knowledge is knowledge, it's only bad when used nefariously.

~~~
RIMR
Well, I know how to make a grenade, and I know how to make a rocket. I guess
it's not that bad to know how to combine those things.

~~~
supercoder
You're definitely on the list now.

------
dcuthbertson
I wonder how it compares with Handmade Hero
[https://handmadehero.org/](https://handmadehero.org/)

~~~
keyle
Well, just watch the sheer amount of videos of handmadehero and I don't think
he's finished. I'd consider the book if I were you. It's ridiculous
[https://www.youtube.com/user/handmadeheroarchive/videos](https://www.youtube.com/user/handmadeheroarchive/videos)

~~~
dcuthbertson
Certainly following all those videos is an inefficient way to learn. As smoyer
said, it's more about the craft of coding, so maybe I made an apples/oranges
comparison.

Does anyone know about the depth and structure of the code in "How to Make an
RPG"? From the post, it looks like it is focusing specifically on gameplay
issues. Handmade Hero is covering quite a range of topics from basic gamepad
input and audio output (done early in the series) on up. It is structured so
that it's relatively easy to port to non-Windows OS's, and I like the live-
coding feature which really shortens the code-compile-test cycle.

I guess it would be nice to see the table of contents and maybe a sample
chapter or excerpts.

~~~
mw6621
There is a table of contents at the bottom of this page:
[https://howtomakeanrpg.com/](https://howtomakeanrpg.com/)

I bought the book. Haven't read it yet but the PDF is 978 pages and the
downloads of source/assets was approx. 2GB.

Roughly glancing through the book, there seems to be code examples on most
pages. Looks like he's using LUA.

------
alanfalcon
I love that you wrote your own engine (and your rationale for doing so) and
that you used Lua!

This looks like a very fun resource and something I'll be pointing aspiring
RPG makers to all the time (perhaps in leiu of my standard "you have no idea
what you're getting into, drop the idea and start something much much smaller"
spiel).

------
davexunit
There are a couple of articles I really enjoy on the blog section of the site.

[http://howtomakeanrpg.com/a/sine-of-the-
times.html](http://howtomakeanrpg.com/a/sine-of-the-times.html)

[http://howtomakeanrpg.com/a/the-power-of-
one.html](http://howtomakeanrpg.com/a/the-power-of-one.html)

------
supergreg
How different is the C++ engine to love2d? Does it just do enough to let you
draw in the screen with lua or does it implement anything more specific for an
RPG?

~~~
keyle
I doubt that his engine has a third of Love2D's capability. gamepad, audio,
etc.

~~~
dkersten
I don't know anything about this engine, but I've tinkered with stuff myself
and gamepads, audio etc are all pretty easy to implement. Eg SDL2 has a very
easy to use gamepad interface that's similar to XInput (pretends your gamepad
is an Xbox controller). I've used SDL_mixer and FMOD in the past for audio and
both are really really simple to get going.

My point is that, yes Love2D has been in development for longer and does
likely have more capability, but that doesn't mean that this is lagging behind
thaaaaat much, certainly not in the areas you mentioned. It might do, but not
necessarily. Also, I assume this has more RPG-specific functionality baked in
that you'd have to do by yourself in Love2D.

------
catwell
tl;dr This is a book about how to make a 2D JRPG in Lua (with a C++ engine).
The source code of the engine and the art assets ship with the book.

~~~
justinclift
What's the licensing on those?

The project site itself mentions the underlying graphics engine is an Open
Source one, but doesn't seem to have info on the licensing for the art/sound
assets.

~~~
juice_bus
There is a bullet point for the pixel art:

* Over $2500 worth of pixel art (free to use however you like)

But I don't see any concrete licensing statements for the art assets besides
that.

------
robohamburger
It would be cool if there were resources for just doing the systems and
encounter design. Most of graphics and engine programming seems easy enough
(just time consuming) and there are plenty of existing engines.

Always wonder how RPGs or or games like civ get balanced and designed. I
assume some of it is iterative but that requires at least starting out with
something reasonable right? Might pick this book up if it touches on that :)

------
NicoSantangelo
Interesting, I've always wanted to make a game but never found the time, now
I'm torn between learning Lua or just sticking to the web and try to do
something there instead.

Nitpick, there's a little typo: "Hello World exmaple for Mac"

~~~
vvanders
I highly recommend giving Lua a try, it's a simple yet powerful little
language(metatables, coroutines!) that embeds incredibly easily and has great
performance.

Way back on the PSP we use to run our whole game logic with Lua in a 400kb
pre-allocated block. You only had 8mb of system ram since 24mb went to
texture/audio and it really worked great. Coroutines are also a perfect fit
for try-wait-try logic you get in a lot of AI routines.

------
roel_v
What are some good current RPG's, in the style of the original Zelda, for PC
or mobile today? All I can find is free-to-play.

~~~
technomancy
Solarus ([http://www.solarus-games.org/](http://www.solarus-games.org/)) is
both a very polished fan sequel to A Link to the Past, and also an engine for
building your own action-RPG games in Lua.

~~~
cdubzzz
Wow, this looks great. How are they able to use "The Legend of Zelda" title in
their released games?

edit: Getting "Bandwidth or Storage Limit Exceeded" when attempting to
download from the Solarus packagecloud.io. Sadface.

~~~
starquake
It's back. I also wonder how they are able to do that. The graphics, sounds
and music is all from the SNES Zelda title. How can this survive if you aren't
even allowed by Nintendo to upload movies to YouTube?

~~~
whamlastxmas
The website owner and lead of the project is not based in the US. If he's
received any notice from Nintendo, he's probably just ignored it with no
consequence.

------
kybernetyk
About the dinodeck_mac hello world: You have to fix your linker settings.

> dyld: Library not loaded: @rpath/libopenal.1.dylib

> Referenced from: /Users/kyb/Downloads/hello_world_mac/./dinodeck_mac

> Reason: image not found

~~~
jtokoph
I'm wondering if that was part of the test. To make sure people who start
could get this working.

Tip: Copy the dylib to /usr/local/lib/libopenal.1.dylib

------
jaberwocky
Bought it, went through 1/2 of it in a day, think it is really good.
Informative watching the author's design choices and refactoring of the code
base as he added new features and builds up the game from "hello world" to
pretty full featured. I am a professional programmer and in my opinion this
would be tough to understand for someone who wasn't already an experienced
programmer, but I've never used Lua or coded games before.

------
exolymph
This person is waaaayyyyy undercharging. Should be $100 or maybe even more.

~~~
jaberwocky
Agreed. It is worth a couple hundred bucks IMO. I bought it and it is very
good.

------
myth_drannon
Anyone can suggest similar books/tutorials with Javascript?

~~~
baldfat
Phaser.io has a bunch of javascript resources and books.

~~~
bearble
While I really enjoyed Phaser, which in turn made me love TypeScript.

I had some serious issues with performance and trying to maintain 60 frames
per second in any 16:9 resolution.

I've been looking into C++ and Java solutions and this book might be the
perfect fit.

~~~
khalilravanna
I had the same issues myself until I ended up dropping Phaser and using Pixijs
(the rendering code used by Phaser) on its own and then writing a bit of code
to only render the game in chunks. It seems like by default Pixijs (and this
may have changed since I wrote my code) renders the whole scene no matter how
large it is. Since I'm working on dwarf fortress type game, the game world has
a lot going on and it crushed my game's performance and brought it to a halt.
Since writing that chunking code I haven't had any performance problems that
weren't my own doing.

tl;dr I would recommend checking out Pixijs on its own if you still want to
use TypeScript (I recently converted my code from es6 to TypeScript a month or
two ago and am in love love love).

------
whitten
is there anything inherent in the Lua Language that makes it a good match for
an in-game-engine programming language?

~~~
careersuicide
Not so much in the language itself (I'm not a fan), but the process of
embedding Lua and pushing data into a Lua context and pulling data out of a
Lua context is so simple the first time I got it working I thought, "Surely
I'm missing something, it can't be this easy." The ease of integration with C
or C++ makes it worth strongly considering when you need an embedded scripting
language. But, as I alluded to, Lua as a language is pretty awful. Lua's
tables are an abomination in my eyes.

A few years ago I started a simple RPG game engine that uses Lua[0] as its
scripting language. I never got very far with it but considering I had zero
clue how to even begin approaching the problem when I started I'm pretty happy
with how far I got before I lost interest.

[0]:
[https://github.com/seaneshbaugh/SDL03](https://github.com/seaneshbaugh/SDL03)

~~~
ufo
What do you think is so bad about Lua tables? They have some unintuitive
aspects (such as not being able to store `nil`) but in the end being able to
use tables for everything considerably simplifies the language. I'd hardly
consider that an abomination.

------
MollyR
This is interesting for 2d rpgs, Does anyone know of something similar for a
3d/VR compatible version ?

------
bithive123
I want to buy this book because it seems perfect for a Love2d project I've
been working on.

BTW clicking the "Buy Now" button is sort of jarring in that you first see
some text that starts with "Warning" which gets replaced by a credit card
dialog after a second or so.

------
dylanz
My first memory as a kid playing a "Japanese" style RPG was Final Fantasy. Is
this what the author was referring to, or was there a game like this that
preceded that?

~~~
knodi123
I mean, Dragon Quest is basically 1 year older, but I bet they were both in
development at the same time. I don't know of anything older than that with
the top-down turn-based approach with overworlds, battle screens, inventory,
etc.

~~~
Narishma
Nothing Japanese, but there were western games before that had major influence
on DQ and FF, most notably Ultima and Wizardry.

------
bshimmin
Ah, so many happy memories of playing _Shining Force_...

~~~
Taylor_OD
I have bought Shining Force on so many platforms. It seems like there is a
great port out for every phone or gaming system you can think of.

~~~
automathematics
Same. I have the complete collection now from 8bit to PS3. Such a great game.
I hope to create a 2d engine in that style next (in javascript because I'm a
crazy mofo)

------
geggam
dammit... came for RPG ( Rocket Propelled Grenade ) got RPG ( Role Playing
Game )

left disappointed

------
tmaly
wow I have not had my coffee yet. I was thinking you mean rocket propelled
grenade

~~~
formula1
I havent seen much about games recently and click bait about contreversial
issues often gets on the front page. You are definitely not alone

------
cced
> RPG

Yes, yes of course they mean game.

------
Robin_f
There are spelling mistakes on that page. That does not bode well for the
book.

~~~
shrugger
Then don't read it. In several years you've made only a couple negative,
snarky comments on HN.

If a guy writes an entire book and you don't want to read it because he made a
spelling mistake, then don't.

~~~
claystu
I disagree. The presence of several typos on the main page is a big red flag
for a technical book.

Having said that, I'm still interested, but the lack of proofreading on the
author's release announcement for his book is definitely counterproductive.

