• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Cyndy, May, Hero (Conquest), or Wes - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[EM] Battle Engine Upgrade (On Halt, Will undergo reboot!)

Status
Not open for further replies.
I like the fainting system, but there's a glitch. If you battle a Pokémon during a sandstorm, that will be damaged by the sandstorm, and you knock it out, it will apparently still be affected by the sandstorm...even though it's knocked out haha
 
Cool. Also, I saw that Power Items were included, and I saw the extras required for each. But, will it check if the item isn't a Macho Brace and make sure it is a Power Weight? (extras are the same)
 
Flame burst's splash damage always hits the left opponent (if you target the left opponent they take initial damage, then take the flame burst splash)
 
Is there any documentation on how your AI behaves? Or should I just go through the scripts?
 
Cool. Also, I saw that Power Items were included, and I saw the extras required for each. But, will it check if the item isn't a Macho Brace and make sure it is a Power Weight? (extras are the same)
Yes.

I know you're re-writing the AI to be able to use new moves, but are you also going to make them legitimately smart? Like being able to use strategies?
It's part of the future plan. If I were to start it, I would do after finishing GEN7.

Flame burst's splash damage always hits the left opponent (if you target the left opponent they take initial damage, then take the flame burst splash)
Fixed! Derped there.

Is there any documentation on how your AI behaves? Or should I just go through the scripts?
Well you can look at the tai_scripts.s file to get the idea of the flow of AI move rating system. Trainer_al.c for some concrete implementations of the AI scripting commands.
 
I noticed there's more than one AI, how do I switch between them or implement my own scripts?

Using gen3tools there's an AI value here:
[PokeCommunity.com] [EM] Battle Engine Upgrade (On Halt, Will undergo reboot!)


Is this what I'm looking for?
I notice there's only 5 AI scripts actually written, is that all that's used by default?

EDIT: And wild pokemon, do you implement AI for them, or are they simply randomly choosing moves?
 
Last edited:
Some crazy good progress has been made! As I think I mentioned to KDS before, it could be a good idea to have slightly different builds for Gen 6 vs Gen 7 effects, or to have that customisable in some way. I'm personally not a fan of some of the nerfs to abilities like Gale Wings and having some way to toggle that could be good!
 
Game freezes on Trainers after the screen goes black after you defeat them (specifically the Team Aqua Grunts in the first room of the Seafloor Cavern).
 
Rollout's animation seems glitchy when in a double battle and an NPC uses it. The wrong pokemon move around. If you level up after rollout is used, the game freezes.

Doesn't occur in 1v1.

EDIT: I'm going to add these as issues on the repo, and anything else I find I'll make issues there instead of posting here.
 
Last edited:
Some crazy good progress has been made! As I think I mentioned to KDS before, it could be a good idea to have slightly different builds for Gen 6 vs Gen 7 effects, or to have that customisable in some way. I'm personally not a fan of some of the nerfs to abilities like Gale Wings and having some way to toggle that could be good!

You guys should utilize github branches to realize this rather than making separate repos.

I wanted to ask if you guys had any plans to convert the hex for the animations into actual scripting commands, as animations are scripts, or use ASM macros for them. It's quite unreadable in it's hex state, and sort of defeats the purpose of having it open source if the data is still in an obfuscated form.

I'd also like to see this extend a little beyond what it is now and encompass the entire battle engine. The need to reference and reverse engineer the main ROM hasn't been eliminated and imo that's normally the largest advantage to these sorts of open source projects. Nonetheless, great work so far and I'm looking forward to see how things progress. I had the opportunity to speak with Dizzy about a few readability/macro introductions to the code and I'm happy to see that's being working on daily.
:thumbsup:
 
When building the ROM I get "'python' is not recognized as an internal or external command, operable program or batch file." when typing "python scripts//build". Should I reinstall Python 3.5?
 
When building the ROM I get "'python' is not recognized as an internal or external command, operable program or batch file." when typing "python scripts//build". Should I reinstall Python 3.5?

Yes, it happens when it's not added to PATH. While installing make sure to tick where it says "add to path" or something similar.
 
I noticed there's more than one AI, how do I switch between them or implement my own scripts?

Using gen3tools there's an AI value here:
[PokeCommunity.com] [EM] Battle Engine Upgrade (On Halt, Will undergo reboot!)


Is this what I'm looking for?
I notice there's only 5 AI scripts actually written, is that all that's used by default?

EDIT: And wild pokemon, do you implement AI for them, or are they simply randomly choosing moves?
There are only 4 AI scripts. The AI value is the correct one pointed in the tool.
Wild pokes don't have AI, they randomly chose moves. It doesn't make any sense to do so IMO.
For info about battle AI, search for Knizz's battle AI research thread in the R&D section or contact Dizzy.



Some crazy good progress has been made! As I think I mentioned to KDS before, it could be a good idea to have slightly different builds for Gen 6 vs Gen 7 effects, or to have that customisable in some way. I'm personally not a fan of some of the nerfs to abilities like Gale Wings and having some way to toggle that could be good!
The Gen 7 toggle will be implemented using #if defines. There will be no need for a separate build at all.

You guys should utilize github branches to realize this rather than making separate repos.

I wanted to ask if you guys had any plans to convert the hex for the animations into actual scripting commands, as animations are scripts, or use ASM macros for them. It's quite unreadable in it's hex state, and sort of defeats the purpose of having it open source if the data is still in an obfuscated form.

I'd also like to see this extend a little beyond what it is now and encompass the entire battle engine. The need to reference and reverse engineer the main ROM hasn't been eliminated and imo that's normally the largest advantage to these sorts of open source projects. Nonetheless, great work so far and I'm looking forward to see how things progress. I had the opportunity to speak with Dizzy about a few readability/macro introductions to the code and I'm happy to see that's being working on daily.
:thumbsup:
For the time being, the most of the existing animations will stay hex. A new move
animation by me or Dizzy for the remaining moves will be definitely be in script form.
Move animations are important, but me and Dizzy are focusing on completing the main engine part first till Gen 7. Then we'll move to animations too and after all animations are completed we'll start converting every animation to scripts.
After that I plan to put out research into the real Battle
Engine and hope to get it fully disassembled and translated in C. Currently, we have all bases covered to implement Gen 7 abilities, moves, items and Z moves without any further Gen 3 research work I believe.

Checked the animation script for scald on Github, so cool! Is it working right now? Or are you making some command line program to compile it? Really cool concept and would make animations so much easier if it works out
Yes the animation works. No need for any external program. They are already handled by ASM macros just like battle scripts, trainer AI scripts etc. are part of the build code. See the battlescriptformoves.s file to get an idea of how move effects are handled. Future animations will be handled in a similar fashion.

When building the ROM I get "'python' is not recognized as an internal or external command, operable program or batch file." when typing "python scripts//build". Should I reinstall Python 3.5?
This must be the case of python directory path not being added to your path variable. Before proceeding to install, check the Add to Path option in the installer.
 
Is there some config setting I'm missing? I've gotten the engine running, but Fairy type wasn't implemented and no new abilities seem to be present in the rom either. The experience system and other such minor changes appear to have been applied, but I can't seem to find out what I did wrong to not get the new shiny things.
 
Is there some config setting I'm missing? I've gotten the engine running, but Fairy type wasn't implemented and no new abilities seem to be present in the rom either. The experience system and other such minor changes appear to have been applied, but I can't seem to find out what I did wrong to not get the new shiny things.

Use a Pokemon Editor like PGE to see the changes.
 
Use a Pokemon Editor like PGE to see the changes.
I actually used PGE to double check and verify that the changes didn't occur. My primary points for testing were to catch a Ralts, which didn't have the Fairy typing, and then I checked in PGE, to find that the Fairy typing wasn't put into the game. I also checked the abilities to see if those had been updated, checking for Super Luck on Absol, which wasn't present. I can find the names in the files, so I presume it's something silly on my end, but I cannot seem to get it to work.
 
Last edited:
I actually used PGE to double check and verify that the changes didn't occur. My primary points for testing were to catch a Ralts, which didn't have the Fairy typing, and then I checked in PGE, to find that the Fairy typing wasn't put into the game. I also checked the abilities to see if those had been updated, checking for Super Luck on Absol, which wasn't present. I can find the names in the files, so I presume it's something silly on my end, but I cannot seem to get it to work.

Well, you aren't able to see the changes because the engine does not update the base data of pokemon.

For example, The fairy type is there, but the installing the engine does not automatically change Clefairy to a Fairy type.

It is the job of the hacker to change Clefairy to a Fairy type using a move editor.

Similarly, you'll have to set Absol's ability to Super Luck in PGE. (Make sure you run the PGEinidump script to generate the proper ini)
 
Status
Not open for further replies.
Back
Top