The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Sideshow Showcase (https://www.pokecommunity.com/forumdisplay.php?f=204)
-   -   Red Shin Pokemon Red/Blue/Green/JP builds (Bugfix, AI, and QoL patch) (https://www.pokecommunity.com/showthread.php?t=427398)

jojobear13 November 27th, 2020 4:19 PM

Minor text edits for the Green build have been pushed to the github repositories. Too minor to bother with a patch.
--> Digglett sculptures are re-translated more accurately as Buddha statues.
--> The Bike Shop's name is restored to Miracle Cycle.
--> The sneezing Hiker with hay fever is re-translated more accurately as laughing from having eaten funny-tasting mushrooms. Lol...get it? "Funny"-tasting? I'll let myself out.

But for real, the Hiker's japanese dialogue is a goofy pun. Psychedelic shrooms are called "laughing mushrooms" in japanese. The joke is that he ate some laughing mushrooms which pokemon (and presumably the child playing it) interprets in a literal way; they are fanciful mushrooms that make a person laugh uncontrollably. It took me a while to think up a lame pun in english that kinda worked and kept the double-meaning.

Synyster117 November 29th, 2020 12:51 PM

Thank you for making this hack. I really enjoy playing it! :)

How do pokemon like haunter or graveler evolve? Are their final evolutions out there in the wild?
Btw I was able to encounter Mew without having the diploma. The sprite was glitched but once caught, it became a normal looking Mew.

jojobear13 November 29th, 2020 6:14 PM

Quote:

Originally Posted by Synyster117 (Post 10236354)
Thank you for making this hack. I really enjoy playing it! :)

How do pokemon like haunter or graveler evolve? Are their final evolutions out there in the wild?
Btw I was able to encounter Mew without having the diploma. The sprite was glitched but once caught, it became a normal looking Mew.

Do you remember the encounter location?

Trade evolutions evolve by level in the mid to late 40’s

jojobear13 November 29th, 2020 8:16 PM

Quote:

Originally Posted by Synyster117 (Post 10236354)
Thank you for making this hack. I really enjoy playing it! :)

How do pokemon like haunter or graveler evolve? Are their final evolutions out there in the wild?
Btw I was able to encounter Mew without having the diploma. The sprite was glitched but once caught, it became a normal looking Mew.

Never mind. I found what's causing Mew to glitch. It's a small oversight that is easy to fix. Good news is that glitch sprites don't ruin your Hall of Fame anymore.

Anyway, you can always find evolution and level-up information in the data/evos_moves.asm file.

Synyster117 November 30th, 2020 2:18 AM

Quote:

Originally Posted by jojobear13 (Post 10236463)
Never mind. I found what's causing Mew to glitch. It's a small oversight that is easy to fix. Good news is that glitch sprites don't ruin your Hall of Fame anymore.

Anyway, you can always find evolution and level-up information in the data/evos_moves.asm file.

Thanks. It was right next to Mewtwo. Got all 151 registered now. Again, great hack!

jojobear13 December 7th, 2020 8:04 PM

I've been working on PP tracking for both AI trainers and wild pokemon. Coming soon to a patch near you.

Martdon December 8th, 2020 12:49 AM

Downloaded and played through today. Just going to say that I loved it, however, giving trainers improved changing actually makes battles a lot easier. Half the opponents moves are spent changing. Making it very easy to whittle them down.

Many changes don't even make sense. I have my haunter going to use psychic against a tentacruel. The trainer changes to a blastoise. (which doesn't make sense, as I hadn't used psychic yet, but not a huge deal)

Psychic hits the blastoise, next turn, he switches back to the tentacruel. Which makes no sense as the blastoise should've stayed in.

Just one example, but rival, gyms, elite four, all their new moves and AI can't compensate for the fact they never attack you. They just change.

Apologies if this has been brought up before, found this hack today, and didn't read through to full thread.

jojobear13 December 8th, 2020 11:01 AM

Quote:

Originally Posted by Martdon (Post 10241303)
Downloaded and played through today. Just going to say that I loved it, however, giving trainers improved changing actually makes battles a lot easier. Half the opponents moves are spent changing. Making it very easy to whittle them down.

Many changes don't even make sense. I have my haunter going to use psychic against a tentacruel. The trainer changes to a blastoise. (which doesn't make sense, as I hadn't used psychic yet, but not a huge deal)

Psychic hits the blastoise, next turn, he switches back to the tentacruel. Which makes no sense as the blastoise should've stayed in.

Just one example, but rival, gyms, elite four, all their new moves and AI can't compensate for the fact they never attack you. They just change.

Apologies if this has been brought up before, found this hack today, and didn't read through to full thread.

Tentacruel gets switched out to avoid a super effective Psychic. Then Blastoise gets switched out because of low health and Tentacruel was internally scored as the best option. Yes, the computer knows what moves you pick and acts accordingly (the GB’s processor is 80’s tech after all).

Intelligent switching is really hard to get right, so feedback is always appreciated. I am considering the following adjustments:
- don’t consider switching due to low health if you out-speed the player
- reduce the weight of super effective moves when considering a switch
- when switching in a mon, flag it so it cannot be switched out. Clear the flag when The player changes the active mon.

darthbr December 8th, 2020 4:15 PM

Quote:

Originally Posted by jojobear13 (Post 10241654)
Tentacruel gets switched out to avoid a super effective Psychic. Then Blastoise gets switched out because of low health and Tentacruel was internally scored as the best option. Yes, the computer knows what moves you pick and acts accordingly (the GB’s processor is 80’s tech after all).

Intelligent switching is really hard to get right, so feedback is always appreciated. I am considering the following adjustments:
- don’t consider switching due to low health if you out-speed the player
- reduce the weight of super effective moves when considering a switch
- when switching in a mon, flag it so it cannot be switched out. Clear the flag when The player changes the active mon.

That would be great. Its a bit annoying those AI moves. Sometimes prefer vanila non switching. But what u suggested is a good one.

jojobear13 December 8th, 2020 11:52 PM

Here's what I'm playtesting with so far. Chances to switch have been reduced:
-->toxic poison - changed probability from 50% to 34%
-->super effective moves - probability weight reduced by 25%
-->only switch out from low HP if player outspeeds enemy
-->an enemy mon is flagged when sent out; non-volatile status or low hp cannot initiate switching until the player sends out a new mon (which clears the flag).

The code can be seen in the latest commit to master_dev and lite_dev. I had to move some stuff out of core.asm to make room in the memory bank.

EDIT: Another change I've added. If a super effective move instigates the AI to switch, the mon getting sent back gets flagged while it is benched. The scoring system applies a penalty for this flag. Once again, switching flags are cleared when the player sends out a new mon. The idea is that since the enemy mon was recalled due to taking a super effective hit, the scoring system for choosing what to send out should be dissuaded from sending it out again if the player's mon hasn't changed. This will help the AI account for player mons with type coverage.

Mono-type teams (like swimmers) are kind of hosed since nothing they switch to is particularly good if you have a stab super effective move, but then again they were always hosed in that way. They probably won't switch from super-effective moves anyway due to how the scoring works.

EDIT 2: Another change. I found it was possible to cheese using the sleep status again (it's very powerful in gen 1). The switching AI now has a 12.5% chance to switch a sleeping mon each turn that it's sleep counter is > 3. The idea is to simulate a situation where the opponent is hoping his active mon wakes up, but there's a chance he gets impatient and switches. The cutoff of 3 is so the opponent doesn't use Rest and then switch for the lols. 12.5% is chosen to help reduce situations of switching back and forth between sleeping mons (switching in gen 1 does not decrement the sleep counter).

jastolze007 December 10th, 2020 7:26 AM

I'm still on version 1.15 (I think) since I've made some changes to weaker, fully evolved PKMN that gave low EXP and some moves / PKMN type changes (Arbok is part Dragon, Marowak and Ninetales are now part Ghost) Would you consider making these changes in the official branch, or other type changes so there are more Ghost and Dragon types?

What about bringing the three new types in from Gen II+? Could you make an optional patch or branch for that? It does get rid of the retro typing, but at least Magnemite will gain its secondary steel type!

Loving this so far. I've since started a new game and am using the same team as last playthrough.

jojobear13 December 10th, 2020 12:54 PM

Quote:

Originally Posted by jastolze007 (Post 10242597)
I'm still on version 1.15 (I think) since I've made some changes to weaker, fully evolved PKMN that gave low EXP and some moves / PKMN type changes (Arbok is part Dragon, Marowak and Ninetales are now part Ghost) Would you consider making these changes in the official branch, or other type changes so there are more Ghost and Dragon types?

What about bringing the three new types in from Gen II+? Could you make an optional patch or branch for that? It does get rid of the retro typing, but at least Magnemite will gain its secondary steel type!

Unfortunately this is not within the scope of the project. Part of why I keep this open source is so people can download, customize to their own tastes, and recompile. It’s the only way to please everyone.

jojobear13 December 11th, 2020 8:53 PM

Since there is some confusion on what version people are running when I receive bug reports, I made it so the game will display the current patch version on the main menu. This will take effect in the upcoming v1.18 and onward.

MoriyaFaith December 13th, 2020 6:42 PM

Oh, My little mini-project was actually used for something! Cool!

I also do have a few things to make sure of, particularly with Shiny Pokemon and Missingno.

In terms of shiny pokemon, was the way DVs were calculated changed at all? I know that in the originals, it's impossible to get Shinies of most species because wild Pokemon can't be shiny.

And in terms of missingno, How accurate is it's sprite? I know that in my own PokeJP project, the sprite isn't quiiite right, as shown here.https://cdn.discordapp.com/attachments/225418244461166592/787864267624939520/unknown.png
I actually have no idea if it would even be possible to fix its sprite to always one of two signature set of blocks, but....

jojobear13 December 13th, 2020 8:06 PM

Quote:

Originally Posted by MoriyaFaith (Post 10244231)
Oh, My little mini-project was actually used for something! Cool!

You do good work. I'm really impressed.

Quote:

In terms of shiny pokemon, was the way DVs were calculated changed at all? I know that in the originals, it's impossible to get Shinies of most species because wild Pokemon can't be shiny.
Not entirely correct. This has to do with the RNG. The short of it is that the original RNG would never produce certain results on certain maps. This made it impossible for some species to have perfect DVs or be shiny since they only appear on a map where the RNG does not generate the required combination of numbers. DVs are the same as in the original, but I've ported over the general RNG from Pokemon Prism. That should help greatly with the problem.

Quote:

And in terms of missingno, How accurate is its sprite?
I've just been using fossil kabutops. Initially it was a placeholder to prevent HoF corruption. The HoF can't corrupt anymore from glitched graphics ever since I fixed the decompression bug that causes it, but I haven't bothered to change it to anything else.

MoriyaFaith December 13th, 2020 8:40 PM

Quote:

Originally Posted by jojobear13 (Post 10244248)
You do good work. I'm really impressed.

Eh, it's not THAT much, mostly just finding every small difference. Including the weird ones. Did you know that the JP version of Red and Green have a slightly different SGB color pallete, and the one in International RB is from Japanese Blue? Thanks for the compliments, though. It was just a little side project to see if I could. Might do more stuff to it if there's anything I missed.

Quote:

Originally Posted by jojobear13 (Post 10244248)
Not entirely correct. This has to do with the RNG. The short of it is that the original RNG would never produce certain results on certain maps. This made it impossible for some species to have perfect DVs or be shiny since they only appear on a map where the RNG does not generate the required combination of numbers. DVs are the same as in the original, but I've ported over the general RNG from Pokemon Prism. That should help greatly with the problem.

Ah, okay. Anything else ported from Prism? That 60 fps it has is kinda cool, but I don't know if that can work in RB. makes the running shoes look nice rather than just being "feet bike." That's always been a pet peeve of mine.

Quote:

Originally Posted by jojobear13 (Post 10244248)
I've just been using fossil kabutops. Initially it was a placeholder to prevent HoF corruption. The HoF can't corrupt anymore from glitched graphics ever since I fixed the decompression bug that causes it, but I haven't bothered to change it to anything else.

I'd probably say.....the original main Sprite? If it uses RG graphics, use the RG sprite (It's different.) even if it was just originally garbage data, I don't really think it would be Missing No without it.

Unless it's on the fossil and ghost hex ids, then use those, etc.

jojobear13 December 13th, 2020 9:20 PM

Quote:

Originally Posted by MoriyaFaith (Post 10244231)
I know that in my own PokeJP project, the sprite isn't quiiite right, as shown here.

You can probably re-create missingno by initiating its encounter in the BGB emulator and drawing it pixel-by-pixel. From a visual point of view, it's made up of 18 bgmap tiles that are 8x8 pixels each. Once it's on the screen, go to the VRAM viewer, select the BG map tab, then select the 9C00 radio button. Missingno will now appear in the bgmap window. You can mouse-over each tile to get a zoomed-in view on the right. Just recreate all 18 tiles and assemble them together.

jojobear13 December 13th, 2020 10:03 PM

1 Attachment(s)
Quote:

Originally Posted by MoriyaFaith (Post 10244266)
Did you know that the JP version of Red and Green have a slightly different SGB color pallete, and the one in International RB is from Japanese Blue?

Vaguely. It seems they tweaked it a bit to up the vibrancy. Even on my old Trinitron the RG palettes look a tad bit muted.

Quote:

Anything else ported from Prism? That 60 fps it has is kinda cool, but I don't know if that can work in RB. makes the running shoes look nice rather than just being "feet bike." That's always been a pet peeve of mine.
Nothing else. Fun fact though, the gameboy runs at 60 fps natively. Prism just modified the graphical engine to use extra frames. Really tough to do with a gameboy, but the GBC makes it a lot easier with the extra slot of vram.

Quote:

I'd probably say.....the original main Sprite? If it uses RG graphics, use the RG sprite (It's different.) even if it was just originally garbage data, I don't really think it would be Missing No without it. Unless it's on the fossil and ghost hex ids, then use those, etc.
The unused hex IDs can no longer appear in Shin Pokemon (or at least you'd have to work really hard at it). The missingo that can be initiated is effectively a custom-made easter egg / super boss. Everything is controlled and contained to prevent glitches. Its front sprite and its base stats are predefined. Its encounter is actually a trainer battle so it cannot be caught. Even its item duplication is now controlled (constrained to a max of 99 of a non-key item in the 6th bag slot and only if you win).

That said, I took an hour and recreated the front sprite. I think I'll use this in future versions. You're right in that it's simply too iconic.

MoriyaFaith December 13th, 2020 10:07 PM

Quote:

Originally Posted by jojobear13 (Post 10244311)
Vaguely. It seems they tweaked it a bit to up the vibrancy. Even on my old Trinitron the RG palettes look a tad bit muted.

Weird part is that the white is a slightly different shade of white. A green one compared to a more red one if i'm remembering right.

Quote:

Originally Posted by jojobear13 (Post 10244311)
Nothing else. Fun fact though, the gameboy runs at 60 fps natively. Prism just modified the graphical engine to use extra frames. Really tough to do with a gameboy, but the GBC makes it a lot easier with the extra slot of vram.

Damn, that sucks. I still stand by the fact that most Running shoes in gen 1-2 hacks look sloppy, since the running animation isn't any different from the walking animation. It just looks crudely made.


Quote:

Originally Posted by jojobear13 (Post 10244311)
The unused hex IDs can no longer appear in Shin Pokemon (or at least you'd have to work really hard at it). The missingo that can be initiated is effectively a custom-made easter egg / super boss. Everything is controlled and contained to prevent glitches. Its front sprite and its base stats are predefined. Its encounter is actually a trainer battle so it cannot be caught. Even its item duplication is now controlled (constrained to a max of 99 of a non-key item in the 6th bag slot and only if you win).

That's actually really interesting, good to know.

jojobear13 December 13th, 2020 11:09 PM

Quote:

Originally Posted by MoriyaFaith (Post 10244312)
Weird part is that the white is a slightly different shade of white. A green one compared to a more red one if i'm remembering right.

It's really obvious on all our modern LCD screens. But I swear, both the off-white-red and the off-white-green show up as a stark white on my CRT. Probably has something to do with the phosphor illumination.

It must have been some kind of quick-reference for the dev team. Nobody would notice in 1996 unless they hooked their Super Gameboy up to a very expensive high quality monitor. Not to mention that Blue version still has the reddish-white. Since Blue was made on its own after the release of Red and Green, the white differentiation would have not been needed. I guess they grabbed the code for Red version and started working from there. They certainly weren't going for a color-coded tint aesthetic.

MoriyaFaith December 14th, 2020 6:54 AM

Quote:

Originally Posted by jojobear13 (Post 10244342)
Since Blue was made on its own after the release of Red and Green, the white differentiation would have not been needed. I guess they grabbed the code for Red version and started working from there.

Pretty sure the JP release of red and green had the same SGB pallete. I’m guessing they edited it for Blue to give better palletes, and that was used as the base for Red and Blue......resulting in translation errors, and a different Cerulean Cave map.....and more.....

Oh, and a small nitpick, but there isn't any patch to restore Red or Blue to their Japanese Version. Red has the graphics and whatnot from green, just with Red's wild data, while Blue has entirely new wild pokemon and gift pokemon data, as well as trades. Sure, it's a very nitpicky thing, but just having the Green Patch be redundant since it's just a slightly different version of Blue seems weird to me.

jojobear13 December 14th, 2020 1:29 PM

Quote:

Originally Posted by MoriyaFaith (Post 10244545)
Oh, and a small nitpick, but there isn't any patch to restore Red or Blue to their Japanese Version. Red has the graphics and whatnot from green, just with Red's wild data, while Blue has entirely new wild pokemon and gift pokemon data, as well as trades. Sure, it's a very nitpicky thing, but just having the Green Patch be redundant since it's just a slightly different version of Blue seems weird to me.

Yeah, it's weird. But I kept getting messages from people wanting a green version to go with their US red & blue. I guess some people just want a graphics swap of US blue for the novelty.

I'll probably add a compiler option for jp-red and jp-blue until I can find a solution for batch-making ips patches.

jojobear13 December 16th, 2020 1:40 AM

Quote:

Originally Posted by MoriyaFaith (Post 10244266)
Ah, okay. Anything else ported from Prism? That 60 fps it has is kinda cool, but I don't know if that can work in RB. makes the running shoes look nice rather than just being "feet bike." That's always been a pet peeve of mine.

I'm not sure how Prism implements it exactly, but I suspect certain updater functions have been rewritten to update sprites twice as often. Using this suspicion I've been able to replicate the running shoes visual effect by adjusting the player sprite inter-frame counter limit. Normally it's set to 4, which translates to the game displaying 4 frames of the "neutral" pose followed by 4 frames of the "stepping" pose. Your brain and the gameboy's TFT screen ends up blending it together into one smooth movement. Prism seems to play the walk animation at double-speed, so for Gen 1 games that's an inter-frame limit of 2 to be used only when in a state of running. To be honest, double-speed looks a little janky and makes me a bit queasy (the player sprite has a slight up & down bob). I set the limit to 3 so the animation gets a 50% speed increase; it looks more natural and is fairly subtle.

MoriyaFaith December 16th, 2020 6:09 PM

Yeah, that works. I just thought that the typical rom hack running shoes just look like they're gliding across the floor if anything.

jojobear13 December 25th, 2020 8:56 PM

Merry Christmas! Version 1.18 has been released. Here's the changelog:

Master & Lite branches
- Incredibly minor text edits in Green to match the japanese script
- Palette & sound edits in Green
- PP usage is now tracked for both wild and AI trainer pokemon
- There is a chance for the AI to switch a sleeping pokemon based on the sleep counter
--> chance is 0% if counter <= 3
--> chance is 12.5% if counter > 3
- Chances to switch have been reduced:
--> toxic poison - changed probability from 50% to 34%
--> super effective moves - probability weight reduced by 25%
--> only switch out from low HP if player outspeeds enemy (gives the enemy one last shot at dealing damage)
--> an enemy mon is flagged when sent out; non-volatile (except sleeping) status or low hp cannot initiate switching
--> enemy mon that is recalled back due to a super effective move is flagged; it is demerited from being switched-in
--> switch flags are all cleared when player sends out a new mon since the situation is now different
- Patch version now shows on main menu
- Fixed a scrolling text artifact in the credits when running in GBC-mode


Master branch only
- Fixed Mew appearing with glitched graphics
- Mew's encounter has been changed a bit
--> It's wild encounter rate has been reduced
--> You will get a message about a "tingling feeling" if mew is encounterable
--> You can only find it in the wild once
--> Mew won't appear again after encountering; a message says the tingling feeling goes away
- Beating the future red fight now also resets Mew's encounter
- Missingno now has its iconic "L-block" appearance
- When holding B to go faster, the player animation is sped-up by 50% to avoid the "ice skating" appearance


All times are GMT -8. The time now is 8:52 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.