gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Beginners > RPG style tutorials??

#59493 - Itzamna - Wed Nov 02, 2005 6:13 am

Hi. Im trying to find tutorials geared towards RPG development for the GBA. Ive found some helpful sites that cover tile maps and sprites and such, but there are other things specific to RPGs that I cant find info on. Anyone know if such a thing exists?

#59572 - SittingDuck - Wed Nov 02, 2005 7:09 pm

It really depends on your game. All the technical detail is covered under sprites and tile maps. Making the game is down to you.

I haven't made one myself yet, so I can't point you in any particular direction.

#59658 - ghost Leinad - Thu Nov 03, 2005 2:56 am

yes, really depends on your game

i guess that you're looking for some details you can only find on RPG, like experience points.

i was playing the fire emblem game, and i found out how they made characters attack

your character, for example, has a % of possibilities to hit the enemy, let's say 90%, the game calls a random funcion and returs a number between 1 and 100, if the number is below 90 the character hit, if higher your character will miss...
but the game also uses a little of fuzzy logic, making a character with a high level less prone to miss, also the weapons you're using; for instance: swords vs axes

and that's just a little of what can you find in a RPG

*** the maps, the tiles, the sprites and so on, can be the same for any game, how you use them, depends on you
:D:D:D:D
_________________
All human wisdom is summed up in these two words, - 'Wait and hope"
****************************************
My site www.myth-world.net and www.bmrpg.com :)

#59690 - keldon - Thu Nov 03, 2005 1:40 pm

there are other elements to creating an rpg engine besides maps and handling sprites

i consider the following areas for an rpg engine:
- state based room loading
- scripting system
- action / event system
- objects which interract with the environment and other objects

the state based room loading will load the contents of a room depending on the game state. For example a door is only open when its state is unlocked. By creating a state system the loading rooms and its object is generalised

the 'scripting system' is your own language to describe actions within the game. The scripting system allows you to create new game object types with ease - and makes the logic of the objects easy to handle too.

the action/event system simulates the world by using events and action triggers. For example in zelda the action of blowing a torch sets of a 'ontorch' event. The 'ontorch' event checks the nearby area and triggers the 'onlight' event for any nearby candles. the 'onlight' method in the candle then counts how many candles are light and will now unlock the door if there are 4 light candles. All of this requires no additional code to the objects, but instead each event consists of a list of actions in your own specified type.

For example action 1 is "move(objectid,x,y)", and objectid,x, and y are additional variables
---
it would be good for you to examine the possible ways in which you can handle an rpg environment. A good start is to logically disassemble an existing game by asking how they achieved a particular area of code - such as how the 'demonstration' mode in a game works. You will quickly identify a possible solution and be able to factor them into your own engine.

#59712 - Itzamna - Thu Nov 03, 2005 5:58 pm

I guess the main things I'm looking for are all graphical elements such as getting text on the screen for character dialog, and creating menu systems for inventory, status, etc... Im not really new to programming in general, so im pretty confident in my ability to handle the game logic, event states and such, I just dont know much about graphics. Thanks for the help!

#59799 - Miked0801 - Fri Nov 04, 2005 4:27 am

Creating an RPG is not a hobbiest level endevour. I'm sorry, but unless you have a TON of time available, you won't get anything more than a moc combat engine and perhaps some simpile overland map functionality in place. There's just too much stuff that has to be done.

#59812 - gauauu - Fri Nov 04, 2005 6:41 am

Quote:
Creating an RPG is not a hobbiest level endevour.


Wow, that's a pretty broad statement. I think it'd be better said as "Creating a modern, full-featured RPG is not a hobbiest endeavour." Or maybe, "Creating an RPG is much harder then a simple action game, and shouldn't be done by an entry-level programmer."

If you were satisfied with something less complex, you could absolutely do an RPG as a hobbiest. Sure, there is a LOT to be done (frameworks for dialog, combat, managing inventory, etc), but it's not unreasonable, assuming you have experience with programming and the platform you are building for. I've built a simple RPG for windows, and while it did take a significant chunk of time, I wouldn't say it was beyond hobbiest level. And I'm not even that great of a programmer :)

That being said, I'd agree with the general idea that, if you are just getting started, an RPG is not the place to start.

#59844 - sgeos - Fri Nov 04, 2005 2:56 pm

gauauu wrote:
Wow, that's a pretty broad statement.

No, Miked0801 is right. Getting a very basic RPG up and running with a small team (1+ artist, 1+ programmer, 0+ script writers, 0+ stage designers, 0+ data designers) is a multiple month project. You could multihat the "0+" positions I listed, but Mided0801 hit the nail on the head:

Miked0801 wrote:
unless you have a TON of time available

...you won't get very far. Working efficiently is good. If you can freeze your script and feature set early, that can potentailly simplify your tool design and speed things up, but that isn't really an RPG issue so much as a general efficiency issue.

I googled "RPG Tutorial" and got some results.

Dungeon Dweller has some theory aimed at roguelike development. (Like an RPG, only with no real graphics.)

-Brendan

#59861 - Miked0801 - Fri Nov 04, 2005 6:35 pm

Ok, I'll defend my statement a bit. First of all, I have been involved in 3 professional RPG projects in the past (the first 2 Harry Potter Games on GBC and POA on GBA) and am working on one now. The previous games don't really qualify as full on RPGs, but even so they took our team of between 8 and 10 people around 9 months to construct. That's with a good base engine to work from. Here's why:
* A simple RPG needs at least 30-40 maps (dungeons, towns, etc) and preferably 60-80. That is a lot of assets to create.
* Each one of these maps needs a ton of time for scripting. That is, telling actor A to walk to point B, say Blah, get the magic foozbar of might, then play fall over dead anim. This times about 10 per map. Wow
* When creating an RPG, you are in essence creating at least 2 games in one - the overland walk/talk/play system with all inherent menus and a fully functional combat system. If you put in other "mini-game" type features, it gets even worse.
* The script for all the stuff that can possibly happen in the game
* Music is always hard for hobbiest, but since there is so little happening when walking around out of combat, music and SFXs become very obvious and important.

Just for fun, here a list of the systems needed just to get the most basic of games up and running:
Large map display system
A BG collision system for objects you can't move through
Dialog system with font/text support
Basic scripting system that allows you to control more than 1 character at a time
A pause menu with character stats, items, and other goodies
A large monster/character table with all stats and upgrades for every level
Either a real-time battle system ala Zelda, or a turn-based combat system with all menus, spells, graphics, at what not to make it interesting
A written story/script to follow.

This is skipping music, fade effects, badass spell effects, and all the other goodies that makes an RPG interesting. I stand by my statement that getting even a basic RPG style game up and limping is not a 1 or 2 man band, hobbiest type endevour.

#59866 - SittingDuck - Fri Nov 04, 2005 8:16 pm

Miked0801 wrote:
Each one of these maps needs a ton of time for scripting. [...] If you put in other "mini-game" type features, it gets even worse.


But it's all good fun though! :-D

#59870 - tepples - Fri Nov 04, 2005 9:16 pm

Miked0801 wrote:
* When creating an RPG, you are in essence creating at least 2 games in one - the overland walk/talk/play system with all inherent menus and a fully functional combat system.

Here's a suggestion to beginners: Before you try to make a full RPG, make "Menu Kombat" first.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#59892 - ghost Leinad - Sat Nov 05, 2005 2:27 am

i agree with mike...

making a RPG seems (for me)to be the best thing on earth (involves almost all the possible features in one game)

but i can't make one mainly because:

im a student...and homeworks are first, and a rpg needs lots and lots of time!!
is not a single person proyect...usually (if you are lucky to find them) programmers would prefer develope an action, or a platform, a shooter...anything easier than a RPG...

BUT, BUT if you're so sure that you can develope your own RPG and the problem is the graphics, you'll find that graphics are not so hard (at least the basics ones :D), you can learn about maps, tiles, rotacion, blending, etc in a few weeks, even days!
_________________
All human wisdom is summed up in these two words, - 'Wait and hope"
****************************************
My site www.myth-world.net and www.bmrpg.com :)

#60010 - sgeos - Sun Nov 06, 2005 8:21 am

Miked0801 wrote:
A simple RPG needs at least 30-40 maps (dungeons, towns, etc) and preferably 60-80. That is a lot of assets to create.

Let's cut this a bit... 4 towns, one map each. 5 dungeons, with an average of 3 maps each (15 total). That comes out to about 20 maps total.

Miked0801 wrote:
Basic scripting system that allows you to control more than 1 character at a time

We can simplify this and say that all NPCs stand still (or walk around randomly). Talking to them displays a message and potentially executes some sort of an action. With less maps and a message only system, no real scripting assest creation should be simpler, although the game will be less "nifty".

Miked0801 wrote:
A pause menu with character stats, items, and other goodies

You might be able to collapse this into special case of the battle engine so that you don't need to created two menu systems. Ie Party VS nobody with an exit command.

Miked0801 wrote:
A large monster/character table with all stats and upgrades for every level

This can be done algorithmically. In that case you need the stat growth rates for every critter in the game.

Miked0801 wrote:
Either a real-time battle system ala Zelda, or a turn-based combat system with all menus, spells, graphics, at what not to make it interesting

Forget graphics. Text out only. Maybe colored flashes.

Random thoughts:
* Single person party makes things simpler.
* You can either go for persistant chests or table based chests that can be opened multiple times. Table based chests are probably easier to get up and running, although persistant chests are better.
* Equipment is not hard, but it is another programming layer and a whole buch more data that needs to be created. You might want make it *really simple* or skip it altogether.
* As far as the overworld map goes, that can quickly be created using 2D perlin noise.

-Brendan

#60116 - gauauu - Mon Nov 07, 2005 6:17 am

That's pretty much what I meant when I said "not a full featured modern rpg".

Dragon Warrior 1 for the nes didn't have more than about 5 towns, and 6 dungeons or so (just guessing from remembering, I might be a bit off). And they just used a very basic tileset. Something where you could slap together dungeons in less than an hour with a simple map editor.

Inventory management was very minimal (you could only have 1 weapon at a time!)

Scripting was almost non-existant. (npcs walked randomly around, could say 1 or 2 things.)

Combat was 1 on 1, with no animations. Just a bmp for each monster. And there weren't that many distinct monster pictures, most were palette swaps.

stat/monsters tables would still have to be taken care of -- that could take some work.

For music, in a simplistic game like that, you could get away with having just 3 songs or so...an overworld, town, and dungeon theme.

Anyway, I'll stop arguing....I have significantly less experience than most of you guys, so I won't press the issue. I just wanted to clarify what I meant. :)

#60288 - expos1994 - Tue Nov 08, 2005 6:10 pm

All I have to say is the sky's the limit on what you can create.

I sat here for a second and tried to think of something I could create all by myself. (art, programming, and design...and maybe some simple sound effects)

There's only 1 town. Maybe also a little area outside of town to wander around in at various times.

Your character is an indentured servant who has to fight all the time in the town's colesseum. Sort of like Gladiator. But you maybe sneak out sometimes and meet the princess (gotta be a princess), fight little experience building monsters, and uncover the evil plot (which is to knock off the evil dictator who killed the king and took over the town ...or something).

Most of the fighting is done in the town arena. The whole plot takes place in this one town. With you going from lowly nobody to great warrior/princesses boyfriend/town saviour.

Total playing time is 4-10 hours.

All you would need is a couple maps. an inventory system. a battle system. a dialog system. Sure, having help would be good, but this is a project an ambitious lone wolf or a small team could tackle.

#60350 - sgeos - Wed Nov 09, 2005 1:08 pm

expos1994 wrote:
All I have to say is the sky's the limit on what you can create.

Time is the limit on what you can create.

You could always play a monster.

For example... Trog, the Troll King likes to smash things, so he decides to create an empire by taking over the surrounding towns. Caves and dungeons contain goodies. All townsfolk are hostile. (Virtually no dialogue is needed. (I actaully can't think of much dialogue for that scenario.)

Would it be interesting? I'm not sure.

-Brendan

#60369 - poslundc - Wed Nov 09, 2005 6:08 pm

From what I've heard - and also from having been one myself - most people intent on making an RPG aren't intent on compromising.

Dan.

#60372 - ScottLininger - Wed Nov 09, 2005 6:36 pm

In my limited experience (having only built 1 RPG system for the GBA), the main problem with homebrew efforts to build a decent RPG is the content creation. You spend months building this wowsy-dowsy system that does all the stuff Mike was talking about, plus tools to edit everything, and then you have to spend MORE months creating real maps, real adventures, etc. etc. etc.

This content creation bit is probably twice the amount of work over the engine, and although it seems fun at first, it got pretty tedious for me after a few maps.

It's still a very fun project to tackle, but I have yet to see a homebrew RPG that was more than a few maps. (If anyone has an exception, I'd love to check it out.)

-Scott

#60377 - poslundc - Wed Nov 09, 2005 7:26 pm

ScottLininger wrote:
It's still a very fun project to tackle, but I have yet to see a homebrew RPG that was more than a few maps. (If anyone has an exception, I'd love to check it out.)


I'm a little embarrassed by it as it's about 8 years old and very dated, but since you called us out on it... the JavaScript RPG I created back in 1997, I got as far as about 80 maps before abandoning it for bigger and better things.

Yes, it's JavaScript and not GBA, but to my knowledge it's still the largest JavaScript program out there... with a full Final Fantasy-style battle interface, full-fledged scripting engine, menus for everything from store-purchases to equipment and party wrangling, data tables for monsters (well over 100 of them), spells, equipment, items and other accessories, and four distinct classes of characters to choose from, each with their own abilities.

I lifted the tileset almost entirely from Final Fantasy Legend 2 (which the game's interface and style drew heavily from), and colorized them by hand. I pixel-drew other interface graphics, and had a friend draw the enemy battle graphics for me. Presumably, if I had ever intended it to be something "releaseable", I would have required someone to create original graphics for me, as well as compose music.

My GBA RPG never got nearly that far, on the other hand... I got hired into the industry before it had the chance to. :D But I was already dealing with far more technological obstacles that didn't apply to the other project, such as writing a music player, displaying a variable-width font and worrying about how many affine sprites I could display in Mode 7.

But yes, it is possible to do just about everything yourself and still get a lot done. But the commitment involved is non-trivial, and for most people it takes far too long to get something off the ground. You could always be the exception, but fact of the matter is that probably 99% of projects wind up dead in the water. The nice thing about handheld development is that you've got a long time to do it with decade-old technology that has a limited feature set and won't be changing with the next video card or OS release. This is mitigated now, though, as the new wave of handhelds is already an order of magnitude more sophisticated.

Dan.

#60771 - SittingDuck - Mon Nov 14, 2005 6:27 pm

gauauu wrote:
Dragon Warrior 1 for the nes didn't have more than about 5 towns, and 6 dungeons or so [...] And they just used a very basic tileset. Something where you could slap together dungeons in less than an hour with a simple map editor.

Inventory management was very minimal [...] Scripting was almost non-existant. [...] Combat was 1 on 1, with no animations. Just a bmp for each monster. And there weren't that many distinct monster pictures, most were palette swaps. [etc.]


Sounds like a very boring game! :-P

#60806 - Miked0801 - Mon Nov 14, 2005 11:41 pm

But at least it is a game and not a partially complete tech demo, which is what 99% of all RPG attempts turn into to. If you HAVE to code an RPG, limit the scope to the point where you have a chance to complete it. That's been the opinion of a number of posters and I'll agree to it. If you way limit your game scope, you have a much better chance of completing something - just not something that you'd want to play ;)

#60812 - gauauu - Tue Nov 15, 2005 2:22 am

And yeah, it was a really boring game. I still can't figure out why it was so popular.

But again, yeah, it was finished. Which is better than non-finished.

The real trick is doing some clever design work so that you can make something really simple like this, but also fun to play. But that's for somebody smarter than I.

#60860 - sgeos - Tue Nov 15, 2005 2:34 pm

gauauu wrote:
The real trick is doing some clever design work so that you can make something really simple like this, but also fun to play. But that's for somebody smarter than I.

You can use your complete limited scope project to spring board something more interesting.

-Brendan

#61003 - SittingDuck - Wed Nov 16, 2005 6:19 pm

gauauu wrote:

The real trick is doing some clever design work so that you can make something really simple like this, but also fun to play. But that's for somebody smarter than I.


Psychology.