[XP] The More or Less Ultimate Guide to Creating Your Own Pokémon Game!

Started by Eternal, February 09, 2010, 05:51:50 am

Previous topic - Next topic


Note that this guide is still WIP. Feel free to ask or reply anything at all (except spam, I'd rather like to avoid spam...).


Well, as I (again) came upon a website talking about HeartGold and SoulSilver, the Gold and Silver remakes for DS if you're unaware, I came to thinking about how much I loved playing Pokémon as a kid. See, my first game was Silver, and I really liked it even though my parents had to translate everything, since english isn't my first language. I beat the game easily and I could beat it again and again and still have fun. So when I saw the Soul Silver game, I thought about buying it. But then I thought about making it (or making a Pokémon game at least)! So I returned to the Pokémon Essentials Kit, and have been working a bit with it for a little while now, working on Amethyst and Jet Version, and I thought someone might've wanted a more or less complete tour of the system, and how to use it.

This guide is/will be divided into two parts, the first part about the system and the creating of the game itself, whilst the second part is about the creation of an original Pokémon game, including the name, new pokemon, a story etc. If you are already familiar with Poccil's Pokemon Essentials Kit then you can skip right to the second part. Still, you might find something useful in the first section as well.


To start off, you'll want to go to the website: http://upokecenter.com/projects/pokestarter/

It's updated two or three times a month in general, so check back now and then.

So, extract the file (Do not choose "Extract To Here", but "Extract to /Pokestarter", since the files aren't stored in one folder), and take a look at what it contained; lots of crap.

Well it's not crap, but rather lots of files required for the lots of scripts. That's pretty much the only crappy part about it. You will only be using the database for animations, actors, common events, tilesets, and system, since most everything is done with the Editor.exe file.

Now, to make sure your game doesn't crash, don't mess with any of the text documents. As soon as you change anything (unless you're lucky if you ask me) in a text document both the Editor and the Editor.exe will crash. Or just one of them. Either way, if one of them crashes, you'll have to re-install the starterkit (install meaning extract).

Now the first thing you might want to do is to simply play the Game.app, to get a feel of the graphics and what you can accomplish in the game.
The starter kit includes a crappy gym, a crappy Pokémon Center, a few trainers, a pair of trainers working together (if you use them, the events need a slight configuration, since you can fight them twice...), reflecting water, surfable water, rock smash-able rocks, strength-able boulders, headbutt- and cutable trees, and a safari zone. Oh yeah, also PCs, door events, pokemarts, trainers joining you for co-op battles, online trading, the Battle Palace, the Battle Tower, and underwater area, an extremely crappy cave (not the tileset, the map), pokedex, pokegear (with radio and phone etc., which allows you to register beaten trainers for calling them later and fighting them another time), running shoes, hidden items, tall grass (wow...), taller grass, some weird minigame with cards, coin cases and slot machines (no examples though, so I have no idea how to use them, quite frankly :P)

So, open up the game.rpgxp and start creating your own map. You're sure to have fun, but you will actually have to edit the passability with the lower part of the tileset, since it's not set there.

More tilesets?

If you'd like some more tilesets and autotiles, a guy named Mortenkein has created some, and uploaded them here!
There's no passability on them, it's just the graphics, so you might have to spend some time on that. When I say some I mean a lot by the way.

They're used a bit in this system, and below is a "tabel":

Terrain Tag ::: What It Does
0                     Nothing
1                     Ledges
2                     On these you can encounter wild Pokémon
3                     This is for use on sand, but my Emerald got stolen long ago, so i dont remember what that does (help me out, anyone?)  
4                     Rocky ground (dont know what this means either, sorry :(
5                     Dive spot here
6                     Here, you're reflected
7                     Surf here

Those are the normal editor tags. The system, however, has 13 tags, though the last 6 are only possible to give to a tile through the Editor.exe.

8                    Waterfall
9                    Crest of waterfall (I think that's the top, but I'm too lazy to go look it up :P)
10                  Tall grass
11                  Underwater grass (For grass... underwater!)
12                  Ice (Slide around!)
13                  Neutral. These are for when you have a tile with a different terrain tag underneath. Use it on a bridge for example, so that the player can't surf under it)

That's sure to be useful! Remember to put in priorities as well, so that the player doesn't walk on top of Team Dumbass' HQ.


This system needs lots of custom code, because apparently easy stuff wasn't good enough for Poccil. Note that some may need to be in a conditional branch. It is recommended that you find a pre-created event for adding items from a ball for example, to get an idea of how to use it.


Receive an item from a person.


The same as above, just newer. Which means it's better, right?


That's how to delete and item.

5.times do

That's the old way of adding more items.

    PBItems::POKeBALL, 5

That's the new way of adding more items.


When you find a ball in the wild, it has to have this code.


The usual shop command wasn't badass enough for these guys. That's what a PokéMart event should look like. You might want to make the merchant say something beforehand though.


So simple even I can remember it without looking for the test map in my project! It's the PC in Pokécenters!

Script: $PokemonGlobal.seenStorageCreator=true

Until this is called, it'll be "SOMEONE'S PC" you're accessing to store Pokémon. That would be Bill in Kanto and Johto, and Lanette in Ruby and Sapphire Hoeen, Brigette in Ruby Sapphire box, and an upgraded Lanette box in Emerald, FireRed, and LeafGreen, and finally Bebe's in Pearl, Diamond, and Platinum. Thanks to Bulbapedia.bulbapediagarden.net, the PkMn Wiki). I'll get back to you ASAP how to choose the creator of the storage system :P


The trainer's home PC.

That was the boring stuff, now on to the slightly more advanced stuff!

Trainers! No game is complete without trainers and wild battles! Read on to learn how to... create a trainer, create a called wild pokemon battle, create a gym (only the technical stuff, the rest if for the next section), recieve pokemon from someone, lose your pokemon (perhaps your starter gets stolen by a Team Universe Grunt or something like that?), and maybe even more (read on to know if there's more!)!

The trainers in the kit are actually way more advanced than they need to be. All you have to do is set your event up like in these two screenshots:


In the conditional branch script:
pbTrainerBattle(PBTrainers::CAMPER,"Ted",_I("I guess I underestimated you..."),false,0)

The "I guess.." bla bla bla thing, is what the trainer says after the battle, if you're too lazy to do it through the editor.
The "0" I believe is used to identify trainers of the same types and name. So if you have two CAMPER Teds in the database, you will have to give them each a number in the editor.exe, and the number is what you should replace "0" with.