I was working on this for a good 4 months, trying to make a battle system that completely copied the battle system of the new Pokemon Fire Red, or Blue.
This is the result before the code became too much of a mess, and too many bugs that I couldn't figure out where they were rooted from:
When running the game, make sure you use the verbs provided:
Add more pokemon - You MUST add a pokemon before entering the grass, or you know, glitches.
Add Items - You will need to add items if you want to see the in-battle item interface's potential.
Bbutton - I didn't add a keyboard macro as of yet, but this was preliminary testing on a back button to exit interfaces in the battle.
Action - Just like using your spacebar, I just didn't bother hiding the verb. (You can use spacebar for the same result)
Add Effect/Add Effect All - Adds the burn effect to pokemon while in battle.
The rest of the verbs I cannot usually remember their purpose, as I haven't touched the files in almost a year.
Here are a few images from the game:
A few key points I am proud of making:
-The battle screen is client based, as I wanted this game to have multiplayer capability.
-My own on screen text; you can talk to professor Oak (located somewhere or another on the map), and in battle, text flows quite nicely.
-The Item system in battle is great, you can flip between inventories, and easy softcode descriptions. That means it is very easy to make new items as so:
icon = 'pokeball.dmi' //this image is shown in the item selection screen
desc = "An average pokeball" //This description will also be shown on screen
Battle_Text("[m] uses the pokeball!") //This works just like in the actual game.
//Here's where we do stuff to catch a pokemon.
Also pokemon can be handed items and items be taken away from them.
- The bench where you look at your pokemon in battle also shows items held, health bar, levels, and status. (again, this is all softcoded!)
-Level ups and damage is based off the real calculations of the game using bulbapedia's mathmatics.
-When selecting an attack, you are displayed the PP and type of move, just like in the actual game.
-Exp bar and health bar are functional, and leveling up also works as it should.
If you play around with it you can see the depth of those 4 months unfold.
However there are also a lot of issues:
- backing out of interfaces sometimes causes glitches with itself.
- health bars and exp move too quickly (this is actually just me saving time, and not bothering to change it back until the game is near completion).
-Pokemon don't slide on to the screen like they do in the actual game. (this was testing once again, having them slide in and out is actually quite easy)
-The enemy charmander in battle is too large. (Again, this is me being lazy and not just simply grabbing the new icons provided.)
-Pokeballs do catch pokemon, however I was only just starting to work on this, so it isn't exactly polished; just alpha testing.
-And many more which you will notice along the way.
Next, the issues that actually caused me to stop working on the game were mostly due to how I created it. I had not made a flexible system that could handle trainer, wild, and PVP battles. I had hardcoded Wild_Battle datum, Trainer datum, and finally, PVP. Now the issue with this, is that all the progress so far is ONLY on Wild_Battle, and Wild_Battle does not take in to account the other options. I tried just copy/pasting the code and editting to allow for trainer battles and whatnot, however it was simply too much to handle. Trainer_Datum was tough, but setting up for PVP just turned me off completely.
I set myself up for disaster by building a game with meat, without creating the whole skeleton first. So maybe this is why I put it in Design Philosophy, but please move it if it is wrong. Hopefully others can learn from my mistakes.
Along with the file I also allow for you to see my programming. You can see some of it is sloppy, but I am usually one to favour very flexible code that can be reused, which is why you will see a lot of that too!
Hope you enjoy! Thanks.
A big thanks to Kaamos for getting me all the icons, text, and even more. He has done every little thing for the graphics of this game, as well as more that you can't see since I didn't have all the pokemon set up!