Tuesday, April 30, 2013

RPG Textboxes with "chunking" and options menus

Work continues on the "How to Make an RPG" book. I've added textbox code that will take an arbitrarily sized piece of text and break it down into multiple textbox sized pieces. I'm calling this process "chunking" for want of a better term. You can see an example below.

It's important that this is done automatically because typing out dialog should be as free and frictionless as possible, you shoudn't have to worry if it will all fit in a certain sized box.

The text doesn't appear like a type writer which is common to a lot of RPG games. I think I am going to add this effect, I'm just getting to be a little sick of textboxes currently, so I'm moving on :D

I've also added selection menus to text boxes,  now your hero can be presented with difficult decisions!

The selection can be added to a fixed sized textbox

Or a textbox fitted around the dimension of the text and menu

The font I'm using is the engine's debug font which happens to be monospace and a little pixely. These boxes work with any truetype font. For future updates I might switch to something a little nicer.

I'm looking to move on to and finish ProgressBars today (those pieces of UI used to show progress towards a next level, or current amount of HP/MP). Then I'll be wrapping up the UI widgets for now. I think I'll be moving on to a basic player / inventory menu system, then a small game to end this section of the book.

If this post has caught your interest and you'd like to know more about the book I'm writing please check out the promo site here. Learn how to write a JRPG style game such as Final Fantasy 6.

Edit: ProgressBars

Friday, April 26, 2013

Hosting Issues [Resolved]

I'm afraid my hosting provider, Linode, is having issues at the moment and so www.howtomakeanrpg.com is down! Hopefully everything will be sorted soon and I'll get it back online. I'll let you know when it's back up, if you're trying to get to it then thanks for you patience.

Edit - it should now be back online!

RPG Textboxes (again)

I'm continuing on with my next book "How to Make a JRPG" it's going well, as I mentioned in the last blog post I'd run ahead with the GUI code a little and the last two days I've been catching up with the text. Unfortunately this means I don't have any interesting screenshots today :( There's still quite a bit of work to do until I'm ready to finally move out of the GUI stuff. I feel like I've spent too long on it but it's definitely to the benefit of the code!

If you want a little taster of what's to come in the full book then please check out the article I wrote for gamedev.tutsplus.com called How to Build a JRPG a Primer for Game Developers where I take a look at a few of the systems that make up a JRPG. (Though the book is far more specific and you get real working code :D )

Also it's Ludum Dare this weekend, a global game jam where you're challenged to make a game in 48 hours. It's a great way to actually get something done and get some experience finishing a game. If it that sounds tempting then I strongly encourage you to give it a go!

If you want to be notified when my RPG book is released then please sign up here.

Wednesday, April 24, 2013


Continuing on with the code for my next book "How To Make An RPG", I am still messing with the GUI I'm afraid :D

GUI can be hard and complicated but I don't want to get crazy deep into it in the book; I want it simple and easy to use. For that reason, I've gone back to the start and rewritten it all so it's simpler. I'm now satisfied it's simple enough!

One of the things a good RPG engine should automatically do, is take a long piece of text and split it up into multiple dialog boxes, with a little arrow to notify you that there's more text. Like so:

Here's a text box that automatically splits up the text into two boxes, if you hit the ACCEPT button (or whatever)  it proceeds to the second box, press it a third time and the box is dismissed.

The little notification arrow I may tweak as it's very small. Ideally instead of an arrow I'd have a little image of the button you should press but that's getting off-focus a bit. More GUI to come in the next few days, choice boxes, progress bars and menus, all should be done by the end of the week.

Also it's Ludum Dare this weekend! You should take part! I'm going to be giving it a go, though I haven't done any voting for the theme yet.

As always, if this stuff is interesting and you want to make your own RPG then there's a promo site here where you can sign up "How To Make An RPG" book and be notified when it gets released.

Friday, April 19, 2013

RPG Textboxes for dialog

Last update of the week for progress on my "How To Write an RPG" book. I usually write the book and code simultaneously following a plan but for the GUI I've been running ahead on the code a bit. I want to make sure the initial code for GUI holds up well even when things get more advanced.

I've added in some tweens for presenting the textboxes, they scale the box and text but could just as easily also change the alpha. There's a stack that the dialogs are pushed on so there can multiple dialogs on screen at once.

Currently there are two type of dialog, a fitted dialog which fits around the words and an avatar dialog which is the same as the fitted dialog but allows you to add an avatar picture (you'll also be able to add a title / name but I've not quite got there yet). Then I need to add in support for a hard width limit and finally dialogs that breakup a lot of text into several boxes. Then that will be the textboxes done with and on to the other UI elements.I've got work I need to do this weekend but I'll be back on the book sometime on Monday.

If you're interested in writing your own jRPG then please check out my book's How To Make an RPG promo site here.

Thursday, April 18, 2013

Textboxes With Gradients

A textbox with a gradient. Scaled 2x
Hello, another update on how my progress is going with writing "How To Make Your RPG". 

Recently I've not pushed on with the book because I've been writing an article for another site to help promote it and also some work related stuff (which is going to continue to hold me up for the next few weeks :(). But writing should continue to move along nicely from next week.

Originally I wasn't going to have fancy gradient textboxes in the RPG book as I was worried it would be too much of a complicated diversion but then I thought of a simpler way of making it happen. I quickly added them this in afternoon.

The next GUI improvements will be getting automatic dialog boxes working and easy to create content for.

As I mention nearly every post, I'm writing a book about how to create a SNES era jRPG from the ground up. If that sounds like it might be your cup of tea then please check out the promo page and sign-up to be notified when it's released.

Wednesday, April 10, 2013

5 Tips for Marketing your Game and Talking to the Game Press

I'm writing a new programming book about creating SNES-style JRPG games and I'd like to self-publish; so recently I've become very interested in marketing, especially marketing related to the games industry.

Luckily there are some excellent resources out there. I've been listening to some of the talks from Launchconf a conference in Birmingham in the UK that tries to bring games journalists, PR people and game developers together to talk about this very topic! I thought I'd share some of the tips I picked up. There are definitely some actions here I've added to my to-do list.

1. Have a story

"A new match 3-puzzler coming out isn't really a story but a new match 3-puzzler from someone with an interesting background is"
- Keith Stewart, @keefstuart, Guardian Game Correspondent

"A lot of developers think it's the game that will interest journalists but often it's the developer that will interest journalists"
- Keith Andrew, @tweeting_keith, Editor at http://PocketGamer.biz

It's not just your game that's the story - it's you! How are you different, what's the story of how you came to the point of developing this game? Did you use to work for big studio like Rockstar on GTA and get tired of their endless grueling crunch? Was the game funded in an unusual way, is it targeting an odd market, did you overcome some kind adversity? An article needs some kind of hook to draw the reader in and make it stand out compared to all the other games.

The more concrete details you can give, the easier for the journalist to build up an interesting story for an article. For example "our game was influence by loads of films we saw and loads of books we read" is bad, "our game is influenced by 'The Shining' and Disney's 'Mulan'" is good.

2. Form a relationship with journalists

If a journalist knows you they're more likely to hear about what you're doing and more likely to write about it.  So how do you meet journalists?

Journalists, from what I've seen, spend a lot of time on twitter and this is a great place to "meet" them. Follow every journalist you can and join in the conversation, pitch in and demonstrate you know what you're talking about. A good twitter avatar can also help here (I think mine is pretty terrible by these metrics!).

Be useful to journalists, if you're a game developer it's likely you have some expertise that most journalist's don't. Be willing to help them out, it's common to see requests on twitter asking for people with expert knowledge of a particular topic or experience, so if you can help then do so!

Of course real life is even better than twitter, so going to conferences is good, inviting journalists to your events is good (Even if you're just a small indie and you have a board-game night - invite some journalists to join in. This was mention by Will Freeman as a way he's met developers.)

Final tip for this section: build up a relationship with a journalist before you need them, don't cynically try and build a relationship just to get something out it. A good relationship should be the priority not just the potential benefit to you.

3. Be opinionated

"As an Indie, within reason, you can pretty much say whatever you want."
- Keith Andrew, @tweeting_keith, Editor at http://PocketGamer.biz

Ever notice that Peter Molyneux manages to get quite a lot of press? There's a reason for that; he has strong opinions and he's happy to say outrageous things as well as give intelligent thought provoking comments.

"It's you Americans. There's something about nipples you hate. If this were Germany, we'd be romping around naked on the stage here." 
Peter Molyneux @pmolyneux

You don't have to be Peter but if you understand why journalists like him and quote him then you're going to be better positioned to deal with the press, build up a profile and promote your products. He wasn't at launchconf I just wanted to give an example of one his quotable quotes.

4. Build a community

"If you're proud of what you do, get the message out there, however you can and you'll build a community"

- Colin Macdonald, @ScottishColin, Channel 4's Games Commissioner

Put the time in to go to events, if you can afford it, PAX, E3, GameCity etc gives you access to the press and the public. The world's connected now, the general gaming public you interact with will tweet, write blogposts and post to their Facebook wall. This ripple effect helps build your community.

Get twitter followers by providing early access to your game, let them join in the conversation and see the development process. If fans are into your game they'll rally round and help you market it. If you ever browsed the comments of a popular kickstarter you'll see this in action for example:

 Direhippo 4 days ago
I've been jumping on all the forums I know to continue to promote this game using the paypal link:
Send it out to everyone you can!

If you hold a community event you can reach out to journalists and ask them to join you. For an indie this could be as simple as a get together at a pub. The press meeting your fans is wonderful as they'll provide new positive perspectives on the game.

5. Be prepared

You should always be ready to show off your game or product, you should have a tablet that someone could play the game on, you should have screenshots and videos to hand. That way you'll never miss an opportunity to show the game off or get some press. You don't want a hold-up or friction when you're trying to get coverage.

Be prepared, just like these girl scouts.

Have assets and press packs easily available from your website. Every email to a journalist should contain your best screenshots (or I guess a link would be good too), don't assume they'll remember who you are or anything about the game you're developing (not because they're terrible callous people but because they're inundated with similar emails 100s of times a day. With so many different games it's hard to keep track of it all, however well meaning!)

Tuesday, April 09, 2013

RPG Textboxes

The "How To Make Your RPG" book is progressing quite nicely and I've just started the chapter on GUI. jRPG menus are about 80% textbox so that's the first element covered in this chapter. The below box, in the screenshot, is a standard resizable textbox made from 9 different pieces (4 corners, 4 side panels, 1 back panel). The side panels and backpanel are scaled according to the size of textbox required. The border decoration for these type of textboxes is determined by the texture. The code is simple and flexible.

A basic jRPG inspired textbox (Scaled 2x)

The next order of business is to build on the textbox and add support for dialog boxes. A dialog box allows a lengthy piece of dialog to be split into multiple textboxes with a prompt to advance between them. I'll also cover additional elements at this point like an avatar portrait and title for the person speaking. Then a few examples that show how versatile these boxes are and then moving on to other elements such as the ProgressBar.

GUI isn't the most exciting topic but it's quite essential for any large RPG and there's definitely an element of enjoyable craftsmanship in doing it well. The GUI section also has the benefit of being rather small, we build a toolbox of useful elements that are then used throughout the rest of the book.

Monday, April 08, 2013

Making a JRPG: NPC Swarms

Watch them walk!

My animated gifs are getting slightly better but they're still not great! This is another update of the "How To Make An RPG" book. I'm coming to the end of tile maps and finishing off NPCs (which I'd hoped to have done by yesterday). 

The NPCs here all have a basic AI-type controller so they move around at random. They'll never move on to the same square. I've turned off the triggers on the doors but otherwise they  can walk through the doors and be teleported just like the player (which brings up the issue of teleporting on to other characters, which I'm side stepping entirely in the book because it's not an issue that will come during a game. But the code is there if someone wants to implement a solution; stop the triggers working if they'll teleport to an occupied destination - or my preferred solution - the good old tele-frag, just gib them :D) 

NPCs with collision detection is finished. I've got to wrap up a little more on map saving / loading. At some point tomorrow I'll have made a start on the UI chapter and we'll have text boxes galore. 

As always if you want to know more about the book or be notified when it's released please check out the promo-site:

Sunday, April 07, 2013

How To Make An RPG: Goodbye Maps, Hello NPCs

A new NPC, all graphics at this point are still placeholder
I'm still plugging away on the first draft of my next book "How To Make An RPG", it's progressing pretty well. I'm still on the first Exploration section but after another week  or so I'll be on to the Combat section.

Currently I'm coming towards the end of the section on tilemaps and most recently I've covered triggers and events. If, in the above room, you walk on one of the doors you'll be teleported to other door. This in-map teleportation is a stepping stone to creating worlds built out of multiple smaller maps. With triggers and events the functionality of the maps is pretty much finished. I'm currently adding support for NPCs with some basic AI, there'll be a small section on loading and saving,  then we'll be on to GUI everyone's RPG-favorite the textbox :D

As always I'll be keeping this blog up to date with my progress and if you want to be notified when the book is coming out please visit the promo site below:

Thursday, April 04, 2013

How To Make An RPG: Decoration and Layers

I'm back in the UK and my jetlag is slowly fading so I'm able to press on with my new "How To Make An RPG" book.
A jRPG is made up of lots of different systems and the first systems covered in the book are to do with tilemaps. Just before my laptop died I had covered collision detection and was about to move on to layered tilemaps. 

Today I got on to layers and that's pretty much done now. The character can smoothly walk around this room, if he goes right to the bottom, he'll be hidden behind the wall, if walks up to the banners at the top he'll be rendered on top of them. Layers and decorative features are all in! This really allows for far more interesting maps, improves reuse of art assets (like the carpet and banners) and makes the game feel and look better.

Next I will be covering triggers on the map and actions that can occur in the world. The demonstration for this will be the character walking into one door and appearing out the other. 

Every single section of the book has associated example code. Just for getting the map rendered there are 21 separate example projects, each a small easily digestible stepping stone that leads you to a fully realized jRPG game. The character movement and layer code is currently at 10 examples and by the time the book is finished I'm sure there will a few hundred example programs.

If the book sounds interesting and want to learn more then please visit the mini-site over here and sign-up to the mailing list: