Sunteți pe pagina 1din 42

Design Document for Pokemon Origins (working title)

A game design document (GDD) is a living document: it is edited during the development of the game. Last edited: 19/11/2011 By Anshu.

Contents
Game Concept 1. Intro 2. Style 3. Platform 4. Who makes the game Game mechanics 1. Interacting with the world 2. 3. 4. 5. 6. 7. 8. Wild pokemon encounter Wild pokemon battle Trainer encounter/battle Safari Zone battles Attack Process Status problems Experience, leveling up and evolving

9. Stat Experience 10. DV (Deter Values) 11. Types 12. Catching wild pokemon 13. NPC list 14. Pokemon list 15. Pokemon moves 16. Items 17. Kanto region Interface 1. Main menu 2. In-game menu 3. Controls Art pipeline 1. 3d models 2. 2d graphics 3. Effects 4. Music and sound effects Your help is needed Notes

Game Concept
Intro Pokemon Origins (working title) is a 3d remake of the games Pokemon Red/Blue. Pokemon Origins is a fan game done by pokemon fans and as such is completely non-profit. Pokemon Origins is not sponsored, endorsed or associated by or with Nintendo. The game does not use any images, audio, video from the original games, anime and other media. Everything is done from scratch. The goal of the game, like in the original games, is to become Pokemon League's new champion by beating the Elite Four and the current Champion. To be able to compete against the Elite Four, you must first travel across the Kanto region and beat the 8 Gym leaders and acquire 8 gym badges. To be able to compete against the Gym leaders, you must catch and raise your pokemon and battle against other trainers to become stronger. The ultimate (and optional) goal of the game is to catch all pokemon and complete the pokedex. Style The game uses cel shading for some objects to mimic the anime look and feel and uses normal shading for the environment. The world is textured with anime style textures. cel shading:

Platforms Pokemon Origins is being made with the Panda3d game engine which has been successfully compiled on Windows operating systems, Mac OSX, Linux distributions and other OSs such as FreeBSD.

Who makes the game The game is done by pokemon fans. There's only few of us now and we are seriously lacking some help. If you can help, please join the community: http://pokemonorigins.forumotion.net

Game Mechanics
Interacting with the world There are some objects and NPC (non-playable characters) with which you can interact in the game's world. Object Door Sign, bookshelf, shop shelf, sculpture, poster, blackboard, NES, etc. TV Item Elevator button PC Vending machine Slot machine Small tree Info You can open unlocked doors and walk through them. A textbox will appear where you can read it.

You can look at some television screens. The player can pick up some objects that are shaped like pokeballs (this might change in the future and the object might look what they really are). You can use the elevator button to choose which floor you wish to go to. You can use the PC to deposit and withdraw pokemon, items and view the Hall of Fame after beating the Elite Four. You can purchase some drinks (items) from the vending machine. You can play mini games with the slot machine. A player can cut down some small trees which are blocking the way (by using the HM Cut). NPCs Info Some trainers will run up to you and challenge you to a battle if you get in their line of sight (more on this in the next sections). The player can talk to trainers in towns like with any other NPCs. There are some pokemon that will appear on the map as NPCs with which you can talk with. There are many other NPCs you can talk to, some of them even share the same 3d model.

Trainer Trainer (in towns) Pokemon Others

Visualising collisions. A collision sphere is used to keep the player from going through walls and interacting with certain objects, a collision ray is used to keep the player on the ground. Less detailed collision meshes are used for collisions, not real rendered geometry.

The 3d modeller will need to tag these kinds of objects in Blender by adding a String property in the Game logic panel with the appropriate values before exporting. Users of the BGE (Blender game Engine) are already familiar with this process. The list of properties isn't complete yet, more may be added in the future. 'trigger' - run a corresponding function when player collides/ collides and interacts with the object 'npc' - loads an NPC model on the location of the object (should be an Empty) 'billboard' - sets an object to always face the camera 'point' - sets an object to be rendered as points 'wire' - sets an object to be rendered as edges (wires) 'shadeless' - sets an object to not be affected by lightning 'background' - sets an object to be rendered behind everyhting (can be used for clouds, etc) 'reflection' - sets reflection effect on an object 'posival' - applies a position inetrval on an object, more on inetrvals here: http://www.panda3d.org/manual/index.php/Lerp_Intervals 'rotival' - applies a rotation interval to an object 'scaleival' - applies a scale interval to an object 'colorival' - applies a color interval to an object 'texoffsetival' - applies a texture UV interval to an object 'floor' - set object as collision floor, set on a lowpoly child object of the real thing 'wall' - set object as collision wall, set on a lowpoly child object of the real thing 'Polyset' - used with 'floor' and 'wall' to optimize collisions 'sound' - applies a 3d sound effect to an object 'particle' - sets particle effect on an object (object should usually be an Empty) 'terrain' - terrains support texture splatting 'shader' - apply a custom Cg/GLSL shader to the object 'shaderinput' - used with 'shader' 'water' - apply the default water animation on the object 'bgm' - set the background music for this map Example: Type - String, name - door, value - open. These properties are read by the game when loading the 3d file.

Wild pokemon encounter Wild pokemon can be found, battled and captured in any of the following places: Location Grass Additional information Most pokemon in the game can be found in tall grass. When the player walks in a tall grass, a random number generator decides if a wild pokemon battle will occur every 3 steps. Unlike roads, wild pokemon can be encountered anywhere in a cave. Same as Cave. Player can catch some pokemon by using a fishing rod while standing next to water. Every time player uses the fishing rod, a random number generator decides if the pokemon battle will occur or not (will a pokemon get caught). There are some indoor locations in the game where pokemon can be encountered like in Caves (ex. Pokemon Tower or Pokemon Manshion). There are some rare pokemon that can only be battled and caught once. Such pokemon don't appear randomly and are NPCs on the map and you can battle them by talking to them.

Cave Surfing Fishing

Other NPC pokemon

When a trainer walks in a tall grass, it collides with an invisible collision geometry which triggers a collision event. This collsion event is different from others such as wall and floor collsions, which change the player's position in the 3d space. In this case a task is started which checks if the player is inside the collsion shape and runs a random number generator each 3 steps of the player to decide if a pokemon battle will be triggered or not. For caves and similar areas there are no collision shapes and the task is started as soon as you enter the location. an example grass collision geometry in Blender:

Wild pokemon battle After encountering wild pokemon in the above cases, the screen fades to black and then fades into the battle screen. The battle screen consists of a small chunk of the location you are in, like in most jrpg games: battle screen from Final Fantasy IX:

In the battle screen the player can't control the camera. The camera is animated by running one of the camera animations randomly and the move's camera animation (if defined) when attacking. As soon as the battle starts, the battle music starts playing. The trainer takes out the first pokemon in the party list. After the pokemon is out from his pokeball, the pokemon's and wild pokemon's health bars appear and the battle begins. You are given 4 options: Fight, Bag/Pack, Pokemon/Party, Run. If you choose Fight, you can choose between the 4 or less moves the pokemon knows. The moves have a PP (Power Point), every time you use a move, it's PP will decrease by 1, if the move's PP is 0, the pokemon won't be able to use the move. If the PPs of all the moves are 0, the pokemon will use a special move called Struggle, which slightly decreases the pokemon's current HP. PP, as well as HP (Health Point) and some status changes can be recovered by using an item during the battle, outside of a battle, or by having your pokemon healed in places like Pokecenter. A pokemon can't use a move which has been disabled. If you choose Pack/Bag, you will be taken to the items screen. Only some items can be used during battle. Some items can only be used on the active pokemon, while some can be used on any in the party. If you'll use an item, your active pokemon will skip it's turn. If you choose Pokemon/Party, you will be taken to your Party screen, where you can check data for your pokemon, or switch your active pokemon with another from the party. Switching pokemon will cost you a turn. Going to the Pokemon/Party screen but not switching pokemon will not cost you a turn. The opponent pokemon can use some moves which might prevent you from being able to switch the active pokemon. If you choose Run, either from the options or when prompted to when your active pokemon faints, a random number generetor will decide if you can run and end the battle or not, taking into account some factors such as the difference in the levels of your active pokemon and the wild pokemon. The opponent pokemon can use some moves which might prevent you from running (in some cases only when your active pokemon is the one the corresponding move was used on). an example battle GUI by kimphoe showing healthbars and the 4 options:

another example battle GUI used during development, by Anshu:

Trainer encounter/ battle Trainer encounters are different from wild pokemon encounters because trainers appear on the map and there is no such thing as random trainer encounter like for wild pokemon. When you are in a trainers line of sight, the trainer runs up to you. trainer's field of view and territory:

When the trainer reaches you, a dialog box appears where the trainer will say something before the battle starts. The trainer battles are almost identical to wild pokemon battles, with the following exceptions: 1. Although the run command is still there, you cannot run from any trainer battle once it has started. 2. You cannot catch another trainer's pokemon. If you throw one, the trainer will block it and you will not only lose your pokeball but your turn.

3. Unlike wild pokemon battles, when you only have to fight one pokemon per encounter, trainers can have a party of up to six pokemon. After defeating one you will be asked if you want to switch your active pokemon before the next opponent pokemon is sent out. 4. You will be awarded with pokemoney if you defeat a trainer and lose half of your own if you are defeated and like with wild pokemon battles, you will be sent to the last visited pokemon center. Evolutions will of course happen after defeating the trainer, not just the current pokemon. Safari Zone battles Battles in Safari zone are different from both wild pokemon and trainer battles. Here you do not use your own pokemon. The purpose of Safari Zone battles is only to catch a pokemon. Other than your pokemon, your pokeballs will also be taken before you enter the Safari zone and given 30 special kinds of pokeballs (safari balls) that can only be used there and the remaining are given back when leaving the zone. The traditional options Fight, Bag/Pack, Pokemon/Party, Run are replaced with Ball, Bait, Throw rock, Run. Ball - Throw a safari ball at the pokemon. Bait - Bait makes a pokemon less likely to run away, but also makes it less likely to be captured. Throw rock - Throwing a rock makes a pokemon more likely to run away, but also makes it more likely to be captured. Run - You can always run from these battles. There are some pokemon that only appear in the Safari Zone. Attack process (info taken from upokecenter) 1. After both pokemon have chosen a move for the current turn, it is then determined which of them gets to attack first. All attacks are split into 4 speed categories: Speed level 4 3 2 1 Endure, Protect, Detect Quick attack, Mach punch, Extremespeed All other attacks Counter, Mirror Coat, Whirlwind, Roar, Vital Throw Moves

1. The move with the higher speed level strikes first. 2. If the moves have the same speed level and one of them holds Quick claw, then the holder of Quick claw has a 25% chance of striking first, if they both have Quick claw, it is determined randomly.

3. If the moves have the same speed level and both pokemon aren't holding Quick claw, the pokemon with the higher speed level strikes first. 4. If both pokemon have chosen moves which have the same speed level, they both aren't holding Quick claw and both pokemon have the same speed level, then it is determined randomly. The speed level of the pokemon in the current battle is determined by the following factors: 1. If the player has earned the appropriate badge, the pokemon's Speed is multiplied by 9 and divided by 8. 2. Speed can be changed with a move (either the pokemon's or opponents, either increasing or decreasing). 3. Speed is divided by 4 if the pokemon is paralyzed. 4. Protect, Detect, and Endure are always performed last, they ignore the speed level of the pokemon. 2. After the order of attacks is determined, the following steps are performed: 1. The game checks if the attacking pokemon is asleep or frozen. If the pokemon is asleep, the game decides randomly if the pokemon should wake up and perform the attack or not (sleeping can last 1-7 turns). Some moves can (only) be performed while asleep (ex. Snore and Sleep talk). The same applies to Feeze. The only moves which can be used while Frozen are Flame Wheel and Sacred Fire. 2. If the attacker is confused, there is 50% of chance for him to perform the attack or hit itself because of confusion. 3. If the attacker is in love, there is 50% of chance for him to perform the attack. 4. If the attacker is paralized, there is 50% of chance for him to perform the attack.. Unlike other status effects, paralize doesn't heal over time (turns). 3. Then the attack is performed. If there is no PP left for all the attacks, Struggle is used instead. Otherwise the PP of the attack is reduced by 1. 4. Before the attack is hit, the following steps are performed: 1. Will this be a critical hit? 2. Will the attack hit or miss, depending on the accuracy and some other factors? Using Dream Eater will miss/fail if the opponent is awake. The attack will miss/fail if opponent had used Protect or Detect. If attacker had used Mind Reader or Lock-on, attack will not hit Pokmon using Fly if attack is Earthquake, Fissure, or Magnitude. Otherwise the attack will succeed (Gust, Thunder, Twister, and Whirlwind will be effective even to opponents using Dig). Either way, the effect of Mind Reader and Lock-on now ends. Life-draining moves (Dream Eater, Absorb, and so on.) on a substitute will fail. Gust, Thunder, Twister, and Whirlwind are effective to pokemon using Fly; Earthquake, Fissure, and Magnitude are effective to pokemon using Dig. All other attacks will fail in either case. During Rain Dance, Thunder will not miss. Swift will not miss. 3. Then, the accuracy ratio is decided as follows. Each pokemon has one stat stage each for

evasion and accuracy, which are not really stats, but affect an attack's probability of hitting an opponent. The table below shows the multipliers for evasion and accuracy. Stat stage -6 -5 -4 -3 -2 0.6 -1 0.75 1 0 1 2 3 4 5 6

Accuracy 0.33 0.36 0.43 0.5 multiplier Evasion 3 multiplier 2.66 2.33 2

1.33 1.66 2 0.75 0.6 0.5

2.33 2.66 3 0.43 0.36 0.33

1.66 1.33 1

An attack's accuracy is multiplied by its user's accuracy multiplier, as shown in the table above, but not to less than 1, then multiplied by its opponent's evasion multiplier, as shown in the table above, but not to less than 1 or greater than 255. For certain attacks, if the opponent is holding Brightpowder, the accuracy is decreased by 20, but not to less than 0. Then, if the accuracy equals 255, it will hit. Otherwise, the attack will hit if a random number from 0 through 255 is less than its accuracy. Accuracy and evasion are two of Pokmon's stat stages. Like other stat stages, each Pokmon begins with a stat stage of 0, and a Pokmon's stat stages are reset to 0 when it is switched. Some attacks cannot be evaded and always have the accuracy defined for the attack. No accuracy checks are performed for such attacks. 5. The probability of an attack's stat stage modification or status problem is determined now. This step will be skipped if the pokemon faints from the attack (pokemon can't become confused or paralyzed before fainting). Status problems are explained in the corresponding section of this document. Attack list describes a status problem caused by an attack. The attack process of multi-hit attacks, in its short form, is below. 1. Check accuracy and success 2. For each hit: 1. Calculate damage 2. Stop multi-hit attack if opponent fainted 3. Check for additional effect 6. After a pokemo's turn, any end-of-turn effects trigger for that pokemon. These effects are invoked even if a pokemon doesn't choose a move for use at the beginning of the round. These effects are, in order: 1. 2. 3. 4. HP loss from poison/burn HP loss and recovery from Leech Seed Effect of Nightmare Effect of Curse

7. After the end-of-turn effects, the end-of round effects are invoked. The effects are, in order: 1. Future Sight (non-leader first)

2. 3. 4. 5. 6. 7. 8. 9.

Sandstorm/Sunny Day/Rain Dance Multi-turn attacks Perish Song Recover with Leftovers Check if defrosted Check end of Reflect/Light Screen/Safeguard Check for condition based on Berry (for both players) Check end of Encore

Effects above that apply to both players are resolved leader-first unless noted otherwise. Status problems Here is the list of all the status problems and their explanations: Paralyze (PRZ) If a pokemon is paralyzed, there is 25% chance of it not being able to attack each turn. Also it's Speed stat is decreased by 25%. Paralyze doesn't wear out after some amount of turns. If a pokemon is frozen, it is unable to perform any move at all unless you use an appropriate item or if an opponent hits the pokemon with a fire type attack. Freeze doesn't wear out after some amount of turns. When a pokemon is burned, it loses the 1/16th it's health at the end of each of his turn. You can use an appropriate item or move to heal the pokemon. Burn doesn't wear out after some amount of turns. Like for Burn, when a pokemon is poisoned, it loses the 1/16th it's health at the end of each of his turn. You can use an appropriate item or move to heal the pokemon. Poison doesn't wear out after some amount of turns. Unlike Burn, Poison will cause the pokemon to loose 1 HP per three steps outside of battle. This means that the pokemon can faint outside of battle and you, if you don't have any other non-fainted pokemon, to black-out.

Freeze (FRZ)

Burn (BRN)

Poison (PSN)

Badly Poisoned Badly Poisoned status problem is caused by the move Toxic. It has the same effect (PSN) as Poison, but in battle the pokemon will also loose extra 1/16th of your HP for every turn since it has been badly poisoned (this counter resets after the battle). Sleep (SLP) If a pokemon is asleep, it is unable to perform any move at all from 2 to 7 turns unless you use an appropriate item or or move. Only using a move is considered a turn. Pokemon will wake up after choosing a move, before attacking.

Experience, leveling up and evolving A pokemon gains experience by appearing in a battle and not fainting. This means that even if the pokemon hasn't beaten the opponent pokemon tself (for instance, if you have switched it), it will still get experience points, but in this case the total experience point obtained from beating an opponent pokemon will be halved between all the pokemon which have appeared in battle with that pokemon. Experience points are required for leveling up. A pokemon can level up up to level 100 and then it won't get any experience point at all. The total amount of experience points needed to reach level 100 is called Total Experience Points. This amount varies between pokemon (but is always the same for each evolutionary family). There are 5

kinds of Experience Groups: Type Fast Medium Fast Medium Slow Total Experience Points 800000 1000000 1059860 Exp Points to level up L* L* L* 4/5 L* L* L L* L* L* 6/5 - 15* L* L + 100* L - 140

Slow 1250000 L*L*L*5/4 The Experience Group determines how much Experience Points a pokemon needs in order to level up for each level. L means level in the above table. When a pokemon gains enough experience points for the current level, it levels up. Pokemon stats usually increase with a new level and some pokemon evolve and/or learn new move at some levels. This is how you calculate the Experience Points a pokemon gets after defeating an opponent pokemon: (from upokecenter) Exp. Points = ((L* (G/(E* F)))/7))* X* Y* Z Stat Experience Gained = B/(E* F) here: L = Defeated pokemon's level G = Defeated pokemon's Base Experience X = If the battle is a Trainer battle, X=1.5; else 1. Y = If the participating pokemon's Trainer ID is different from the player's, Y=1.5; else 1 ("[name] gained a boosted [value] Exp. Points!") Z = If the participating pokemon is holding a Lucky Egg, Z=1.5; else 1. E = Number of unfainted pokemon that participated in the battle against the defeated pokemon. F = If at least one pokemon is holding Exp. Share, F=2; else 1. B = Base stat for the defeated pokemon's current species.

A "participant" means each unfainted pokemon in the player's party who had seen the opposing pokemon since the last time the opponent pokemon became active. A participant need not have used an attack against the pokemon, but must merely have seen it. If a pokemon faints at the same time as the opponent pokemon, it doesn't count as a participant. (In internal battles, if both teams have no pokemon at the same time, it is considered a loss for the player.) If Exp. All is in the player's pack, the pokemon earns Exp. Points in up to two stages: once if the pokemon is a participant as defined above, and once more, since it's in the player's party (in which case E is equal to the number of Pokmon in the player's party in the above formula.) Stat experience is earned in the same way. When a pokemon gains a level, its current HP is its new HP minus the HP lost before the level gain. A pokemon gains levels one at a time, in case it earns so much experience at once that it gains more than one level.

When a pokemon is placed in the Day-Care, its experience is set to the minimum amount necessary for the current level. While a pokemon is in the Day-Care, it will earn 1 Exp. Point for each step the player walks and will learn new moves as it gains levels; such moves, if the list is full, will overwrite older moves, starting from the top of the list. (Even HM moves will be overwritten this way.) In the firstgeneration versions, the Day-Care person won't accept a pokemon that has learned an HM move. Pokemon Origins removes this limitation. Pokemons Stats change during evolution, in some cases even decrease. A pokemon can be prevented to evolve in the evolution screen. As mentioned, some pokemon will evolve at some level, although that is not the only method of evolution. Some pokemon evolve from being given an item or trade. Evolution from leveling up in a battle happens only after the battle. Base Stats Base Stat are values between 0-255 which determine how high a certain Stat can go for a pokemon specie. There are 5 (6) Base Stat values, like the 5 (6) ordinary Stat values (HP, Attack, Defence, Special Attack/Special Defence, Speed). Base Stats are used when modifying a pokemon's Stat (ex. evolution, leveling up). This is why all Chanseys with no exception have comparably high HP value. Here is a list of the Base Stats for all pokemon in the game: (info taken from upokecenter)
No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Name Bulbasaur Ivysaur Venusaur Charmander Charmeleon Charizard Squirtle Wartortle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidgey Pidgeotto Pidgeot Rattata Raticate Spearow Fearow Ekans Arbok Pikachu Raichu Sandshrew HP 45 60 80 39 58 78 44 59 79 45 50 60 40 45 65 40 63 83 30 55 40 65 35 60 35 60 50 ATK 49 62 82 52 64 84 48 63 83 30 20 45 35 25 80 45 60 80 56 81 60 90 60 85 55 90 75 DEF 49 63 83 43 58 78 65 80 100 35 55 50 30 50 40 40 55 75 35 60 30 65 44 69 30 55 85 SPD 45 60 80 65 80 100 43 58 78 45 30 70 50 35 75 56 71 91 72 97 70 100 55 80 90 100 40 SPC 65 80 100 50 65 85 50 65 85 20 25 80 20 25 45 35 50 70 25 50 31 61 40 65 50 90 30

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

Sandslash Nidoran(f) Nidorina Nidoqueen Nidoran(m) Nidorino Nidoking Clefairy Clefable Vulpix Ninetales Jigglypuff Wigglytuff Zubat Golbat Oddish Gloom Vileplume Paras Parasect Venonat Venomoth Diglett Dugtrio Meowth Persian Psyduck Golduck Mankey Primeape Growlithe Arcanine Poliwag Poliwhirl Poliwrath Abra Kadabra Alakazam Machop Machoke Machamp Bellsprout Weepinbell Victreebel Tentacool Tentacruel Geodude Graveler Golem Ponyta Rapidash Slowpoke Slowbro Magnemite Magneton Farfetch'd Doduo Dodrio Seel

75 55 70 90 46 61 81 70 95 38 73 115 140 40 75 45 60 75 35 60 60 70 10 35 40 65 50 80 40 65 55 90 40 65 90 25 40 55 70 80 90 50 65 80 40 80 40 55 80 50 65 90 95 25 50 52 35 60 65

100 47 62 82 57 72 92 45 70 41 76 45 70 45 80 50 65 80 70 95 55 65 55 80 45 70 52 82 80 105 70 110 50 65 85 20 35 50 80 100 130 75 90 105 40 70 80 95 110 85 100 65 75 35 60 65 85 110 45

110 52 67 87 40 57 77 48 73 40 75 20 45 35 70 55 70 85 55 80 50 60 25 50 35 60 48 78 35 60 45 80 40 65 95 15 30 45 50 70 80 35 50 65 35 65 100 115 130 55 70 65 110 70 95 55 45 70 55

65 41 56 76 50 65 85 35 60 65 100 20 45 55 90 30 40 50 25 30 45 90 95 120 90 115 55 85 70 95 60 95 90 90 70 90 105 120 35 45 55 40 55 70 70 100 20 35 45 90 105 15 30 45 70 60 75 100 45

55 40 55 75 40 55 75 60 85 65 100 25 50 40 75 75 85 100 55 80 40 90 45 70 40 65 50 80 35 60 50 80 40 50 70 105 120 135 35 50 65 70 85 100 100 120 30 45 55 65 80 40 80 95 120 58 35 60 70

87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145

Dewgong Grimer Muk Shellder Cloyster Gastly Haunter Gengar Onix Drowzee Hypno Krabby Kingler Voltorb Electrode Exeggcute Exeggutor Cubone Marowak Hitmonlee Hitmonchan Lickitung Koffing Weezing Rhyhorn Rhydon Chansey Tangela Kangaskhan Horsea Seadra Goldeen Seaking Staryu Starmie Mr.Mime Scyther Jynx Electabuzz Magmar Pinsir Tauros Magikarp Gyarados Lapras Ditto Eevee Vaporeon Jolteon Flareon Porygon Omanyte Omastar Kabuto Kabutops Aerodactyl Snorlax Articuno Zapdos

90 80 105 30 50 30 45 60 35 60 85 30 55 40 60 60 95 50 60 50 50 90 40 65 80 105 250 65 105 30 55 45 80 30 60 40 70 65 65 65 65 75 20 95 130 48 55 130 65 65 65 35 70 30 60 80 160 90 90

70 80 105 65 95 35 50 65 45 48 73 105 130 30 50 40 95 50 80 120 105 55 65 90 85 130 5 55 95 40 65 67 92 45 75 45 110 50 83 95 125 100 10 125 85 48 55 65 65 130 60 40 60 80 115 105 110 85 90

80 50 75 100 180 30 45 60 160 45 70 90 115 50 70 80 85 95 110 53 79 75 95 120 95 120 5 115 80 70 95 60 65 55 85 65 80 35 57 57 100 95 55 79 80 48 50 60 60 60 70 100 125 90 105 65 65 100 85

70 25 50 40 70 80 95 110 70 42 67 50 75 100 140 40 55 35 45 87 76 30 35 60 25 40 50 60 90 60 85 63 68 85 115 90 105 95 105 93 85 110 80 81 60 48 55 65 130 65 40 35 55 55 80 130 30 85 100

95 40 65 45 85 100 115 130 30 90 115 25 50 55 80 60 125 40 50 35 35 60 60 85 30 45 105 100 40 70 95 50 80 70 100 100 55 95 85 85 55 70 20 100 95 48 65 110 110 110 75 90 115 45 70 60 65 125 125

146 147 148 149 150 151

Moltres Dratini Dragonair Dragonite Mewtwo Mew

90 41 61 91 106 100

100 64 84 134 110 100

90 45 65 95 90 100

90 50 70 80 130 100

125 50 70 100 154 100

Stat Experience Stat Experience (EVs or Effort Values in later generations) are like Experience Points which the player cannot see. There are five Stat Experience values: Attack, Defence, Special Attack/Defence, Speed. Stat Experience is earned the same way as experience points: by defeating an opponent pokemon. The amount of earned Stat Experiences is equal to the opponent pokemon's Base Stats. A pokemon you get or catch all start with 0 Stat Experiences. Stat Experiences can go up to 65535 each Using Rare Candies to level up a pokemon provide no Stat Experience, this is why a pokemon which was leveled up with rare candies will ususally have poorer Stats. Because a wild pokemon has 0 Stat Experience values, a wild pokemon will usually have poorer Stats then the same pokemon you have caught and grew to that level. Stat Experiences are used when modifying a pokemon's Stats when leveling up or evolving. Deter Values (DV) Deter values (DVs) or Individual Values (IVs) are what can be called a pokemon's genes. Unlike Stat Experiences, Deter Values do not start at 0 when you catch or earn a pokemon, they are values between 0-15 which are randomly generated for each pokemon and cannot change. Deter values are Attack DV, Defense DV, Special Attack/Defence DV, Speed DV and HP DV (which is not randomly generated, but calculated from the rest DV values). Deter Values should also not be confused with Base Stats, which are the same for a specific pokemon specie. This is the formula for calculating HP DV: (taken from upokecenter): HP DV = A + B + C + D where: A=0. If Attack DV is odd, A=8. B=0. If Defense DV is odd, B=4. C=0. If Speed DV is odd, C=2. D=0. If Special DV is odd, D=1.

And so, this is how you calculate a pokemon's stats in cases such as leveling up or evolving: (taken from upokecenter): Stat = int(((A+B)* 2 + C)* D/100) + E

A = Pokmon's Base Stat. B = Pokmon's Deter Value (from 0 through 15) C = To find C, let X equal the pokemon's Stat experience. Take the square root of (X minus 1), or 0 if X is 0 or 1, add 1 to that value, divide the result by 4, and round down. The final result is C, which can be as high as 63. (This variable, C, is also known as "stat points.") (To find the square root of a number, set M and P to that number. Then calculate (M+P/M)/2, rounding each division down. If M equals or is less than the result, use M as the square root; otherwise, set M to the result and repeat this process at the calculation step.) D = pokemon's level. E = Additive. When calculating a Pokmon's HP, use (Level + 10). For all other stats, use 5. Types Both pokemon and moves have their type. There are 15 types. Every type is effective against some other type, less effective against another type and in some cases completely ineffective against a third one. If the type of the move is strong against the type of the opponent pokemon, then the damage is multiplied by 2. If the type of the move is weak against the type of the opponent pokemon, then the damage is multiplied by 0.5. If the type of the move is completely ineffective against the type of the opponent pokemon, then the damage is multiplied by 0. Table of all types and their effectiveness against other types:

Nor mal Normal Fighting Flying Poison Ground Rock Bug Ghost Fire Water Grass Electric Psychic Ice Dragon 1 2 1 1 1 1 1 0 1 1 1 1 1 1 1

Fight Flyin Pois Grou Rock Bug Gho Fire ing g on nd st 1 1 2 1 1 0.5 0.5 1 1 1 1 1 2 1 1 1 0.5 1 1 0 2 0.5 1 1 1 0.5 2 1 2 1 1 0.5 1 0.5 2 1 2 1 1 1 0.5 1 2 1 1 1 1 1 0.5 1 0.5 1 1 1 2 2 0 1 2 1 0.5 2 0.5 0.5 2 1 1 1 0.5 2 2 1 1 1 1 1 0.5 2 2 0.5 2 1 1 2 1 0.5 1 1 1 1 0 0 1 0.5 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 0.5 1 0.5 2 0.5 1 1 1 1

Wate Gras Elect Psyc Ice r s ric hic 1 1 1 1 1 1 1 1 0.5 0.5 2 2 1 0.5 1 1 1 2 2 0.5 1 2 1 2 0.5 0.5 0.5 1 2 1 1 1 0.5 1 2 1 1 1 1 1 1 0.5 1 1 1 1 0.5 1 1 1 1 2 0 1 1 1 1 0.5 1 1 1 2 1 1 1 2 1 1 2 1 1 1 1 0.5 1

Drag on 1 1 1 1 1 1 1 1 0.5 0.5 0.5 0.5 1 2 2

The damage is multiplied by these numbers. If a pokemon has 2 types and they both are weak against the attack's type, than the damage is multiplied by 4. Catching wild pokemon (info from upokecenter) Wild pokemon can be caught by using a pokeball. The catch rate involves random numbers, stat changes, pokemon's rareness value and of course the type of the ball. If the player is using a pokeball, a random number is generated between 0-250, if the player is using a great ball, a random number is generated between 0-200, if the player is using an ultra ball, a random number is generated between 0-150. A new variable, C is created and set to 0. 1. If the pokemon is asleep or frozen, C is set to 12 2. if the pokemon is burned, poisoned or paralyzed, C is set to 25 A variable F4 is set to max(255, int(int((B* 255)/A)/min(1, int(C/4))) where: 1. A = 8 if the Great Ball is used, else 12

2. B = pokemon's total HP 3. C = pokemon's current HP If the pokemon's rareness is less than R1, the pokemon breaks free. 1. R2 is a random number between 0-255. 2. If F4 is less than R2, the Pokmon breaks free. Otherwise, the pokemon is caught. If the player uses master ball, the pokemon is always caught. None of the above is calculated. A pokemon species rareness is a hard-coded integer value (0-255). The lower the value, the less likely to be caught. A different formula is used for Safari Zone battles. Two variables, R and B, are set to 0. Another variable, C, is set to the pokemon's rareness value. 1. When the player throws a rock, C is doubled; B is set to 0; and B is increased by a random number from 1 through 5, but not to more than 255. 2. When the player throws bait, C is halved and rounded down; R is set to 0; and B is increased by a random number from 1 through 5, but not to more than 255. 3. If the player throws a safari ball, the rareness used in the catch rate formula above is equal to C. Then, at the end of each turn: 1. If B is greater than 0, the Pokmon "is eating" and B is decreased by 1. 2. If R is greater than 0, the Pokmon "is angry", R is decreased by 1, and C is reset to the Pokmon's starting rareness if R is decreased to 0 this way. 3. A variable, S, is set to 2 times the pokemon's speed. S is divided by 4 and rounded down if B is greater than 0, and is doubled if R is greater than 0. The pokemon will run if a random number from 0 through 255 is less than S, or if the Pokmon's Speed is 128 or greater. NPC list Trainers: 1. Bug catcher 2. Lass 3. Youngster 4. Super nerd 5. Hiker 6. Rocket 7. Swimmer 8. Junior trainer 9. Gentleman 10. Sailor 11. Fisherman

12. Gambler 12. Engineer 13. Pokemaniac 14. Chaneller 15. Beauty 16. Black belt 17. Scientist 18. Juggler 19. Psychic 20. Biker 21. Cueball 22. Bird keeper 23. Tamer 24. Burglar 25. Cooltrainer 26. Rival (Blue) Gym leaders: 1. Brock 2. Misty 3. Lt. Surge 4. Erika 5. Sabrina 6. Koga 7. Blaine 8. Giovanni Elite Four: 1. Lorelei 2. Bruno 3. Agatha 4. Lance Other:

1. Mom 2. Professor Oak 3. Daisy Oak 4. Bill 5. Mr. Fuji 6. Baoba, Safari Zone warden 7. Copycat 8. Karate master 9. Professor Oak's aides 10. Mr. Psychic 11. Old man There are some other NPCs that don't have a unique name and might share the same 3d model with other NPCs Pokemon list Pokemon Origins (working title), being a fan remake of the games Pokemon Red/Blue, includes all the 151 original pokemon. Their type, Pokedex entry, stats and other info can be found here: http://bulbapedia.bulbagarden.net/wiki/List_of_Pok%C3%A9mon_by_National_Pok %C3%A9dex_number#.23001_-_.23051_Bulbasaur_-_Dugtrio 3d model of Cubone:

Pokemon moves Each pokemon can know up to 4 moves. A new move can be learned via leveling up or learning a TM/HM. There are 165 moves in the game. Their type, PP, power and accuracy can be found here: http://bulbapedia.bulbagarden.net/wiki/List_of_moves

Pokemon moves are made up from a pokemon's skeletal animation and an Effect, which is explained in it's own section. Items Items are objects in the game which can be acquired, stored in the bag or PC and used. Items are categorized into types in the bag. This has only appeared since the Gen. 2 games, but the idea is to have categories in the bag for making things simpler. The bag sections are: 1. General (main) items 2. TMs and HMs 3. Pokeballs 4. Key items When a section becomes full, the player isn't able to pick up any items. He has to move some to the PC or toss away to make room first. Key items cannot be tossed. Here is a list of all the items in the game, in their respective sections and listed alphabetically. General (main) items list: name Antidote Awakening Burn heal Calcium Carbos Direct Hit Elixir Escape Rope Ether Fire Stone Fresh Water Full Heal Full Restore Guard Spec HP Up Hyper Potion Cures poison Cures sleep Cures burn Raises Special Attack Raises speed Raises chance of critical hit in battle Restores 10 PP for each move of a pokemon Escape from a cave or similar locations (return to entrance) Restores 10 PP of one move of a pokemon Evolves some pokemon Restores 50 HP of a pokemon Cures all status problems of a pokemon Cures all status problems and restores all HP of a pokemon Prevents stats reduction in a battle for the pokemon Raises max HP of a pokemon Restores 200 HP of a pokemon effect

Ice Heal Iron Leaf Stone Lemonade Max Elixir Max Ether Max Potion Max Repel Max Revive Moon Stone Nugget Paralyze Heal Poke Doll Potion PP Up Protein Rare Candy Repel Revive Soda Pop Super Potion Super Repel Thunderstone Water Stone X Accuracy X Attack X Defence X Special X Speed Pokeballs list: Pokeball Great Ball Ultra Ball Master Ball

Cures freeze Raises max defense of a pokemon Evolves some pokemon Restores 80 HP of a pokemon Restores all PP of all moves of a pokemon Restores all PP of one move of a pokemon Restores all HP Repels weaker pokemon for 250 steps Revives a fainted pokemon and restores all HP Evolves some pokemon Can be sold at a high price Cures paralyze Can be used for escaping from a pkemon battle Restores 20 HP Increases the max PP of a pokemon Raises the max attack of a pokemon Levels up a pokemon Repels weaker pokemon for 100 steps Revives a fainted pokemon and restores all HP Restores 80 HP Restores 50 HP Repels weaker pokemon by 200 steps Evolves some pokemon Evolves some pokemon Raises accuracy in a battle Raises attack in a battle Raises defence in a battle Raises special attack and special defence in a battle Raises speed in a battle

Catches a pokemon Higher chance of catching a pokemon than a Pokeball Higher chance of catching a pokemon than a Great Ball 100% chance of catching a pokemon

Safari Ball Key items: Bicycle Bike Voucher Card Key Coin Case Dome Fossil EXP. All Gold Teeth Good Rod Helix Fossil Itemfinder Lift Key Oak's Parcel Old Amber Old Rod Pokeflute Pokedex S.S. Ticket Secret Key Silph Scope Super Rod Town Map TMs

A special ball which you can obtain and use only in the Safari Zone

Allows traveling at double speed Show at Cerulean Bike Shop for a free bike Unlocks doors at the Silph Co. buildings Holds 9999 Casino coins for use at Celadon Casino Used to clone Kabuto at the Cinnabar Island Laboratory Divides EXP from battle between all party members Return to Safari Zone Warden and receive HM04 Fish for medium-levelled water pokemon Used to clone Omanyte at the Cinnabar Island Laboratory Detects hidden items in close proximity Unlocks the elevator in the team Rocket Hideout, Celadon City Deliver to Prof. Oak in pallet Town and receive a Pokedex Use to clone Aerodactyl at the Cinnabar Island Laboratoy Fish for low-levelled water pokemon Awakens sleeping pokemon Recoards all information about seen and caught pokemon Use to board the S.S. Anne in Vermilion City Unlock Blaine's gym on Cinnabar island Allows ghosts to be detected in the Pokemon Tower, Lavendar Town Fish for high-levelled water pokemon Shows your position in the Pokemon World

TMs are short for Technical Machines. HMs are short for Hidden Machines. They are items which can be used to teach a pokemon some move. The can be found, given by Gym leaders after being defeated or bought. Unlike HMs, they can only be used once. A pokemon can't forget a HM move unless by the Move Deleter. HMs can be used outside of battle, even if the pokemon is fainted. HMs can't be tossed or sold. To be able to use some HMs, you need a corresponding gym badge. TM 1 2 3 4 Mega Punch Razor Wind Sword's dance Whirlwind Move

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Mega Kick Toxic Horn Drill Body Slam Take Down Double Edge Bubble Beam Water Gun Ice Beam Blizzard Hyper Beam Pay Day Submission Counter Seismic Toss Rage Mega Drain Solar Beam Dragon Rage Thunderbolt Thunder Earthquake Fissure Dig Psychic Teleport Mimic Double Team Reflect Bide Metronome Self Destruct Egg Bomb Fire Blast Swift

40 41 42 43 44 45 46 47 48 49 50 HMs HM 1 2 3 4 5

Skull Bash Soft Boiled Dream Eater Sky Attack Rest Thunder Wave Psywave Explosion Rock Slide Tri Attack Substitute

Move Cut Fly Surf Strenght Flash

Kanto region
Artwork of Kanto from Gen IV:

The game, like the original ones, takes place in the Kanto region. Cities/Towns: 1. Pallet town 2. Viridian city 3. Pewter city 4. Cerulean city 5. Vermilion city 6. Lavender town 7. Celadon city 8. Fuchsia city 9. Saffron city 10. Cinnabar island Areas of interest: 1. Cerulean Cave 2. Digglet's Cave 3. indigo Plateau 4. Mt. Moon 5. Pokemon Mansion 6. Pokemon Tower 7. Power Plant 8. Rock Tunnel 9. Celadon Game Corner 10. Safari Zone 11. Seafoam Islands 12. Silph Co. 13. Victory Road 14. Viridian Forest Routes 1 25. It has not yet been decided if the anime locations will be present in the game.

The terrain is modelled in Blender or any other tool, as long as it can be imported to Blender and exported as a game model file or a heightmap. The whole world consists of smaller chunks, which are loaded and unloaded as you move along the Kanto region. Each chunk can have 4 textures: 2 textures, a stencil map and a detail map. In the future the allowed amount of textures might increase.

Of course it's your choice to use them or not. Buildings, trees, vegetation and the like are how they appear in the 3d modeller, but they can have different LOD levels. The terrain mesh can be exported as a heightmap, or as an ordinary polygonal geometry. NPC locations can be set with Blender empties and properties. As mentioned earlier, meshes you can interact with can have all the needed data set as Properties in the Game Logic Panel of Blender before export.

A terrain chunk generated with Blender:

Interface
Main Menu The main menu is the first place you can interact in the game after the intro and Press start/Press any key screen. Here you can choose to start a new game, continue, go to Options/Settings or quit the game. The main menu's design and structure hasn't been decided yet. You are encouraged to show your own design in the forums. an example the Options/Settings screen (programmer's art):

In-game menu The in-game menu is a sidebar which you can toggle outside of battles. The manu contains the following options: 1. Pokedex 2. Pokemon/ Party 3. Bag/ Pack 4. Player's name/ Trainer card 5. Save 6. Options 7. Exit an example of an in-game menu:

The Pokedex screen allows you to use your Pokedex (the button will appear after acquiring a pokedex from Professor Oak). The pokedex is a first generation pokedex. The GUI images haven't been made yet. The Party screen allows you to organize your pokemon party and check their stats. The Bag/Pack screen allows you to browse your current items, move them in their list, use them or toss them. The Trainer Screen allows you to see your trianer card: your name, axquired badges and pokemoney. Controls The game is controlled with the keyboard and mouse. The controls are different between different screens, for example you cannot manually control the camera in the battle screen. Custom key mapping might be possible. controls being used during development:

(the image is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. By Michaelliberty) The 3rd and 1st person cameras can be controlled in the game with the mouse. Click and hold the right mouse button and move the mouse to rotate the camera, in 3rd person mode, use the mouse wheel to zoom. how 3rd person camera works:

Art pipeline
3d models and animation can be done in any 3d modeller, but to export the files to the game's format, you'll need to get them to Blender (which is a free program) and export it with the game exporter. The format for 2d graphics is PNG, which is supported by just about any graphics editor. Music and sound effects have to be converted to OGG format. The game can load TTF font files. 3d models As mentioned earlier, 3d models are exported to the game's 3d format from Blender. This is the exporter: http://chicken-export.sourceforge.net/ However, egg files are a native 3d format of the game engine and so exporting the files should be the last step. Animations should be exported as separate files, although it's possible to have them in the same file as the model. We can differentiate 3 kinds of models: static models, animated (humans, pokemons) models and terrain models. Exported models can be previewed with the PO Model Viewer: http://www.indiedb.com/games/pokemon-origins/downloads/model-viewer-01 The textures shouldn't be over 512x512 pixels. The vertex count should be below 3000 for humans and pokemon. Animated models shouldn't have more than 30 bones (joints). Pokemon models need the following animations: 1. idle 2. attack 3. defend 4. faint 5. pokeball out/in The above list might grow, for example having different versions of attack and defend. NPCs need the following animations: 1. idle 2. walk 3. run It has been suggested to have base models which others can use for making their characters. You are welcome to make one. Few exist already.

http://pokemonorigins.forumotion.net/t73-base-mesh-male http://pokemonorigins.forumotion.net/t61-base-mesh-female Post in those threads if you want to receive those models to use them as base. 2d graphics There is nothing much to say about 2d graphics. You should ultimately convert them to .png. Textures shouldn't be bigger than 512x512 pixels. Also, not that the game's pixel-perfect resolution is 1024x768. Effects Effects are used for the pokemon moves and various other stuff in the game, such as rain. When we talk about an effect, we mean an animated billboard, particle effect, animated geometry and texture UV animation, vertex and pixel shaders or combination of some of these. the Particle Editor from the SDK:

The particle editor can be downloaded from here: http://www.indiedb.com/games/pokemonorigins/downloads/particle-editor-01 an animated billboard:

UV scrolling in the game FFIV (DS):

(Animated) Billboard - A billboard is a special effect that causes an object to rotate automatically to face the camera, regardless of the direction from which the camera is looking. Usually the object is a textured quad. An animated billboard simply replaces the texture of the quad from a list over time (milliseconds). Particles A particle effect involves creating, moving and removing lots of billboards over time to simulate effects such as fire or smoke. There is a Particle Editor program included in the game engine. I might release it as a standalone program in the future. UV scrolling Change the texture UV over time to simulate an effect as if the texture is flowing on the mesh. Used for effects such as water. Animated geometry An effect caused by modifying/creating vertices with joints (bones) or morphs. Shaders Shaders are programs that run on the GPU and create or modify pixels (fragments) and vertices. Shaders are mostly what makes a game next-gen. Of course shaders can only run on a hardware which supports them.

Music and sound effects Music and sound effects can be done with any program, as long as you can get them to .ogg (an open audio format). If your program doesn't support .ogg and you're lazy to convert it with many of the free and open source tools these days, you can just send me a losless format and I'll do the conversion. Example of losless formats are .wav or .flac (compressed). A good free audio editing program can be found here: http://audacity.sourceforge.net List of music themes and some sound effects (in alphabetical order): Bicycle Celadon City Champion battle Cinnabar Island Cinnabar Mansion Credits Evil trainer encounter Evolving Female trainer encounter Game Corner Gym Gym Leader battle Gym Leader defeated Hall of Fame Indigo Plateau Item found Item received Lavender Town Leveling up Male trainer encounter Mt. Moon Oak's lab Oak's pokedex evaluation Oak's theme Opening theme Pallet Town Pokemon Center

Pokemon Tower Rival theme Route 1 Route 10 Route 12 Route 16 Route 24 S.S. Anne Secret item found Show me around Silph Co. Surf Team Rocket's hideout Title Screen Trainer Battle Vermilion City Viridian City Viridian Forest Wild pokemon battle Wild pokemon caught Wild pokemon fainted I don't know if the names are very accurate. You can listen the midi versions here if you do not recognise some of them: http://www.vgmusic.com/music/console/nintendo/gameboy/index-classic.html Some music made for the game: http://www.indiedb.com/games/pokemon-origins/videos/ss-anne#imagebox http://www.indiedb.com/games/pokemon-origins/videos/lavender-town#imagebox We will also need to make the cries of all the first gen pokemon. There is no plan for human speech, however if there would be enough people to offer some voice acting, I'd be more than glad to add that to the game.

Your help is needed


As you see, this project is certainly not a one-man job. I have listed all the assets needed for the game in this document (3d models, music and sound effects, 2d graphics, special effects). If you think you can make some assets, then head to the forum, check if it hasn't already been done and post your work in the appropriate section.

Notes
There are some info and screenshots in this document which are simply taken from other video games or websites. They are considered Fair Use in the US copyright law and Fair Dealing in some European countries. If an info is taken from somewhere else, it is mentioned as being such.

S-ar putea să vă placă și