Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2016-10-31 23:09:58

FroggestSpirit
Member
Registered: 2012-03-12
Post 285/300
Website

Pokemon Crystal 20xx Now with Nuzlocke!

I've been working on a hack of crystal that aims to modernize it, and I'm now ready to enter the beta testing phase.

Features:
-Modern EV/IV system
-Fairy type added (updated gen 1/2 pokemon and moves to reflect this)
-Type matchup updated to reflect gen 6+
-Pokemon's ID in base stats increased to 2 bytes
-Physical/Special Split
-Moves updated to gen 6 accuracy/power/pp
-Some moves have unchanged power or effects, like low kick and roar, however accuracy reflects 6 gen's
-Accuracy/Evasion checks should now be calculated like Gen 3 and onward.
-Stat stage modifiers now reflect gen 3+ too. (minor difference)
-Added music for shops, nugget bridge, cerulean city, and cinnabar island
-Extended the Kanto trainer theme
-Gen 6 base stats
-Natures!
-Pokemon now have a 1 in 4096 chance of being shiny (like gen 6)
-Stat screen shows what stats are modified by natures
-Icons show if a move is Physical, Special, or Status
-Run by holding B. This is faster than walking, but slower than biking. (thanks to VictoriaLacroix for their running code I borrowed and modified)
-Nuzlocke mode (changes a few songs too)

Planned Features:
-More outdoor palettes (one for each hour instead of 3 for the whole day)
-Lower case names
-Day/Night music differences
-EXP share and EXP gain working like gen 6

Bugs:
-Printing menus can freeze the game (printing options should be removed. Tell me if you find one)
-Unown might show up as the wrong letter in some stat screens (there's a possibility this can affect shiny pokemon too)


Notes on nuzlocke:
-It can only be selected at a new game
-You can only capture the first encounter on a route and location (goes by map location)
-There will be different battle music for the first encounter in each location (makes it easy to tell if you can catch something)
-Capture tracking starts when you get your first 5 pokeballs, and ends after defeating Red
-Shinies can always be captured
-If your party faints, your game is done.
-Pokemon are removed from your party at the end of battle if they faint
-nickname screens come up without asking, but you can still press start for a default name

https://github.com/froggestspirit/pokecrystal
Builds the same way as pokecrystal (as it was based off of it). Huge shoutout to the many that have worked on pokecrystal, and helped make this possible!

Please report any bugs

Last edited by FroggestSpirit (2016-11-07 20:04:54)


This isn't easy to say, but…
Music and ASM hacker

Offline

#2 2016-11-01 00:04:44

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 137/261

Re: Pokemon Crystal 20xx Now with Nuzlocke!

I'm impressed that you got so much done this quickly!

I'm getting an error when I try to build. I cloned it from github the exact same way you would in vanilla pokecrystal, but I'm getting the error:

IOError: [Errno 2] No such file or directory: 'text/natures.asm'

Offline

#3 2016-11-01 00:24:55

Rangi
Member
Registered: 2016-05-09
Post 277/870

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Cool project! You and I have some of the same goals. I'd love to test it, but I'm getting the same error as Mmmmmm: text/natures.asm wasn't committed to GitHub.

More outdoor palettes (one for each hour instead of 3 for the whole day)

This would be nice to have. The current transitions between morning-day-night are pretty jarring.


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#4 2016-11-01 03:46:57

Pum
Member
From: Spain
Registered: 2015-10-23
Post 60/80

Re: Pokemon Crystal 20xx Now with Nuzlocke!

How complicated would it be trying to port part of your hack (for example, IV/EV + Natures + Pkm ID size increase + Phys/Spe split) to Pokemon Gold?

Obviously if you give permission.

If its too much of a hassle I could port my own Gold project onto your Crystal hack using it as a base, again if you allow it.

Extraordinary work btw.

Last edited by Pum (2016-11-01 03:53:03)

Offline

#5 2016-11-01 14:24:30

FroggestSpirit
Member
Registered: 2012-03-12
Post 286/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Updated with the natures.asm
I guess it's good it didn't work at first, because there were a few horrible bugs that made the game unplayable that are now fixed.
I'm fine with people using code from this, or using it as a base, just make sure to credit me


This isn't easy to say, but…
Music and ASM hacker

Offline

#6 2016-11-01 14:33:56

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 138/261

Re: Pokemon Crystal 20xx Now with Nuzlocke!

It says the shop music is missing. I don't see files for Cerulean, Cinnabar, or Nugget Bridge either.

Last edited by Mmmmmm (2016-11-01 14:36:03)

Offline

#7 2016-11-01 20:39:28

FroggestSpirit
Member
Registered: 2012-03-12
Post 287/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Mmmmmm wrote:

It says the shop music is missing. I don't see files for Cerulean, Cinnabar, or Nugget Bridge either.

Sorry, I forgot those. It should be updated now. I need to learn git better lol


This isn't easy to say, but…
Music and ASM hacker

Offline

#8 2016-11-01 21:31:10

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 140/261

Re: Pokemon Crystal 20xx Now with Nuzlocke!

It builds now. I'm just curious, have you tested Pokémon beyond 255 yet to make sure the 2-byte indexes work properly and account for most things that use them? I of course expect bugs and not everything to be converted, but I'm just curious about basic things like movesets and evolution.

Offline

#9 2016-11-01 21:43:46

Rangi
Member
Registered: 2016-05-09
Post 279/870

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Great, it compiles now! I'm testing with BGB 1.5.2 and VBA 1.8.0 beta 3. Some comments:

• I like the extended Kanto trainer music. (Hacked it to play during the rival battle.)
• Nature distribution looks appropriately random. No bugs with caught Pokémon stats.
• After playing other hacks with Running Shoes, the slow default movement is frustrating.
• In-game indicators for physical/special moves, and which stats are raised/lowered by natures, would be convenient.
• Bug Catcher Don on Route 30 glitches and freezes the game. (This happened with the code as-is, no music hack or other edits.) Edit: Other Bug Catchers do the same thing.
Bird Keepers have a similar bug. Here's a full battle. (Youngsters Joey and Mikey, were okay; so was the rival.)
• NPC trades and Unown forms both work fine.
• engine/color.asm:CheckContestMon still assumes 4-bit DVs.
• The Fairy type is not available in the Pokédex search feature.

Last edited by Rangi (2016-11-01 22:08:59)


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#10 2016-11-01 23:58:35

FroggestSpirit
Member
Registered: 2012-03-12
Post 288/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Rangi wrote:

Great, it compiles now! I'm testing with BGB 1.5.2 and VBA 1.8.0 beta 3. Some comments:

• I like the extended Kanto trainer music. (Hacked it to play during the rival battle.)
• Nature distribution looks appropriately random. No bugs with caught Pokémon stats.
• After playing other hacks with Running Shoes, the slow default movement is frustrating.
• In-game indicators for physical/special moves, and which stats are raised/lowered by natures, would be convenient.
• Bug Catcher Don on Route 30 glitches and freezes the game. (This happened with the code as-is, no music hack or other edits.) Edit: Other Bug Catchers do the same thing.
Bird Keepers have a similar bug. Here's a full battle. (Youngsters Joey and Mikey, were okay; so was the rival.)
• NPC trades and Unown forms both work fine.
• engine/color.asm:CheckContestMon still assumes 4-bit DVs.
• The Fairy type is not available in the Pokédex search feature.

Thanks for the heads up, I'll have to fix some of those.
Physical special split icons are in the new update, alongside the nature modified stat indicators.
I'll probably add running shoes at some point.
The bug catcher and bird keeper glitch was due to OTClassName.
It's OTClassName ds NAME_LENGTH with a ds 2 below it. it should be OTClassName ds NAME_LENGTH+2 instead, because without the 2, the terminator gets overwritten for long class names

Also Mmmmmm, I didn't implement anything else for the 255+ pokemon yet, though the 2 byte ID's were just to make less work for later on

Edit: Rangi, is there a running shoes code I could use? I'll give credit

Last edited by FroggestSpirit (2016-11-02 00:45:06)


This isn't easy to say, but…
Music and ASM hacker

Offline

#11 2016-11-02 00:49:34

Rangi
Member
Registered: 2016-05-09
Post 281/870

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Thanks, now I can progress.

• Unown deposited in the PC sometimes have incorrect letters. Try viewing a party Pokémon and then scrolling through a box.
• The Nature arrows are incorrect. Probably mixed up the orders Atk/Def/Spd/SAtk/SDef and Atk/Def/SAtk/SDef/Spd somewhere.
• "Prnt" in the Pokédex freezes the game. So does "Print" in the PC's "Change Box" list. Other places you can print things: viewing Mail, the Unown Dex printer, and Cianwood's photographer. You might as well remove the whole printing subsystem, to make space. Same goes for Mystery Gift (and the girl in Goldenrod that enables it).
• Mud-Slap can hit Pidgey, although Dig (conjured by Metronome) cannot. Probably because Physical/Special shares a byte with Type, and Special is nonzero.

I used VictoriaLacroix's Running Shoes code. It makes the Bicycle redundant, so I'd like to make the Bicycle work at 4x speed, but making the obvious changes to engine/map_objects.asm:StepVectors makes you walk through some objects.

Edit: Feature suggestions:

• Make sure Crystal's extant glitches are fixed. Comments in the code already explain what's needed to fix some of them, like the Apricorn Balls. (One that's not listed on Bulbapedia is that Magikarp in the Lake of Rage are smaller, not larger, than average.)
• Since your data structure changes break trading with official GSC, make all 251 Pokémon available (so change the trade evolution methods).
• Have CaughtData store the level in 7 bits so it won't overflow above 63.
• Restore the PokéCom Center and the GS Ball event.
• Add the Pewter Museum and Viridian Forest from RBY. (I don't know if you want any original maps, but copying their layouts completely seems justifiable.)
The Cutting Room Floor documents unused/removed/censored content that might be worth restoring.
• Infinite-use TMs.
• Automatically reuse Repel.
• Gain experience from catching Pokémon.
• New-style Exp. Share.
• Eggs hatch at level 1. (Requires fixing the experience underflow glitch.)
• No more Poison damage when walking (or at least heal it at 1 HP).
• Update the various GSC battle mechanics to the latest gens.
• Add a type-enhancing item for Fairy. (Pink Bow and Polkadot Bow are redundant.)
• Add the items that can only be gotten via trade or Mystery Gift, like TwistedSpoon and Light Ball.
• Grunts use the Team Rocket battle music, but Executives don't.
• Update standard phrases like stat-modification and weather text.
• HG/SS made various tweaks, like changing the weekday siblings' items, the effects of having each badge, how the Fast Ball works, etc. Maybe borrow whichever ones make sense. (I like that the Zephyr Badge lets Pokémon up to level 20 obey, since you can trade for an Onix in Violet.)

Basically some nice-to-have things from new generations. You may not want to add all/any of them, of course.

Edit 2: By the way, I saw that you're uploading new music to SoundCloud. Would you mind publicizing the source code like with your earlier CrystalComplete tracks, at least for the Sinnoh Champion and Unova Trainer themes? I'd like to use those two tracks in Polished Crystal (credited, of course). It's fine if you don't want to, just thought I'd ask.

Last edited by Rangi (2016-11-02 01:49:08)


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#12 2016-11-02 12:38:17

FroggestSpirit
Member
Registered: 2012-03-12
Post 289/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Rangi wrote:

Thanks, now I can progress.

• Unown deposited in the PC sometimes have incorrect letters. Try viewing a party Pokémon and then scrolling through a box.
• The Nature arrows are incorrect. Probably mixed up the orders Atk/Def/Spd/SAtk/SDef and Atk/Def/SAtk/SDef/Spd somewhere.
• "Prnt" in the Pokédex freezes the game. So does "Print" in the PC's "Change Box" list. Other places you can print things: viewing Mail, the Unown Dex printer, and Cianwood's photographer. You might as well remove the whole printing subsystem, to make space. Same goes for Mystery Gift (and the girl in Goldenrod that enables it).
• Mud-Slap can hit Pidgey, although Dig (conjured by Metronome) cannot. Probably because Physical/Special shares a byte with Type, and Special is nonzero.

I used VictoriaLacroix's Running Shoes code. It makes the Bicycle redundant, so I'd like to make the Bicycle work at 4x speed, but making the obvious changes to engine/map_objects.asm:StepVectors makes you walk through some objects.

Edit: Feature suggestions:

• Make sure Crystal's extant glitches are fixed. Comments in the code already explain what's needed to fix some of them, like the Apricorn Balls. (One that's not listed on Bulbapedia is that Magikarp in the Lake of Rage are smaller, not larger, than average.)
• Since your data structure changes break trading with official GSC, make all 251 Pokémon available (so change the trade evolution methods).
• Have CaughtData store the level in 7 bits so it won't overflow above 63.
• Restore the PokéCom Center and the GS Ball event.
• Add the Pewter Museum and Viridian Forest from RBY. (I don't know if you want any original maps, but copying their layouts completely seems justifiable.)
The Cutting Room Floor documents unused/removed/censored content that might be worth restoring.
• Infinite-use TMs.
• Automatically reuse Repel.
• Gain experience from catching Pokémon.
• New-style Exp. Share.
• Eggs hatch at level 1. (Requires fixing the experience underflow glitch.)
• No more Poison damage when walking (or at least heal it at 1 HP).
• Update the various GSC battle mechanics to the latest gens.
• Add a type-enhancing item for Fairy. (Pink Bow and Polkadot Bow are redundant.)
• Add the items that can only be gotten via trade or Mystery Gift, like TwistedSpoon and Light Ball.
• Grunts use the Team Rocket battle music, but Executives don't.
• Update standard phrases like stat-modification and weather text.
• HG/SS made various tweaks, like changing the weekday siblings' items, the effects of having each badge, how the Fast Ball works, etc. Maybe borrow whichever ones make sense. (I like that the Zephyr Badge lets Pokémon up to level 20 obey, since you can trade for an Onix in Violet.)

Basically some nice-to-have things from new generations. You may not want to add all/any of them, of course.

Edit 2: By the way, I saw that you're uploading new music to SoundCloud. Would you mind publicizing the source code like with your earlier CrystalComplete tracks, at least for the Sinnoh Champion and Unova Trainer themes? I'd like to use those two tracks in Polished Crystal (credited, of course). It's fine if you don't want to, just thought I'd ask.

I'll take a look at some of that stuff. A lot of the features you suggested are ones I want to implement at some point. I'll try and get another update out to fix some bugs and add running shoes, after that I might take a break unless there's some major game breaking bugs. As for the music, I'll put up the unova one, but for most of the sinnoh ones, I want to wait and release them all as a pack when I finish the soundtrack
http://pastebin.com/7Hz9jRHq


This isn't easy to say, but…
Music and ASM hacker

Offline

#13 2016-11-02 20:41:12

Pum
Member
From: Spain
Registered: 2015-10-23
Post 61/80

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Do you think you can also expand the amount of moves avaliable to 512?

Offline

#14 2016-11-03 01:04:38

Rangi
Member
Registered: 2016-05-09
Post 282/870

Re: Pokemon Crystal 20xx Now with Nuzlocke!

FroggestSpirit wrote:

I'll take a look at some of that stuff. A lot of the features you suggested are ones I want to implement at some point. I'll try and get another update out to fix some bugs and add running shoes, after that I might take a break unless there's some major game breaking bugs. As for the music, I'll put up the unova one, but for most of the sinnoh ones, I want to wait and release them all as a pack when I finish the soundtrack
http://pastebin.com/7Hz9jRHq

Thanks a lot! Any idea when the Sinnoh soundtrack will be complete (like, in the next few months, or in 2018)?

One change that HG/SS made was adding a couple gatehouses: between Violet City and Route 36, and between Viridian City and Route 1. Adding them in Gen 2 disconnects those areas so they don't have to share outdoor sprites (as defined in engine/overworld.asm), so if you want to add more NPCs, that might help.

Last edited by Rangi (2016-11-03 01:05:01)


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#15 2016-11-06 19:17:34

FroggestSpirit
Member
Registered: 2012-03-12
Post 290/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

I'm going to be adding a nuzlocke mode soon, it's actually almost done.
@Rangi might find a file in this update too lol


This isn't easy to say, but…
Music and ASM hacker

Offline

#16 2016-11-07 23:01:51

Kerssy
New member
Registered: 2013-03-23
Post 8/8
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

I think I'm gonna need some form of tutorial or guide on how to use GitHub? I see a lot of stuff about it but IDK how it works. Could someone help me out here?


Who saves the weak from the man who saves the weak?

Offline

#17 2016-11-08 00:52:11

Rangi
Member
Registered: 2016-05-09
Post 300/870

Re: Pokemon Crystal 20xx Now with Nuzlocke!

FroggestSpirit wrote:

I'm going to be adding a nuzlocke mode soon, it's actually almost done.
@Rangi might find a file in this update too lol

> 145_ChampionBattle.asm

Thanks a lot, that's just what I needed! ^_^

Cool Nuzlocke mode update. Having separate music in it is a neat idea; the different battle music for catchable Pokémon is quite helpful. The dupes clause, or at least the shiny clause, would be nice. Or if you want to make it even harder (on top of deleting the save file when you lose...), treat gift Pokémon as encounters for their location. Or auto-save after battles where a Pokémon faints.

I love that the pokered and pokecrystal projects are turning Pokémon fan games from ROM hacking into actual assembly development. They'd be a great way to teach kids how to program (like how the abandoned 0x10c's DCPU-16 could have), if not for the copyright issues. Of course, self-teaching is an option too. There are now two pokecrystal projects with Nuzlocke mode, and two with abilities... wonder what there will be a year from now.

If I can nitpick your code a little: wCaughtMonLocation uses a byte per location, not a bit. You have plenty of free space so that's not really a problem, but it could use NUM_LANDMARKS instead of a hard-coded 97. Also, "and a" is the usual idiom in the code for testing true/false, but you tend to use "cp 0".

Bug reports: the first Pokémon I ran into on Route 30 was a Pidgey with its shiny palette. I was fast-forwarding so I didn't notice if there was a shiny animation or not, but either way, it was not shiny after I caught it.

Kerssy wrote:

I think I'm gonna need some form of tutorial or guide on how to use GitHub? I see a lot of stuff about it but IDK how it works. Could someone help me out here?

help.github.com has some good tutorials. If all you want to to is download and build someone else's project, here's what you do. Get a graphical Git client like GitHub Desktop or TortoiseGit, copy the project URL from GitHub's green "Clone or download" button, and look up how to clone it with your chosen client. You'll end up with a local copy of all the files. If you want to start your own project, this looks like a simple intro.

Last edited by Rangi (2016-11-08 00:55:59)


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#18 2016-11-08 04:08:51

FroggestSpirit
Member
Registered: 2012-03-12
Post 292/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

@Rangi, do you think you can send me your save file with the pidgey? The shiny clause is in, so that shinies can always be caught (the music wont be the sinnoh one if it's not the first pokemon).
Also, I'd advise updating in a few minutes, I found a game-breaking bug
Edit: bug should be fixed. It would cause the game to crash when music played a new song at some times.
Also replaced the cp 0's with and a

Last edited by FroggestSpirit (2016-11-08 04:37:00)


This isn't easy to say, but…
Music and ASM hacker

Offline

#19 2016-11-08 04:59:29

Rangi
Member
Registered: 2016-05-09
Post 301/870

Re: Pokemon Crystal 20xx Now with Nuzlocke!

FroggestSpirit wrote:

@Rangi, do you think you can send me your save file with the pidgey? The shiny clause is in, so that shinies can always be caught (the music wont be the sinnoh one if it's not the first pokemon).
Also, I'd advise updating in a few minutes, I found a game-breaking bug
Edit: bug should be fixed. It would cause the game to crash when music played a new song at some times.
Also replaced the cp 0's with and a

pokecrystal.sav: save file from after I caught the Pidgey
pokecrystal.sgm: VBA 1.8.0b3 save state during the encounter


Pokémon Polished Crystal (GitHub) — version 2.2.0 released
Pokémon Red★ and Blue★: Space World Edition (GitHub) — updated August 19!
Polished Map: pokered+pokecrystal map, tileset, and palette editor — version 3.5.1 released!

Offline

#20 2016-11-08 19:05:40

FroggestSpirit
Member
Registered: 2012-03-12
Post 293/300
Website

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Rangi wrote:
FroggestSpirit wrote:

@Rangi, do you think you can send me your save file with the pidgey? The shiny clause is in, so that shinies can always be caught (the music wont be the sinnoh one if it's not the first pokemon).
Also, I'd advise updating in a few minutes, I found a game-breaking bug
Edit: bug should be fixed. It would cause the game to crash when music played a new song at some times.
Also replaced the cp 0's with and a

pokecrystal.sav: save file from after I caught the Pidgey
pokecrystal.sgm: VBA 1.8.0b3 save state during the encounter

AH! thank you! I think the error was that when I disabled trainers having shinies, I accidently made it so ONLY wild battles could have them (meaning overworlds can't too). Fix will be up breifly
EDIT: @Rangi, the save you provided wont make that pidgey shiny with this update, I slightly changed the requirements in IV bytes, so I could easily isolate npc trainers to not having shinies. Basically, the first 3 significant bits of every IV has to be 1 except HP is now first 2, and the first bit has to be 0. So to make a valid shiny, it's:
IV's || %00110001 11001110 01110011 10011100
then
IV's & %01111111 11111111 11111111 11111111

Last edited by FroggestSpirit (2016-11-08 19:36:25)


This isn't easy to say, but…
Music and ASM hacker

Offline

#21 2017-01-03 09:18:27

lakeofdance
Member
Registered: 2016-09-14
Post 6/10

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Do you have any plans to include moves that were added after Gen 2?

Offline

#22 2018-09-14 21:49:59

J92R
Member
Registered: 2018-09-07
Post 10/15

Re: Pokemon Crystal 20xx Now with Nuzlocke!

Here's a patch (XDelta format) that I made, courtesy of Froggest giving me the actual rom.

https://www59.zippyshare.com/v/usYz9nsX/file.html

Enjoy

Offline

Board footer

Powered by FluxBB