Pokémblem - [Complete] v1.14

I have no current plans of this.

I’m sure you’re aware, but this hack has very little complete so far. I haven’t released a demo yet, and the goal for the initial demo is the basic gameplay up to defeating Brock.

1 Like

You could check out SMS_FlushDirect at 0x08026F2C. I’m pretty sure this routine is used during chapters to update the standing map sprites. If you change a few cmps and branches you can simulate the speed at which the pokemon sprites switch between frames in the pokemon GBA games.

EDIT: So I couldn’t find the palette files at the bottom of the buildfile so the colours are off, but this is what I managed to get:

8 clockcycles for the first frame and 7 for the second. I Based the timing on what I would get in my pokémon emerald ROM.

It’s just three to five line changes in the vanilla code. No need to even hook into freespace. I’ll work out what could be added to the buildfile to get this working in a moment.

EDIT2:

PUSH

ORG 0x26F32
  SHORT 0x210F
  
ORG 0x26F4E
  SHORT 0xE005
  
ORG 0x26F5C
  SHORT 0x2C08
  
ORG 0x26F6E
  SHORT 0xE005

POP

If you add this to the buildfile the SMS timing should be like the PokeGBA games.

What I’ve done is skip the checks for SMS_frame2 as frame2 is the same as frame1. I also made it modulo #0xF instead of #0x48 from the clockcycle and made the frame3 check succeed if the result is #0x8. Thus for clockcycles 0 through 7 (8 clockcycles) frame1 is displayed. For cycles 8 through 14 (7 clockcycles) frame3 is displayed.

Now I believe the world map uses a different method of updating the SMS, so you may need to do some more digging if you want the world map to display this behaviour as well.

3 Likes

Woah, thanks! I would have never figured that out on my own. My Pokemon just got a lot more energetic!

This next event took me way longer than it should’ve. It randomizes the coords of units in range. It even checks to make sure there isn’t a unit already there.
V4OuPqx9S3

I set it to repeat a few times as an example. This should happen off-screen so you don’t see them chilling in the corner momentarily.

“Trainers” have set positions, but I’ll randomize mons in the grass, I think. For non-square grass I can use the Valni routine instead.

3 Likes

Wtf you can see the pokemon in the grass??? This is some wizard bullshit right here.

3 Likes

Pokemon Sword and Shield would like to have a word with you.

Random placement event is now better optimized and forces units to be on grass. It does this by re-rolling coordinates until one is valid.

This seems to generally take around 4 seconds to randomly place 25 units on a pretty large map.

3vNCLeKPnB

That’s rather laggy, I feel. Ah well, at least it works.

Edit:
Finally figured out how to change which unit is which.

xRT213LI0C

This event iterates through each unit to find a free ID. Here, Seth becomes Tethys (ID 15), and then Eirika becomes Seth (ID 2).
image

This was necessary for the capturing of Pokemon.

2 Likes

This is really neat. However, the number of battle animations required is going to be mind boggling.

Edit: although a vague pink blob animation would go a long way.

Sadly, I have no current plans for any battle animations. I ran a poll (link) to gauge how important animations are. Only 13% said they’d never play a hack without animations, however 73% considered animations important to a varying extent.

Animations are popular, but creating unique ones for every type & pokemon is not something I’d ever be able to complete alone.

Edit:
Opening sequence gif.
5xEniZZeWX

Hah! I’ll take these ones, then!

7 Likes

cant believe gary was the demon king this whole time
wait yes i can, he’s a dickwad

1 Like

4 Likes

1:

Entering new areas - dialogue & then you’re there once units are loaded.

Transitioning areas

qMRFDV03bH

It took a lot of work to figure out randomizing units’ locations & how to minimize loading time: originally, it took about 5x longer!

Units look pretty funny on the unit placer.


No, they aren’t actually in the trees. :sweat_smile:

2:

Only way to save is at a Pokecenter / your home. It’s also the only way to manage your party.

Saving

J6LWvlS5uB

Of course, suspends work as usual. But ‘restart chapter’ goes back to when you last saved, of course.

3:

Animation for pokemon being sent out:

(Light rune + emotion bubble + loading a unit underneath)

iOsCdGvv5L

I simply put a coordinate in sB and call the event, now that I’ve got it setup.

4:

Between chapters gif

0lAfrrt9YD

I think this looks pretty cool! Not my art, of course, but I had to conjoin the edges together. Shoutouts to @Alusq for helping me out last time (link) when I was trying to do basically the same thing.

Surprisingly, everything is coming together nicely. The main thing left to do for the demo is polishing the combat.

Speaking of which. I do have type advantage, but I’m not sure I’m quite ready for Brock.
mGBA_8hXMf2sblV

8 Likes

Mustard Sandshrew time.

I love how this is progressing, and I don’t even like Pokemon that much. It wasn’t part of my childhood.

2 Likes

UrAwccUBh4

9 Likes

3 Likes

Never thought I would see those two games combined.

Demo’s out. Please report bugs. Cheers.

Sept 15 Edit:
(Minor fixes)

  • Fast travel signs now auto refresh and allow multiple units to use signs in succession. Camera bug in Route 2 is fixed.
  • Same-type ineffective weapons were giving strange boosts against each other when they were supposed to both be ineffective (such as Poison Sting vs Poison Sting). This has been made neutral for now as a temporary fix.
  • Wild Pidgeys now always have Peck or Tackle, and Gust is now instead obtainable in Viridian City Mart.
  • Gastly now has a more interesting AI in Viridian Forest.
  • Capture now correctly clears enemies when you don’t have enough cash. And it now properly imposes the fegba limit on number of pokemon you can have in your party.
    To do: give players a way to release pkmn… eventually.

There were surprisingly few bugs reported for the initial demo, but many useful suggestions. Thanks everyone!

1 Like

This is really pretty damn cool! The crossover many people wanted is actually happening!

You wouldn’t mind if i featured this in my r/fe plays fanprojects Thread or sharing this Thread around, would you?

also a small report

A Small suggestion: a small 5-10 hit increase in weapons wouldn’t be half bad^^

Edit: Type immunity is not yet implemented yet, right? Because i was able to defeat a Ghastly with a tackle

1 Like

I’d love to be featured, thanks!

This is actually intentional. Supposed to look derelict. Not convincing, eh?

I’m not opposed to this. I’d just give your starter a couple more leadership stars as a temporary balance change.

Correct. I am using Tequila’s effectiveness rework which allows for weapons to have different effectiveness against different enemies. Eg. 3x mt against one and 2x mt against others. But I have not figured the asm to add a 0x mt. I’d also like to create a hit bonus for effective weapons (eg. Ember against Bulbasaur gets +30 accuracy). And I’d like to use Gamma/Snek’s GaidenMagic once it’s integrated with SkillSys, as well as make use of the occasional skill.

Basically, combat is still an early draft and I intend to make significant changes to it if I can learn some asm. Until then, I am stuck just using whatever mechanics others have used before.

I will try to have it’s thread some time after FEE3 (as everything is planned until then)

I see. How about giving them weapon triangle disadvantage for now?