[Tutorial] How to create a great Pokémon fan-game?

Sheodon

The Orient Gamer
Member
Greetings,

I think everyone had the idea of creating their own Pokémon game. When you have an idea, you start to think about how you could do it perfectly, or you just developed the details of a fantasy game. But what makes a fan-game so successful, and what are the methods to create your own game? That's why I created this tutorial. I have some experiences in game making, so I wanted to share my general and specific knowledge about it.

I. PLANNING

1. THE MECHANISM

The planning is the most important part of creating a (fan-)game. First of all, you need to decide what kind of game do you want. In case of a Pokémon ROM hack, or a totally new project, you can go with a totally new genre, or stay in the basics and modifying the details. However, you need at least one good idea which is totally different from the usual games. The biggest problem with most hacks or games is that they are doing nothing but adding Fakemons or changing the skins and that's all. Don't get me wrong, Fakemons are really good and I'll talk about them later, but only them won't make the people to play the game. You need one thing which is different. In other words: you need to something which makes people to play your game instead of any official games.

For example, Pokémon Island, a RPXP (RPG Maker XP) fan game had the idea to remove the usual 8 gym and league structure, and the whole game is about challenging people with a new stadium system. It's a refreshing move, and it cannot be find anywhere else. That's a good method to refresh the old concept but also keeping the core of the franchise. It's nothing hurting, but gives the game a more opened feeling, as it's optional when and how you participate in the stadium.

More new ideas are always welcomed, but don't do any radical. Making it to a platformer with Pikachu in the main role won't make you successful, as there is no reason in this case why you should use the name "Pokémon" except getting more attention. Keep your game in the Pokémon franchise, but with your own ideas.

Customization is always a welcomed feature, doesn't matter if it's only choosing or creating your character, or even doing different choices in the storyline, or creating a feature never seen before (like running your own Gym!)

2. THE WORLD

First of all, you need to decide if you're creating your own region (or even world), or using previously existing places. The latter can be a good idea to continue a story, retconing it (altering some events in the continuity) or even rebooting it (discarding all continuity in order to recreate it from the beginning). It all depends on the main mechanism of the game you create.

When you design a new region, it's really important to connect the places somehow. If you want to create totally different areas with drastically different elements (like weathers), don't connect the opposites next to each other. The best way to separate them is placing them in the two end of the "world", or even better, creating them as islands. If you're using only one element, it can be a better choice, however, never forget to add some variety to the places. Even thought the theme is the same, you can vary them a bit.

For example, if you build a game built on the color green and the environment is filled with forests and trees (even the towns), play with the weather, the building styles, water, and so on.

Of course, it can also be a good idea if you create only a few areas, but they are as big as more areas in an official game. And don't be afraid to draw your ideas, even if you cannot draw.

3. THE CREATURES

Now you have the world, it's time to fill them with creatures! It's highly recommended to add some Fakemon, as they make your game more unique. Even thought some people says that it's making the game worse, in fact, it isn't. It's another good method to make your game different from the official games, and with them, you can persuade people playing your game. However, you need to design them well, and that's where planning is important. Make them match with your region, make them fit with the Pokémon you're using.

For example, Generation I is about genetics. The starters are all based on reptiles and/or dinosaurs (Bulbasaur is also a Dinosaur/Plant hybrid), Mew and Mewtwo is reflecting cloning (while Mew itself has the DNA of all Pokémon), Eevee representing DNA modification, and the fossils/extincting Pokémon are resurrected by scientific experiments. Generation II is about folklore and mythology.

Choosing from the Pokémon generations can help you the designing of Fakemon easier. Obviously you can select specific Pokémon you want to use instead of using generations.

One other thing: keep the designs as simple as possible. Complicated designs can be good, but after a while it's just become "over the top". Mild colors are always better than harsh ones.

4. THE STORY

Obviously, you will need a story and characters for it. Don't make it over the top, but it's always good if you try to ignore the clichés. Create characters which are unique in the universe.

For example, drop the 10 years old thing and start with an ex-Gym Leader who was abandoned from the gym at the moment you start the game. Without any Pokémon, you need to start the things all over again, and your own son/daughter (who will be your "rival", but also a 2v2 partner) also started the adventure. You have no Pokémon left, but you remember that you had a fossil and you're visiting your childhood friend, the professor of the region. He says that the fossil is in an excellent condition, so you are able to choose from three different incarnations with three different elements, and even the drawback of the operation won't be included in the resurrected Pokémon (the Rock-Type). The journey this time is not about fighting the ultimate evil team, but a great adventure with your child who you never seen for a long time and a reunion between father/mother and son/daughter.

See? You don't need any complicated story, just some new ideas to add. Removing or adding only one element can make a huge difference.

II. MAKING

1. MAPPING

Mapping is modifying already existing maps in a game, or creating totally new ones. Some people say that mapping is the easiest part of making a Pokémon game. However, it's not that easy. It doesn't matter if you're using a hacker tool or a game maker tool, you need creativity for mapping. It must be real, not just a slightly modified alteration of the game. Never forget that you create a totally new game (even thought based on a previous game), not a modification of a game. Also, you need to design the map as much as possible, as you're going to make one huge world connected, not separated places (except if you're creating islands).

Try to create simple maps which are also nice to check out. Fill it with details (in the terrains, add plants and trees; in the houses, add furnitures and items), make it living, do it just like you'd like to see in real life. Add as much Non-Playable Characters as possible, but don't make these NPCs making the map unreachable. Visual elements are important, but the pure gameplay is the most important.

For hacking, I suggest Advance Map, since it's the easiest tool for mapping, and it also has the most features. Game maker softwares are basically including this feature. However, for the latter, you will need tilesets (a set of small images called as tiles) based on the Pokémon game, but fortunately, they are already made for these softwares. If you want to include your own design even in maps, you can add or create your own tilesets for both variants.

2. SCRIPTING

Programming is the real way to create your own game, even if it's hacking a ROM or using a game maker software. Scripting gives you the ability to modify the engine (the base core) of the game, adding new features never seen before, and creating your own ideas. It has different variations, thought: a simple text or calling event can be also scripted, but whole gameplay features and systems are also added by scripts. It can be hard at first, but fortunately, there are lots of tutorials and basic scripts helping you in creating your own game.

For hacking, XSE (eXtreme Script Editor), as it's simple and has everything you need for scripting. Most game makers including the scripting function, but they vary in the possibilities of how much you can rewrite the base core of the game, and they are different in game languages too. Fortunately, you can find YouTube tutorials and documentaries about all these different scripting languages.

If you're going to make a Pokémon fan game, and you have no, or only a little experience in game making, I suggest RPG Maker XP for making your game. The reason is the available Pokémon Essential toolkit, which contains graphics, tilesets, but most importantly: new scripts including the gameplay features and mechanism of the the original Pokémon games. Its editor is also user-friendly, but of course you are feel free to use any other methods. RPG Maker VX Ace can be also a really good choice, especially if you're going to make a lots of changes in the basics, but it's also harder a bit. In other words: VX Ace has more options, but also a bit harder.

3. SPRITING

Spriting is creating new graphics for the game. Sprites are 2D graphics, and every character, including Pokémon or trainer, overworld or in-game/battle characters, are all based on sprites. Modifying them, or creating your own sprites gives your game variety, a new appearance, and can make it more unique. It's a must if you're going to include your own Fakemon, doesn't matter if you're hacking or creating your game. It also has the possibility to modify small details in a character.

It's the same for both hacking and game making: to make the sprite itself, you need a paint tool (MS Paint, GimP, of Adobe Photoshop), while to import it, you need Unlz-Gba for hacks. Game makers has this feature.

4. MUSIC

Of course, to make the game totally unique, you can add your own music too. Both hacks and game makers support the import of the music, however, creating a custom soundtrack for the game is sometimes the least seen feature of a custom game, and for a reason. However, you can try out making music by Reason, Cubase, or FL Studios.

III. SHARING (AND CLOSING)

Maybe this is the hardest part after you made your game. However, as it's a fan game based on a franchise, it's easier. Just find a community with Pokémon fans, and post there your ideas or the results. But if you're going to make your new IP, a totally new game, it will be a bit harder task.

All in all, I hope I could help you by some tips, but if you have any questions, feel free to ask me bravely!

Thank you for reading this tutorial, I hope I could help making your dream become reality!
 
RE: The ULTIMATE Thread of "How to create a great Pokémon fan-game"

IV. RESOURCES

In this post, I'll collect the useful resources for any game makers. Don't forget to credit the resources if you're using it. In most cases, it's illegal to use these resources without credits, even if it's free.

Even thought these sites are allowing non-commercial uses, always check the artist's profile for their licenses, so you will know if you're allowed to use their works for your project or not! In other words, individual music may vary from the general rules of the sites.

1. GRAPHICS

The Spriters Resource
HasGraphics
Sprite Database
OpenGameArt
Reiner's Tilesets
Lostgarden
CLOSET (RPG MAKER ONLY!!!)*

*The site is in Japanese, but it's easy to navigate because it's highly an image-based site.

2. MUSIC

Kevin Macleod's Royalty Free Music
Free Music Archive
Newgrounds
Sampleswap
Jewelbeat
ccMixter
Indie Game Music
Mod Archive
iBeat

3. UNIVERSAL

Charas Project
YoYo Games
 
aschefield101 said:
Might want to mention not all are English :)

The resources? I think CLOSET is the only one which is not available in English, the others are in English, or at least multilingual. I'll mention it, by the way, thanks.
 
Here's a better way, codewise, written in a few steps, but it's much harder:
1) Learn C++, C#, Java, or whichever language you want, really. Recommend C++. (Why learn a programming language? Functionality. Scripting can only do so much. But programming gives you all the power. It also means you don't need to download 9001 programs. All you need is an image editor such as photoshop/gimp, and an IDE or Text Editor, such as MVB or Eclipse).
2) Write your own 2 dimensional/basic 3 dimensional engine. Code a map editor for it that has whatever functionality that you want.
3) Write more code, including things such as battle handlers, a pokemon maker (makes things easier in the long run) and such.
4) Drink coffee.
5) Repeat 3-4 until you are done.
6) Make UI. May involve repetition of step 4.
8) YOU'RE DONE.

Note: This is only codewise. Spriting, planning, music, etc. is a completely different book. Also, I noticed you used his. Highly recommend you use "their" to avoid offending females, and transgender.
 
Nod3 said:
Here's a better way, codewise, written in a few steps, but it's much harder:
1) Learn C++, C#, Java, or whichever language you want, really. Recommend C++. (Why learn a programming language? Functionality. Scripting can only do so much. But programming gives you all the power. It also means you don't need to download 9001 programs. All you need is an image editor such as photoshop/gimp, and an IDE or Text Editor, such as MVB or Eclipse).
2) Write your own 2 dimensional/basic 3 dimensional engine. Code a map editor for it that has whatever functionality that you want.
3) Write more code, including things such as battle handlers, a pokemon maker (makes things easier in the long run) and such.
4) Drink coffee.
5) Repeat 3-4 until you are done.
6) Make UI. May involve repetition of step 4.
8) YOU'RE DONE.
It's hilarious how true this is.
But I'd recommend soda instead of coffee because sugar + caffeine = more work done.

I'm also willing to help sprite, but I'll only sprite in my free time.
 
Nod3 said:
Also, I noticed you used his. Highly recommend you use "their" to avoid offending females, and transgender.

Indeed, my delicate female sensibilities could not handle such vile usage of male pronouns! :'C

This looks like a good starting guide. If I can add one point of advice to the spriting section that you sort of touched on but didn't explain entirely, it's that if you have the ability, you should make your sprites from scratch instead of modifying/splicing existing sprites (mostly for fakemon, of course, though if you're doing revamps or devamps it's also very important to lend some authenticity to the project.) This can go a long way towards making a game feel fresh and unique.

EDIT: Also, one more thing: Having done a lot of (legal) ROM hacking myself, and struggling to create a game of my own, I can say it's time-consuming, frustrating, and sometimes downright discouraging, especially when you have a hard time finding the right people to help you out. Find some experienced people early and make friends in the community that does this sort of thing early so you don't end up pulling your hair out later.
 
Thanks for the comments. Yeah, I used their everywhere other than the first sentence. Corrected this mistake.

@Nod3: Obviously, creating your own game with your own engine, graphics and music is the best, but I don't think that most users here can do, or even afford these kind of things. My method is a good start in game developing, as learning some useful tricks can make you a good developer for the later.

@Frezgle: I agree adding your own graphics and music to a game make it more unique and it can be a good reason for the others to try out your game instead of the other hacks or fan-games. I also agree that you need patiente to finish the game. It's easy to start the basics, but to do it in the following week or month, well, it's another story.
 
Sheodon said:
@Nod3: Obviously, creating your own game with your own engine, graphics and music is the best, but I don't think that most users here can do, or even afford these kind of things. My method is a good start in game developing, as learning some useful tricks can make you a good developer for the later.

Well, I mean all you really need is a computer, food, and electricity (all which are required to make romhacks etc. anyway)... Oh, and, internet. But why make a romhack if you can't distribute it?
There's plenty of freeware to making them, for example MVB or Eclipse IDE for Java. I think Borland C++ builder is included in their book or something, and basic coding shouldn't be too hard to learn. Once basic coding is learnt, it's like a domino effect. It just takes time and patience. GIMP and paint.net are both free alternatives to Photoshop (although they're not quite as good, it should do if you're making simple pixel art). Hell, maybe I'll make my own pokemon fan game and guide to making them.

Also, not too sure about music programs, but I'm sure there are free ones.
 
Nod3 said:
Sheodon said:
@Nod3: Obviously, creating your own game with your own engine, graphics and music is the best, but I don't think that most users here can do, or even afford these kind of things. My method is a good start in game developing, as learning some useful tricks can make you a good developer for the later.

Well, I mean all you really need is a computer, food, and electricity (all which are required to make romhacks etc. anyway)... Oh, and, internet. But why make a romhack if you can't distribute it?
There's plenty of freeware to making them, for example MVB or Eclipse IDE for Java. I think Borland C++ builder is included in their book or something, and basic coding shouldn't be too hard to learn. Once basic coding is learnt, it's like a domino effect. It just takes time and patience. GIMP and paint.net are both free alternatives to Photoshop (although they're not quite as good, it should do if you're making simple pixel art). Hell, maybe I'll make my own pokemon fan game and guide to making them.

Also, not too sure about music programs, but I'm sure there are free ones.

But most people already knowing how to make graphics/engines/music won't do a freeware fan-game. Why should you spend your free time to things that won't benefit if you've the perfect tools to create a freeware fan-game? I mean, there's barely any difference between a Game Maker software and your own engine if you make a Pokémon game. Building your own engine takes a lot of time and knowledge, and only a few people can do a really unique and working engine. There's a reason why even pro game makers who creates commercial games are licensing Unity 3D instead. You're saying that everyone can learn making music, scripting and making graphics, but your statement couldn't be further from the truth.

tl;dr: People are too lazy to learn the hard method if there's an easy one. It's a much easier method than the one you mentioned for a project like this.
 
Sheodon said:
Nod3 said:
Well, I mean all you really need is a computer, food, and electricity (all which are required to make romhacks etc. anyway)... Oh, and, internet. But why make a romhack if you can't distribute it?
There's plenty of freeware to making them, for example MVB or Eclipse IDE for Java. I think Borland C++ builder is included in their book or something, and basic coding shouldn't be too hard to learn. Once basic coding is learnt, it's like a domino effect. It just takes time and patience. GIMP and paint.net are both free alternatives to Photoshop (although they're not quite as good, it should do if you're making simple pixel art). Hell, maybe I'll make my own pokemon fan game and guide to making them.

Also, not too sure about music programs, but I'm sure there are free ones.

But most people already knowing how to make graphics/engines/music won't do a freeware fan-game. Why should you spend your free time to things that won't benefit if you've the perfect tools to create a freeware fan-game? I mean, there's barely any difference between a Game Maker software and your own engine if you make a Pokémon game. Building your own engine takes a lot of time and knowledge, and only a few people can do a really unique and working engine. There's a reason why even pro game makers who creates commercial games are licensing Unity 3D instead. You're saying that everyone can learn making music, scripting and making graphics, but your statement couldn't be further from the truth.

tl;dr: People are too lazy to learn the hard method if there's an easy one. It's a much easier method than the one you mentioned for a project like this.
Well, card faking doesn't benefit me, writing this tutorial doesn't benefit you, and writing my own 2 dimensional engine actually can benefit me if I make it better than all other 2d engines and sell it.
 
Nod3 said:
Well, card faking doesn't benefit me, writing this tutorial doesn't benefit you, and writing my own 2 dimensional engine actually can benefit me if I make it better than all other 2d engines and sell it.

This tutorial is about making a Pokémon fan-game. How the heck do you sell a Pokémon fan game...?

I agree if you make your own game series, then making your own engine, your own sprites and so on is HIGHLY recommended. But for a game which cannot be sold due to licence owns, I think it's a pretty fair way.

EDIT: I don't know if you've read this tutorial or not, but this is NOT about "how to make a game" in general. This is for fans who wants to make a tribute to the Pokémon franchise with little knowledge, but they have their own idea what they want to create. For that, the tutorial is helpful. If someone wants to make a serious game, which is good enough to be sold as a commercial product, then of course, some of these "tricks" won't work.
 
Back
Top