News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Mega Man X3 - Zero Project (V4.4 & Source Code Released)  (Read 487493 times)

justin3009

  • Hero Member
  • *****
  • Posts: 1658
  • Welp
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #700 on: April 10, 2017, 07:28:57 pm »


Different text box look, still MMZ font.  I'm looking around for fonts still as MMX4+ use a MUCH larger font size so it'd be a bit.. awkward.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Zero Dozer

  • Full Member
  • ***
  • Posts: 179
  • Wow, I've used that Eminem quote for a long time.
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #701 on: April 12, 2017, 10:05:27 am »
God damn it, this new text box from MMZ is looking great. I wouldn't care for the font size (considering SNES is STILL low-res) or the font, MMZ font is already way better-looking than the original font.

justin3009

  • Hero Member
  • *****
  • Posts: 1658
  • Welp
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #702 on: April 19, 2017, 08:15:58 am »


All current five text box types:

1. Dialogue box with portrait on left.
2. Dialogue box with portrait on right.
3. Dialogue box with no portrait.
4. HDMA only (Introduction text/credits)
5. Small dialogue box ala MMZ style.

By changing the text box type to 80+, it puts the dialogue boxes on the bottom without any issues.

New font as well.  I've got the introduction text working now thankfully.  That cuts out one of the big issues right there.  Just have to get the GET WEAPON screen, end credits and the scrolling dialogue at the end and this VWF bit should be good to go!
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

slidelljohn

  • Sr. Member
  • ****
  • Posts: 343
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #703 on: April 19, 2017, 06:21:34 pm »
Nice work Justin!

Have you thought about using sprites to make the
border for the text box? There should be enough
unused sprites to make the border so you can get
4bit colors instead of 2bit.

Another thing to consider doing is a transparent
window. Not sure if you ever played with color math
but it is fairly easy to use.


justin3009

  • Hero Member
  • *****
  • Posts: 1658
  • Welp
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #704 on: April 20, 2017, 12:12:51 pm »
I've thought about it, but I figured this is the easiest method honestly.  It still uses Layer 3 like it should without having to use another palette slot anywhere.  Plus a good chunk of VRAM is going to be used for the incoming portraits so the less I use, the better.

Transparency couldn't hurt but it might get pretty awkward since the 'black' on the actual box look itself is right from the HDMA.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

andrewclunn

  • Sr. Member
  • ****
  • Posts: 286
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #705 on: April 20, 2017, 04:32:56 pm »
Are you going to modify the text to best fit the text boxes now with the VWF?  I mean in so far as new lines aren't needed nearly as frequently.

pianohombre

  • Sr. Member
  • ****
  • Posts: 334
    • View Profile
    • My personal website of short stories and comics
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #706 on: April 25, 2017, 12:57:16 am »
Awesome, justin. Keep up the good work.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

ToHell

  • Jr. Member
  • **
  • Posts: 32
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #707 on: April 28, 2017, 05:52:57 am »


Forgive me if this has come up elsewhere, but for me, beating the game with Zero in his normal red armor produces this result for the ending cutscene and persists in the credits as Zero and X are running through the city.  Beating the game with Black Zero or as X does not have this effect.  I noticed this in the 3.0 version as well, though I *don't* recall it being present in previous versions to that.

I noticed too that after beating Sigma and climbing the wall to escape the lava, the red in Zero's "Z" on his life bar changes from red to blue as soon as the game takes control of Zero's movement for the final part of the "escape" cutscene.  I can't help but wonder if these  two things are connected somehow.  Some sort of palette swap bug perhaps?


justin: have you changes this bug?

Ness

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #708 on: May 15, 2017, 04:31:18 am »
This "bug" reminds me of classic MM games on NES. In MM5 for instance, everytime there is a cutscene, there is a seperate code used to switch palette, just in case the player was using another weapon (and therefore, another palette) and to make sure cutscenes use the default palette. Also because, sometimes, other objects use that palette too in the cutscene.
In those cases in MM5, every single time it would be a different palette. What I mean is, the same colours, but the palette wouldn't be the same one everytime, for cutscenes they'd make and use a seperate table and not use the palettes made for objects in game.

Anyway - I've been playing this hack and it's great. What's great is that it makees the game better even if you don't play as Zero by fixing the delay in the charge shots, and fixing some of the cryptic progression stuff the game has, offering more freedom and unlinearility in how to approach the stages at the same time.

The only things that bother me are things you really can't do anything about, which are faults of the original game. For one thing, Zero's size, he's so big his scale looks off, especially in cutscenes, and it's a burden both because it creates sprite flicker which is non existant with X, and in sections like with the falling ceiling spike in the Doppler Stage (the few extra pixels make that part more unfair than it should be, but then again I guess I could just switch back to X).

justin3009

  • Hero Member
  • *****
  • Posts: 1658
  • Welp
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #709 on: May 15, 2017, 03:57:49 pm »
It creates sprite flicker?  I've honestly never encountered that whatsoever in the game using Zero.  That's news to me.  Though, the ceiling spike thing is a good catch.  I forgot his height would make it a bit.. weird.  I might have to have separate coordinates on that or something for him if I get around to it.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Ness

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #710 on: May 16, 2017, 05:22:55 am »
The sprite flicker is minor and very rare, but because Zero is bigger and has more sprites, it's most likely to happen with him.

Here is an example, here flicker would only occur as X if you happen to be jumping while the red enemy stretches its arms, but as Zero it flickers even if you don't do anything.

https://www.youtube.com/watch?v=UbC1jrHYBek

As for the spike ceiling, when I think about it, I think it's fine. For one thing, it forced me to approach that area differently, and like I said I could have switched to X anyway.

Plus I think it's good that each character has some differences, pros&cons. I disagree with the person who said Zero should have the upward airdash, or with the people who say the game is harder as Zero. I think that when you get the hang of the Z-saber, he's much more effective than X, and therefore it's good that he has cons as well, which would be his bigger size and the absence of upward airdash.

BTW I have a small request if possible. In previous MMX games, when switching numbers on the PW screen, it's possible to go both ways (increasing or decreasing the numbers), but AFAIK in X3 it's only possible to increase the numbers. Would be nice if you could implement the decreasing as well when pressing another button, though if it's trouble to code, it's probably not worth the effort.

Also - I see nothing about Bit and Byte in the readme file, did you change the way they work? When I died against them, they no longer were present in the stage, and had to fetch them in another stage, which never happened to me in the original.
I think it's good like this, but since I see no mention of it, I'm just wondering.

pianohombre

  • Sr. Member
  • ****
  • Posts: 334
    • View Profile
    • My personal website of short stories and comics
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #711 on: May 16, 2017, 08:06:53 pm »
BTW I have a small request if possible. In previous MMX games, when switching numbers on the PW screen, it's possible to go both ways (increasing or decreasing the numbers), but AFAIK in X3 it's only possible to increase the numbers. Would be nice if you could implement the decreasing as well when pressing another button, though if it's trouble to code, it's probably not worth the effort.

I noticed this too when playing an MMX3 rom hack. I thought somehow this was a bug from rom hacking, but it happens in the original also. Damn Capcom!!!!
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

andrewclunn

  • Sr. Member
  • ****
  • Posts: 286
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #712 on: May 18, 2017, 01:42:46 pm »
Gosh, seriously?  With an emulator the notion of passwords seems so quaint.  I mean might as well get rid of it entirely for the space.  A single save file would be so much better (not that this is expected).

justin3009

  • Hero Member
  • *****
  • Posts: 1658
  • Welp
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #713 on: May 18, 2017, 02:54:27 pm »
That's actually kind of why I haven't touched the password system.  I want to re-add the Saved Game system I did way, WAY back but more up to date and such.  The password system won't work in the long run if I continue the project any further so it'd definitely need to be removed.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Ness

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #714 on: May 18, 2017, 04:03:55 pm »
Gosh, seriously?  With an emulator the notion of passwords seems so quaint.  I mean might as well get rid of it entirely for the space.  A single save file would be so much better (not that this is expected).

Not everyone uses savestates, and actually not everyone uses emulators to play romhacks (it's always a disappointment when a homebrew or a hack doesn't work on real hardware).
Compared to PWs, savestates save the number of lives you have as well as the state of reseve tanks, so even if you use it only to save your progress, it's still a cheat, and even if the game did have a save system, it's not granted it would save those things (it doesn't in X4).

Passwords also have the advantage of working easily on real hardware, whether you use a flashcart or make your own carts.

pianohombre

  • Sr. Member
  • ****
  • Posts: 334
    • View Profile
    • My personal website of short stories and comics
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #715 on: May 20, 2017, 06:50:35 am »
That's actually kind of why I haven't touched the password system.  I want to re-add the Saved Game system I did way, WAY back but more up to date and such.  The password system won't work in the long run if I continue the project any further so it'd definitely need to be removed.

Megaman & Bass has a continue feature rather than the password system. I'm surprised they created X at all using the password system since even Megaman Wily Wars used saved game system, although it was released once the Sony Playstation was out and Megaman was notoriously slow at advancing, and didn't create a 3D game for a long time. Also Wily Wars didn't use SRAM; it used EEPRAM which is less supported and wasn't even released in the USA.

If you create a save system I'd look towards Megaman & Bass for ideas. The idea actually crossed my mind, but it looks pretty complicated; I don't have the programming skills as of yet. Although, I had no problem just pressing F2 for saving. I didn't really understand how energy tanks or reserve tanks worked during first playthrough so it wasn' t really cheating. I grew up playing Zelda and Mario those games were a lot easier to navigate through.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

Ness

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #716 on: May 20, 2017, 07:15:17 am »
There is something else that bothers me in X3 so I'll shoot: bosses and mini bosses explosions. They're too long an unsatisfying, and I think the main issue to that is that there is a huge delay before the explosion even starts.

Also it looks like for mini bosses, the last shot that registers before the explosion just goes through the mini boss, doesn't disappear, as if the hit didn't register.

What do you think about fixing that and making the delay before the explosion kicks off shorter?

Vanya

  • Hero Member
  • *****
  • Posts: 1885
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #717 on: May 20, 2017, 10:06:38 am »
Megaman & Bass has a continue feature rather than the password system. I'm surprised they created X at all using the password system since even Megaman Wily Wars used saved game system, although it was released once the Sony Playstation was out and Megaman was notoriously slow at advancing, and didn't create a 3D game for a long time. Also Wily Wars didn't use SRAM; it used EEPRAM which is less supported and wasn't even released in the USA.

You do realize that Wily Wars came out over a year after Mega Man X?


At any rate, the inclusion of a save system would be great. Passwords are a hassle in comparison.
@Ness: I don't think anyone was suggesting using savestates exclusively; just gutting passwords for SRAM.
« Last Edit: May 20, 2017, 10:13:37 am by Vanya »

ThegreatBen

  • Hero Member
  • *****
  • Posts: 775
    • View Profile
Re: Mega Man X3 - Fully Playable Zero (Base Mod FINISHED)
« Reply #718 on: May 20, 2017, 10:30:24 am »
The password system is easy to use, press F1 to copy the password press F3 to enter it automatically, it works even in the middle of boss fights.

justin3009

  • Hero Member
  • *****
  • Posts: 1658
  • Welp
    • View Profile
Re: Mega Man X3 - Zero Project (V4.0)
« Reply #719 on: July 23, 2017, 03:37:04 pm »
Alright, going to throw another update on this project and I'm sure I'll get some laughs and groans again. The name is still a WIP as it's no longer just a "Zero Project" but rather a general update of everything. Maybe just an enhanced version of the original? Don't know, it's not exactly a huge game changing thing, but it doesn't really make it a huge overhaul either. It's just sort of an upgrade in some areas.

I've started the project ENTIRELY over again from ground up which some might find ridiculous and redundant, but oh well, this is for the best of the project and for MANY other features I have in mind in the future! Onto the topic at hand.

Why start this over again? Wasn't the original already good enough?
Mainly because I felt I could do better and that my original versions were hackney in many ways. So this version is going to be a large underneath the hood improvement but also a spectacular update for later features in the game.

The code is starting to be completely rewritten ground up, MANY of the original code locations I used have been shifted by a bit due to a better understanding of what the changes I made were and where they were located at. This helps not only to ensure things are more smoothly implemented, but makes it easier to use global routines instead of very specific ones per location.  A good example is the character's icon code. In the original, I had MULTIPLE routines to load a characters icon when switching a character, jumping out of the ride armor, starting a level, etc.. This has now been remedied so there is a universal routine each location can use which saves a TON of room and coding issues. I just have to change one thing, and all subsequent areas that use this code change as well. Easy peasy!

The next large difference comes on my own personal end. I'm writing the code I do in Geiger's still to an extent but I am slowly transitioning into using Asar to import the code instead. I tend to write out in Geiger's first to get a good idea of where I want things placed, but after I port the code over to Notepad++ as .ASM files which then Asar imports. Of course, I'll probably shift entirely to Notepad++ to write my code out but as of right now, this works wonders. Everything I am writing is now split into specific files to note what they are and it makes it easier to just generally import the code if I ever need to change something dramatic. This has saved me a ludicrous amount of time already so I'm quite happy with what's going on so far.


What's so different about this version than your other ones, what're you planning?
Oh there's going to be a plethora of changes but here's a good general list.

1.  Many of the code changes I have done now leave gaps in-between for "just in case" scenarios where I may need to expand upon or add new things to the new code. Of course, this can be altered easily in the .ASM files.

2.  Most of my code is not only being split between X and Zero, but rather a group of 'four' characters. X, Zero, PC #3, and PC #4. Of course, I really don't plan on adding any new characters but this could be exceptionally useful for anyone who wants to modify this project and add someone. Heck, maybe even just copy/paste X or Zero and give them a new armor but use them as a 'new character'. There's enough gaps in the code to allow for specific checks and updates so this shouldn't be too big of a problem now.

3.  Text has been split up and updated heavily underneath so it's no longer hard-set to a very specific bank by the game, but rather, it's a bank setup PER CHARACTER. The text is now using banks 40-46, but each character gets 2 banks of data for text. Of course, this is way more than needed but it doesn't hurt to have more. I'm also planning to implement a dictionary compression system to further compress the text down in case things gets very text heavy.
4.  Mentioned above where characters are split between four, I'm splitting ALL general character data into their own new locations. With this, all original locations are unused and obsolete.
X: 7E:F300
Zero: 7E:F330
PC #3: 7E:F360
PC #4: 7E:F390

5.  Each PC will have their own setup for Energy Tanks, weapon health, PC swap health, max health, Heart Tank collection, Energy Tank collection, Armors (Up to four armors are possible in total RAM wise now! Not yet put into game yet though), whether the character is available or not, which armors you have that are completed, and 16 bytes of unused data for more "just in case" scenarios.

6.  Password system will be removed in favor of the 'Save Game/Load Game' system. There is absolutely no way around this right now, even with with only the basics.

7.  An option for difficulty. The game's standard is 'Normal' but I plan to add a "Hard Mode" at least before I go any further on that.

8.  With the said above "Hard Mode", all enemy damage tables will be completely redone. Each enemy will now have their OWN table instead of sharing data which will end up being a large ROM space waster, but it's kind of necessary unfortunately. All enemies will have at least 2 damage tables now for the regular mode and Hard Mode where they will take less damage overall, or more, depending on what a person wants to do.

etc..


What's been done so far?
Well, not a whole lot per se, nothing I can really show off since it's all just game code and nothing visual quite yet but a good basis has already been done.

1.  X, Zero, PC #3, and PC #4 now all have their own banks of text. I have Atlas ready to import for them as well so easy changing.

2.  Zero's basic setup is ready. He can collect everything as of right now and use everything, but of course there's no limiter yet nor any changes to what he's able to use so far. Just a good basic layout.

3.  No more character switch limiting like the original X3 and all mid-boss checks for Zero have been removed from each level.

4.  The basis location for each characters RAM is ready. The only working thing right now though is their max health, character swap health and how many Heart Tanks obtained. This INCLUDES the difficulty bit being set to 'Hard' where it gets split.

5.  Heart Tanks no longer have a life cap like the original game or even the original project. Of course, that means someone could keep collecting Heart Tanks infinitely if someone were to code a new system for Heart Tanks, but this is done for a reason later on if I'm able to figure out how to do it. Things are a bit tough since there's a big sprite limitation on the health bars.. so we'll see where it goes.

6.  General decompressed graphics that I need are ready to go, but their code and use has not been implemented yet.
Zero's 1-up Icon is implemented but not functional quite yet.
The "general VRAM" that houses the explosions, life bars etc.. has been updated to remove unused dash particles in favor of letting Zero have a 1-up icon.
The menu graphics have been heavily expanded so each character can now have their own weapon icon for all weapons in-game, including the Hyper Chip.

That's all for now! I'm trying to make this a much further improved project from the other versions so hopefully this keeps going relatively smoothly!
« Last Edit: July 23, 2017, 07:16:30 pm by justin3009 »
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'