Dee-Nee Forums

General => RBI Baseball => Topic started by: brahmy on 11/26/13, 06:19:35 PM

Title: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 11/26/13, 06:19:35 PM
QuoteUpdate Jan 5/2014: OP delivers! Check out the 2013 ROM here (https://forums.dee-nee.com/index.php?topic=29092.msg918689#msg918689).

QuoteUpdate Jan 19/2014: Online RBI Editing is here! Click here for details! (https://forums.dee-nee.com/index.php?topic=29092.msg921479#msg921479).

Hellooooooo from Saskatoon 8)

For the last year+ me and a group of buddies have been playing the shit out of RBI 3. Actually, we started with 1 but I think that's the gateway drug of RBI baseball; all things lead to 3. As we're playing 3, one thing leads to another and all of a sudden we're talking about updating the ROM with a 2013 roster. Several Googles later, lo and behold; there is an entire RBI enthusiast community and hacking base out there. Who knew! (not us). But as far as I can tell, most of the hacking efforts have gone into RBI 1, and there isn't much for 3.

So for the last ~3-4 weeks we've been pulling the RBI 3 ROM apart in our spare time and starting an editing framework; mad props to Nightwulf (http://nightwulf.rbicentral.com/rbi-editor/), AndyB2005 (http://andy_greatfun.tripod.com/rbi/) and pmeth (https://github.com/pmeth/rbi) for all the legwork that's been done decrypting ROM parameters already. Without this big previous body of knowledge we'd still be spinning our wheels. You guys (plus Gantry for building this site) are clearly the Gods Of RBI Baseball.

We want to build these things for ourselves, and share 1 & 2 with the world:

We have a very good handle on editing:

There are a few parameters we DON'T have a good understanding of. I have been comparing the hex code of AndyB's 2005 30-team RBI3 ROM to the original RBI 3 ROM side-by-side and have figured a few things out, but some params are elusive. If there is anyone out there who can shed some light on the following please leave a comment. 

1) Team Initials (BA, BO, CA, TO, etc). I can change these in the team select screen (ROM range 0x9E1D to 0x9E5D), but I can't figure out how they change in the in-game box score or the scoreboard view (pause menu). If I change MT to WA, the change appears on the team select screen but not the box score/scoreboard. SOLVED, see this post (https://forums.dee-nee.com/index.php?topic=29092.msg913902#msg913902).

2) Changing the default team year. For instance, in AndyB's 2005 ROM the default year is 05 instead of 90. It is not obvious how this was accomplished. I shot him an email but given that it's 8 years later I don't really expect to hear anything. Update Nov 29 - I can change the "top" team year but not the bottom:
(http://i.imgur.com/T1nD6sD.png)
Update Dec 8 - We are BENCHING this issue for now because we are not going to worry about getting historic/archive teams working in our first release.

Update Dec 27 - SOLVED thanks to AndyB! Modified text at 0x1482A and 0x14830 and we've got nice 13's all around.

3) Changing the pre-game national anthem. This is an insignificant detail but it will annoy me to no end if I change Montreal to Washington and have to listen to the Canadian national anthem. We are BENCHING this issue for now because we are using AndyB's fantastic 2005 ROM (http://andy_greatfun.tripod.com/rbi/) as our "base" ROM... and the issue is already fixed.

4) Changing what the P1/P2 cursor is allowed to select in the team select screen. Visually, I can move Houston from NL Central to AL West, but it's not selectable. For instance:
(http://i.imgur.com/Rp6Mm7e.png)

Update Dec 27 - SOLVED thanks to AndyB!

5) Determining AL/NL flags per team. Somehow the game knows which of the teams in memory are AL and NL, and will adjust the number of available starting batters accordingly.
Update Dec 27 - SOLVED thanks to AndyB!

Our project is the RibEye 3 Modifier (https://code.google.com/p/ribeye3-modifier/) - it's far, far away from functional right now but feel free to creep on our progress and our wiki, or give us suggestions. We both work full-time so a working interface might be a couple months out, but it's coming. If there is interest I'll keep this thread posted too.

Go Jays! (lol)
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 11/26/13, 06:28:15 PM
I'm on my phone right now but I'll keep this brief...

I support this. Let me know if you need my assistance.

Also, for NES, get the powerpak. It's great for playing on real hardware.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 11/26/13, 06:31:23 PM
Quote from: Turd on 11/26/13, 06:28:15 PM
I'm on my phone right now but I'll keep this brief...

I support this. Let me know if you need my assistance.

Also, for NES, get the powerpak. It's great for playing on real hardware.
While searching these forums the past few weeks I have seen the contributions you've brought in the past and would love to hear more from you. Any insight on those parameters we're having trouble narrowing down, or a good formula/method for turning real-life pitching and batting stats into RBI parameters (I think the params are basically the same for RBI 1 & 3) would be awesome. We haven't really started building a 2013 roster because we're still ironing out these last few params.

Noted on the Powerpak!

Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Gantry on 11/26/13, 07:38:30 PM
Welcome brahmy!  I second the Powerpak, it's pretty damn impressive. 

I've forgotten most of the RBI hacking stuff I did back in the day, but definitely check out Tile Layer Pro (http://segaretro.org/Tile_Layer_Pro?rdfrom=http%3A%2F%2Finfo.sonicretro.org%2Findex.php%3Ftitle%3DTile_Layer_Pro%26redirect%3Dno) for comparing the graphics between the two ROMs if you  haven't.  SHould lead to some difference in where certain characters were placed. 

Here's a comparison between a stretch of letters in RBI3 and Andy's 2005.  Quite a few changes there.  Might lead you somewhere, or you already knew this stuff. 
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 11/27/13, 10:02:24 AM
FULLY APPROVED

The token RBI 3 fan here is very interested in all this.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 11/29/13, 12:39:27 PM
Little update for you...

My buddy Chet is making some good progress on the editing utility, working on a framework for importing & exporting teams with .csv files. You can watch the progress on our Google Code site (https://code.google.com/p/ribeye3-modifier/source). Right now a lot of the functions are built but there's no functional product yet... I'm excited to get to that point because then anyone will be able to "fork" our code and hack in features.

I made some progress on figuring out what years are available per team, and how to change the "base" years (ie, change 90, 89, 88, 87, 86, 75, 84, 83 to 13, 12, 11, 10, 09, 08, 07, 06). But these are not updating perfectly yet; see updated screenshot in the OP. I also added issue #4 in the OP - updating what the cursor is allowed to select on the team select screen.

I was using the highlighting feature in FCEUX to show areas of the RBI 3 ROM that are straight data (like the batting/pitching parameters) and what is part of the 6502 instruction set. Unfortunately (for me!) there are a lot of differences in the instruction set between the original 1990 ROM and AndyB's 2005 ROM... so I am going to have to learn about the 6502 and how to actually change the code, not just the data.

Any tips on reverse engineering 6502 code?

Edit: thanks @Gantry for the Tile Layer Pro tip, I had downloaded it but not used it much. At this point I don't think it's showing me anything that the FCEUX PPU table viewer isn't... but later on we might want to add a custom splash screen or something and that looks like an awesome utility to do that with.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Gantry on 11/29/13, 07:13:17 PM
I didn't do much for my hacks with the code outside of just jumping in and looking up what the instructions did.  Trial by fire I guess...
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/05/13, 06:14:32 PM
OK, I'm nicely oiled with Great Western Brewhouse Pilsener and I've figured out how the two-letter team initials are stored in RBI 3. I'm crossing item #1 in the OP off the list!

For all intents and purposes, there is a limit of 30 unique teams in the game (technically 28, but in 2005 AndyB hacked in the functionality for 30), and there is capacity for 30 previous-year rosters of those same 30 teams.

First, from 0x96B0 to 0x9830, the ROM draws the team selection table that you see when you start a 1P or 2P game. Each byte in this area of memory is printed on the screen - including blank spaces, table grid lines, "PUSH B BUTTON TO SELECT YEAR", and team initials (two letters in the initials = 2 bytes of memory). The character lookup for the hex values is A=2Ah Z=43h.

Second, from 0x9E1D to 0x9E54 (56 bytes for 28 teams) (or to 0x9E58 on AndyB's 30-team 2005 ROM - he extended this table by moving some code elsewhere), the team initials are stored in a table (again, two bytes of initials = two bytes of memory). These values are used at the top of the team selection screen to tell you what team your cursor has selected. Same character lookup as the previous.

Third, the TRICKY one! The team initials that are used in the starting pitcher screen, starting batter screen, in-game box score and in-game scoreboard are stored in a table from 0x104E9 to 0x10524 - 60 bytes for 60 teams! Each byte is encoded for two letters as follows:


         First Team Letter    Second Team Letter
Hex      0123456789ABCDEF     0123456789ABCDEF
Letter   BPSACDHKLMNOTEFI     ACDHKLMNOTEFIWXY

Examples:    Team BA = 00  Team TX = CE  Team PI = 1C


Couple more details here: https://code.google.com/p/ribeye3-modifier/wiki/KeyROMHexAddresses?ts=1386288640&updated=KeyROMHexAddresses#Team_Initials_(BA,_CA,_TO,_etc) (https://code.google.com/p/ribeye3-modifier/wiki/KeyROMHexAddresses?ts=1386288640&updated=KeyROMHexAddresses#Team_Initials_(BA,_CA,_TO,_etc))

Science marches on...
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 12/06/13, 08:07:14 AM
Quote from: brahmy on 12/05/13, 06:14:32 PM

         First Team Letter    Second Team Letter
Hex      0123456789ABCDEF     0123456789ABCDEF
Letter   BPSACDHKLMNOTEFI     ACDHKLMNOTEFIWXY

Examples:    Team BA = 00  Team TX = CE  Team PI = 1C


So, if I'm reading that correctly - they basically figured out that they didn't need all 26 letters, so they saved themselves the extra bytes and just made available the 16 (or fewer) that they needed?  That's insane/brilliant, although I guess it does limit the extensibility - I suppose they weren't really planning on expansion packs (or guys trying to add additional teams that might start with new letters 20 years later).

Given that list of available letters, it looks like all the letters for changed teams since '90 are available, other than that you'd have to get a "B" in the second list if you wanted the Rays to be "TB".
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/06/13, 08:26:35 AM
Quote from: BeefMaster on 12/06/13, 08:07:14 AMSo, if I'm reading that correctly - they basically figured out that they didn't need all 26 letters, so they saved themselves the extra bytes and just made available the 16 (or fewer) that they needed?  That's insane/brilliant, although I guess it does limit the extensibility - I suppose they weren't really planning on expansion packs (or guys trying to add additional teams that might start with new letters 20 years later).

Given that list of available letters, it looks like all the letters for changed teams since '90 are available, other than that you'd have to get a "B" in the second list if you wanted the Rays to be "TB".

Yep, you're reading it correctly. I don't understand why they did it this way... There is plenty of space in the ROM for a full lookup table. Maybe they wanted a one-byte identifier for each team name - maybe this will help me figure out the anthem flags and the AL/NL flags.

I'm not going to back a "B" into the second list though, then I'd have to extend the table or replace a current letter. I think it would take too much effort - Tampa can be TA or TM.

Edited to add: The lookup is even more clever because they save characters in the PPU graphics table. There are 19 letters used total in the team names, and the lookups overlap to save space on graphics (maybe that was the limitation?):


BPSACDHKLMNOTEFI     
   ACDHKLMNOTEFIWXY
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: VEGAS on 12/06/13, 09:02:20 AM
keep up the good work fellas. RBI 3 updated will be a sweet game when it comes to completion.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/09/13, 09:08:08 AM
FOr whatever reason, the notifications system on this board is all messed up for me.  Sometimes I get reply notifications, some times I don't.  I missed all the replies here...

Anyways, I can help with converting stats into RBI values, I do it every year for my RBI1 ROM...I use it as a base and then tweak away.

A suggestion I learned along the way:
Make your CSV importer use validation.  I wasted a lot of time trying to figure out why something didn't import when it was simply just a fat-fingered piece of data or something.

Another suggestion if you have time, update the player models a little.  They currently looked like they were just banged in the pooper and are unable to scrunch down.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/09/13, 09:13:32 AM
Also, while TLP might not show you anything the PPU can't, it'll help you edit the tiles better when you come to that point.   Another suggestion, don't worry so much about the historic rosters, just worry about getting one playable season working.  If anyone wants older seasons, they can just apply  your roster import to another ROM.  The only thing that limits you on is being able to play a team from one season vs. a team from another.  If that's not important (which I personally would deem not as important as getting a playable single season going), then yeah, focus on one season.

It'd make your import tool easier to code, and releasing ROMs is easier because you don't have apply all those old teams to the ROM with every new release. 

Just my $.02
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/09/13, 02:58:58 PM
Quote from: Turd on 12/09/13, 09:08:08 AM
I can help with converting stats into RBI values, I do it every year for my RBI1 ROM...I use it as a base and then tweak away.
Fantastic! I'm not sure the best way to coordinate this... Any suggestions? Do you already have a spreadsheet for RBI1? If we use it as a base we'll need to expand it as there are 10 pitchers and 14 batters/team in RBI3.

I imagine we'll be ready to import data by the holidays. This weekend we started writing a .csv export feature - starting with export will make doing import easier. Should be quick because we already have all the functions to grab batter/pitcher data.

Quote from: Turd on 12/09/13, 09:08:08 AM
A suggestion I learned along the way:
Make your CSV importer use validation.  I wasted a lot of time trying to figure out why something didn't import when it was simply just a fat-fingered piece of data or something.
Good call, I think we are doing this. We're trying to make it robust because we do want to share the end result.

Quote from: Turd on 12/09/13, 09:08:08 AM
Another suggestion if you have time, update the player models a little.  They currently looked like they were just banged in the pooper and are unable to scrunch down.
lol... I don't think we'll prioritize this :) One hack on my wish list is putting some extra stats on the screen - baserunner speed, remaining pitcher stamina, etc. Not sure if that's feasible at this point. A man can dream...

Quote from: Turd on 12/09/13, 09:08:08 AM
Another suggestion, don't worry so much about the historic rosters, just worry about getting one playable season working.  If anyone wants older seasons, they can just apply  your roster import to another ROM.  The only thing that limits you on is being able to play a team from one season vs. a team from another.  If that's not important (which I personally would deem not as important as getting a playable single season going), then yeah, focus on one season.

It'd make your import tool easier to code, and releasing ROMs is easier because you don't have apply all those old teams to the ROM with every new release. 

Just my $.02
You know what, this is a REALLY good idea. Damn AndyB and his fantastic 2005 ROM (http://andy_greatfun.tripod.com/rbi/)... it has clouded my judgement about what we should prioritize.

It's official, we're benching the historic rosters. They'll be a follow up project, and we'll race towards getting the single season going!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/09/13, 03:14:35 PM
I think it's a good decision.  I get caught up in adding bells and whistles all the time and it just gets in the way of a playable product.  include necessities, then add features as you go along.

P.S. Cool that it's getting written in Python.

P.P.S.  If your hack is good enough, I'll have to look into updating the player sprites.  It's one of the things I hate about RBI2/3.  I love my pasty white fatties.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/09/13, 03:16:30 PM
QuoteAll pitching parameters (except bytes 14 & 15, apparently these are used by the CPU or something?)

If it's anything like RBI1, those are used to determine whether or not the pitcher will curve the ball left or right (based on runners on base and other params during each pitch).
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/09/13, 03:25:07 PM
Quote from: Turd on 12/09/13, 03:16:30 PM
QuoteAll pitching parameters (except bytes 14 & 15, apparently these are used by the CPU or something?)

If it's anything like RBI1, those are used to determine whether or not the pitcher will curve the ball left or right (based on runners on base and other params during each pitch).
Cool, I didn't know this about RBI 1 or 3 - I hadn't found a thread where a consensus was reached. Thanks.

Quote
P.S. Cool that it's getting written in Python.
It's really cool. I've never used it (my buddy has, a bit) and it seems awesome. I come from PHP and it's an easy transition. We would like to run the app on the Google App Engine once it's ready!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/09/13, 03:54:24 PM
I'm a PHP and C# developer, and I recently just got into Python for some geek fun.  I felt like it was time to learn it...
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: VEGAS on 12/09/13, 06:01:57 PM
Any other hacked roms for RBI 2 or RBI 3 you'd suggest?
[/quote]
You know what, this is a REALLY good idea. Damn AndyB and his fantastic 2005 ROM (http://andy_greatfun.tripod.com/rbi/)... it has clouded my judgement about what we should prioritize.

It's official, we're benching the historic rosters. They'll be a follow up project, and we'll race towards getting the single season going!
[/quote]
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/09/13, 06:53:36 PM
Quote from: VEGAS on 12/09/13, 06:01:57 PM
Any other hacked roms for RBI 2 or RBI 3 you'd suggest?

I don't know of any... Just give us another month or two ;)
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/10/13, 07:43:53 AM
Does your py program import from CSV or Excel?  With a command-line tool, how are you going to handle uniform updates?  With my RBI 1 editor there's a graphical piece to it, but it's a pain in the ass to code.  Curious how you handle that. I need a reason to write some more python, so I thought I might work on a little project for CoachK
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 12/10/13, 08:43:28 AM
Andy's was the only one I'm aware of as well.  I have a vague recollection of something possibly from the guy who did the Fenway/Wrigley/Yankee Stadium hacks, but I think he just did the original.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/11/13, 09:07:21 PM
Quote from: Turd on 12/10/13, 07:43:53 AM
Does your py program import from CSV or Excel?  With a command-line tool, how are you going to handle uniform updates?  With my RBI 1 editor there's a graphical piece to it, but it's a pain in the ass to code.  Curious how you handle that. I need a reason to write some more python, so I thought I might work on a little project for CoachK
I think Chet's working on a .csv importer now - you'll be able to edit in Excel so long as you save as .csv you'll be OK. For 30 teams you're potentially updating 720 players (300 pitchers, 420 batters) so I figure bulk editing in Excel will be easiest.

Might have to do some kind of headers in the Excel/csv file to be able to do everything in one file...

:(batters header)
0, Arod, 155, 143, ....
1, Jeter, 143, 167, ...
...
:(pitchers header)
0, Rivera, 123, 456, ...
1, Kuroda, 789, 0123 ...
...
:(team colors)
Yankees colour
Jays colour
...
:(team error percents)
Yankees 5%
Jays 6%
...


I wrote some logic over the past couple days that will let us create a patch file (https://code.google.com/p/ribeye3-modifier/source/browse/PatchFileGenerator.py?name=feature-patch_file_generator), kind of like those .ips patching utilities that are out there. To avoid hosting any ROM files (and potentially getting pulled off Google App Engine or whatever host we use), users can take their "stock" 1990 ROM (we can check it's the right file via hashes or something), upload it, the Python program will "patch" it (update the menus and teams to 2013), THEN apply the changes that the user uploads in their .csv file.

I don't think we've nailed the .csv format YET, but we'll allow for editing in human-readable format (text for names, 0-255 for most parameters, etc) and the program will make sure it's in the right format for the ROM.

Science marches on...

edited to add: I think GUI will be minimal. Some kind of interface for uploading the .csv file and the 1990 .nes file, a couple instructions, and that should be about it.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/25/13, 04:18:33 PM
Merry Christmas all, just wanted to tease our progress a bit... still working on fixing the menu behaviour but I'm learning a lot about 6502 assembly code. Wish I paid more attention in my microprocessors class. Oops.

My wife got me an Everdrive N8 for Christmas and it's loading our work-in-progress file just fine!

(http://i.imgur.com/Q6OBJXll.jpg)
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/25/13, 04:43:00 PM
What does the ever drive cost you?
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/25/13, 04:46:44 PM
I think it was around $100, I think my wife ordered it from the link I sent her - gamersection.ca
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 12/25/13, 04:47:35 PM
Cool. I'll look it up. The powerpak is more expensive.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 12/27/13, 04:05:52 PM
I got the best Christmas present ever - an email from AndyB with all of his reference files from the 2005 ROM!!!

Thanks to those reference files I solved (well, he solved 8 years ago and I re-implemented) every outstanding issue on the OP - AL/NL flags, proper team years, proper team anthems, and most importantly, editing that wicked menu to move Houston over to the ALW.

(http://i.imgur.com/q07qdTp.png)

Identified one more issue in the process - because of the way teams are laid out in the ROM, we're probably going to break the 1-player campaign by overwriting the Tengen "superteam" with Texas. But, we've been focusing on a 2-player result all along, we can always go back and fix it later.

Goal for the rest of the holidays: Get a 2013 roster implemented and finish our import/export features. We're getting close!!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: VEGAS on 12/27/13, 04:41:47 PM
Awesomeballs
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/05/14, 07:24:45 PM
2013 Edition RBI Baseball 3 ROM - rev 1.0 - is here!

Edit: Grab rev 1.3 from this post (https://forums.dee-nee.com/index.php?topic=29092.msg920067#msg920067)

OP delivers! A very productive winter break is coming to a close; here is rev 1.0 of the 2013 ROM (attached to post).
(http://i.imgur.com/DbBpqgK.png)

Basically we have all major functions working in our Python code right now; it can do the following:

NOTES:

KNOWN ISSUES & FUTURE WORK:
- Team uniform colours haven't been checked (minor detail)
- Team error % values haven't been set (shouldn't take long, it just wasn't a priority)
- Cursor on the team select has an unusual jump if you press "down" on TX
- 1-player campaign is probably slightly broken as the Tengen superteam has been overwritten... so if you win all your 1-player games, you get to play..... Texas! (I think)
- Get the whole thing running as a web service so people can upload .csv file, receive .nes file
- Get the whole thing running as a pretty web service so people can use a GUI to update the ROM
- More editing functionality for text strings, error %s, team colours, etc.
- More (https://code.google.com/p/ribeye3-modifier/issues/list)

If you want to play around with this project, we're "open source":
- Modify the .csv file attached to this post
- Download Python 2.7 from www.python.org
- Download PyCharm
- Grab a copy of our project from https://code.google.com/p/ribeye3-modifier/
- Review the stats here (https://code.google.com/p/ribeye3-modifier/wiki/BattingAnatomy) and here (https://code.google.com/p/ribeye3-modifier/wiki/PitchingAnatomy)
- figure out how to run our code and patch in your changes
- .... or, just wait until we figure out how to run this as a web service.
- .... or, post your suggestions and I'll keep updating the ROM until it's balanced.

Lots of room for improvement here - lineups, stats, look & feel, typos. Any and all feedback is welcome! Enjoy.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Gantry on 01/05/14, 08:01:08 PM
Fuck yes...   I can also put the 2013 ROM on my ROMs page, though it's not exactly a high traffic affair. 
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: VEGAS on 01/09/14, 11:31:22 PM
Nice Hack. I've only get in a single game but I like the updated version. What further tweaks do you anticipate?
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 01/10/14, 09:57:22 AM
That's some awesome work, there.

Are you intending the rosters to be end-of-year, or more like some sort of snapshot of the season as a whole?  If end-of-year, you probably have a few guys who are either on multiple teams or on the wrong team - for example, Justin Morneau was one of the Twins' leaders in plate appearances (I think he's sitting in the leadoff spot in your ROM), but he was traded to the Pirates in August.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/10/14, 10:39:05 AM
@Gantry - thanks, but please wait to put a link up! This particular ROM is still rough around the edges. Once we have an online editor working, we'd love it if you'd link to that. Plus we'll finalize and polish an end-of-2013 ROM. Your ROM page is... the holy grail of RBI ROMs on the internet, as far as I'm concerned, and it would be awesome to be listed.

@VEGAS - lots to do, lots to fix. Uniform colours, lineup orders, team error %s (the % of time players will fumble a ball) - those things aren't done in this 1.0 ROM. We're pretty happy with the overall "feel" of the game though - it doesn't feel like a wildly different game than the original RBI 3, just different players. Also on the list: an online editor!

@Beefmaster - This roster was intended to be end-of-year. I expect there to be lots of errors... the rosters are huge compared to RBI 1: 420 batters and 300 pitchers in RBI 3 with 30 teams, with room for 840 batters and 600 pitchers if historical rosters were enabled!

Some cool stuff in the works... stay tuned...  8)
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 01/10/14, 10:55:17 AM
I didn't expect a lot of hand-editing, so I figured I'd ask before saying "Hey, this is wrong!"  That is indeed a crapload of teams and players to worry about - same number of teams as in Turd's 30-team ROM, but another half-dozen pitchers and one or two hitters on each team.  By the way, I didn't look closely - are you bumping it up to 25-man rosters, or keeping with the original game's roster size?  I don't think the increased roster size is actually useful - most of that extra space is used for relief pitchers, and no one has any use for the thirteen pitchers that a modern AL team carries.

End-of-year ROMs are hard, because of partial seasons from players and the fact that lots of crappy teams end up extra-crappy at the end of the year due to trading away good players and giving extra playing time to September callups.  The Twins' situation is also odd, because the guy who spent most of the year in center field got demoted in August and never got a September callup.

A beginning-of-2014 ROM would be great, too, although it's still early for that, and it could be done through your editor eventually.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/10/14, 12:41:56 PM
Yeah, all the editing was done in a fancy Excel spreadsheet, then simplified into that .csv file.

The rosters right now in RBI 3 are 24-man (10 pitchers, 14 batters) and I don't plan to change that (not sure why the original devs didn't add the 25th man). That would involve changing some fundamental game behaviours. Changing the team select menu was difficult enough.

Good point about end-of-year ROMs, the crappy teams in this version are definitely extra-crappy. Something to tweak.

Thanks for the feedback so far! We are having a blast working on this; there's lots more to come.

If anyone wants to actually get their hands dirty and try hacking in a few features, it would be more than welcome. A guide to setting up our dev environment is here (https://code.google.com/p/ribeye3-modifier/wiki/DevEnvironmentGuide), and we could share some other details by email.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 01/10/14, 01:59:28 PM
I thought I remembered the roster being 24 players at one point, so I googled it, and I found this (http://www.baseball-reference.com/bullpen/roster).  Apparently from 1986-1989 the roster was 24 players.  That might explain RBI 3 using that size - it was basically an expanded version of RBI 2, which was based on the 1989 season.  Leaving that roster size in place would save them a lot of work (not to mention avoid having to worry about putting a 25th player on the '86-'89 teams).
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/11/14, 08:34:38 PM
2013 Edition RBI Baseball 3 ROM - rev 1.3 - is here!

What's changed over v1.0?

Update on the Python app:

See attachments.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 01/12/14, 02:29:15 PM
Why use BA for error %? I use team errors compared to total errors and manually apply a value.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 01/13/14, 08:00:54 AM
My guess is that he meant fielding percentage; otherwise I have the same question.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: fathedX on 01/13/14, 09:25:47 AM
I played several innings of the Rockies versus the Dodgers, everything seemed to work fine and I had fun.  Realistic home runs from Cargo (2) and Puig and way too many triples through the second base hole (I was swinging late) kept the score high.  Nice hack!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/13/14, 10:47:49 AM
Actually it was just batting average (lol). I was lazy and has those values handy. But if you look at the updated CSV file there is now the capability to insert any value based on any formula or criteria you want.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 01/13/14, 10:57:55 AM
My primary thought on the basis for error rate would be opponents' BABIP, although an advanced metric like UZR or DRS would probably work, too.  Those should be easy to find at the team level; shouldn't require much digging.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 01/13/14, 09:28:55 PM
Why not just the total errors compared to the rest of the league? Simple, tells the right story. It's only 30 ratings, pretty easy to interpret.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 01/13/14, 09:30:27 PM
I just know for a while I tried to get real cute with how I got my numbers. In the end, for a simple game, simple formulas actually work real well.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/15/14, 07:14:03 AM
@fathedX, missed your post before. Thanks for the feedback!

@Turd and @BeefMaster yes I hear you loud and clear :) But when I get the hours to plug away at this I'm focusing more on getting the editor working then polishing the roster (for now).

Excited about this RBI 2014 reboot... I think it will bring more attention to these hacked classic ROMs!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/19/14, 05:25:41 PM
Fully customizable RBI 3 editing is here!
http://www.rbi3.ca (http://www.rbi3.ca)

What's new this time?
There are still plenty of known issues (https://code.google.com/p/ribeye3-modifier/issues/list) - some relating to the "base ROM" hacking that still needs to be done, and some related to functionality of the program and the website. This is still very much a work-in-progress - it's not quite ready for the masses. But I wanted to share it here because you guys give good feedback.

Cheers :) This was a fun milestone to reach.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 01/20/14, 09:43:58 AM
This is SPECTACULAR.

Question: I noticed this on the "error percentage" item:

"The percentage of time for a given team will fumble the ball, or miss a base while throwing."

Am I reading correctly that error rate actually is a factor in wild throws?  I don't know that that has ever been confirmed here before - nightwulf figured out the mechanics of the errors when fielding, but I don't know whether anyone actually double-checked whether that value was consulted on a throw.  My assumption had always been that it was independent of the error rate and just completely random somehow, either due to a built-in value or a glitch in the throwing mechanics.

As an aside, I don't know that I like the conversion of error rate to a percentage system.  It looks like it's the only value you're converting in that manner, so it's not consistent with the other items that are using raw values from the ROM, and the conversion actually makes it more difficult to provide granular differences between teams - if I want Team A to have a 3 error rate and Team B to have 4 (Team A is just SLIGHTLY worse in the field), then I have to do the math to figure out exactly how much of a difference there is and throw that ugly percentage into the editor.  I think keeping everything in integer values makes more sense here.

One other minor detail - is there a reason that you list 0-55 as the valid values for HR?  There's a guy with 70 on the Tengen Team in the original version of RBI 3.  Are they not using a full byte for that data and jumping to a lookup table, like with ERA?
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: fathedX on 01/20/14, 09:47:45 AM
Yeah, this is big news.  Good work, sir!

I'd love to get this playing on my NES but I haven't yet bought a Powerpak yet.  I'm quite concerned since Tempo said his Powerpak stopped working.  That's $135 that could go to beer
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Gantry on 01/20/14, 09:58:23 AM
Get a $15 USB joystick and use an emulator on your PC - close enough and way cheaper.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: fathedX on 01/20/14, 10:04:21 AM
I have that and did that, thank you very much.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Gantry on 01/20/14, 10:34:33 AM
The invoice will be in the mail shortly
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Turd on 01/20/14, 11:07:31 AM
He has a 5 year free replacement warranty on the powerpak. You could check into that. I have one and it works fine.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/20/14, 06:13:12 PM
Quote from: BeefMaster on 01/20/14, 09:43:58 AM
Question: I noticed this on the "error percentage" item:

"The percentage of time for a given team will fumble the ball, or miss a base while throwing."

Am I reading correctly that error rate actually is a factor in wild throws?  I don't know that that has ever been confirmed here before - nightwulf figured out the mechanics of the errors when fielding, but I don't know whether anyone actually double-checked whether that value was consulted on a throw.  My assumption had always been that it was independent of the error rate and just completely random somehow, either due to a built-in value or a glitch in the throwing mechanics.

I can confirm that I was wrong here. I just tested by creating two teams with 100% error percentages, they miss every catch but their throwing to bases seems to be unaffected. I don't understand why the ball sometimes completely misses the base!

Quote from: BeefMaster on 01/20/14, 09:43:58 AM
As an aside, I don't know that I like the conversion of error rate to a percentage system.  It looks like it's the only value you're converting in that manner, so it's not consistent with the other items that are using raw values from the ROM, and the conversion actually makes it more difficult to provide granular differences between teams - if I want Team A to have a 3 error rate and Team B to have 4 (Team A is just SLIGHTLY worse in the field), then I have to do the math to figure out exactly how much of a difference there is and throw that ugly percentage into the editor.  I think keeping everything in integer values makes more sense here.

I hear what you're saying here... so I put a lazy man's fix in. I like thinking about the error% as a percentage, because 5.9 out of 100 is a lot easier to mentally visualize than 15 out of 255.

The backend logic does the rounding anyway (even if you didn't have a multiple of .39 or whatever) so I just took out the confusing references to multiples of .39. Basically nothing changes except clarity. And if people want to guarantee themselves those granular changes in error% then they can start thinking in multiples of .39 ;)

Quote from: BeefMaster on 01/20/14, 09:43:58 AM
One other minor detail - is there a reason that you list 0-55 as the valid values for HR?  There's a guy with 70 on the Tengen Team in the original version of RBI 3.  Are they not using a full byte for that data and jumping to a lookup table, like with ERA?

I make so many faulty assumptions, haha. I just made a test ROM (using the website, which is now much much faster than generating test ROMs in my Python environment!) with guys with 53, 54, 55, 56, 57 home runs... then 97, 98, 99, 100, 101, 101 HRs. It works up to 99 so that's the new limit.

Thanks for the feedback guys, it's much appreciated!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 01/24/14, 01:32:05 PM
Added a new feature where you can upload a copy of an RBI 3 ROM and it spits out a .csv file for your editing pleasure.

So if you find an RBI 3 ROM (made with our tool) that you like, you can pull it apart and improve it!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BravesPaul on 03/29/14, 12:25:13 PM
Late to the party, but I found the online RBI3 modifier earlier this month, and I've been playing with it ever since. As a math geek, the first thing I did was create basic formulas to generate power/speed/contact numbers per plate appearance, which means brief playing time doesn't hurt a player's power or speed. Once the formulas were set, all I had to do was type in plate appearances, batting average, home runs, and steals for each player, along with name, position, batting stance, and it automatically spits numbers into a spreadsheet, which I copy over to the CSV for uploading.

I made improvements to the 2013 CSV already available for my purposes, and I think you might want to test it out.  I corrected some players incorrect batting stances -- I verified them ALL and even looked to see how switch hitters performed from each side of the plate to choose which would be their default.  I also checked Baseball Reference for batting orders to set them as close to the real 2013 lineups as possible.

ALL TIME TEAMS:  So of course the next thing I did was build an entire roster for all 30 teams of their best hitters ever.  I used their entire careers with the team instead of individual seasons, and the average numbers created realistic values for good gameplay, although high scoring.  I also had to make tough choices for players that played for multiple teams, but my goal was 420 different hitters, so I made those choices.  For example, McGwire went to the Oakland although his best years were in St. Louis.

HIGH POWER GLITCH:  I am testing a "best seasons ever" version, but players with like 2001 Bonds cause a funny glitch on high popups.  The ball sometimes goes so high that the high-pitch squeal peaks, then dips into a very low-pitch bassy growl like a weak fly ball, before coming back down through the squealing raneg.  Also, 520-ft home runs are fine, but a 535-ft home run showed glitchy graphics during the home run fireworks.  (Screen scrolled too far!)

I have NOT touched pitching yet.  The first thing I want to do is adjust stamina with a basic formula based on innings per start, or something like that.  48 should be a minimum, not the standard.  I'll be toying with this in early April if live baseball on TV doesn't distract too much, and hopefully I'll come back with more...
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: Gantry on 03/29/14, 01:06:48 PM
Holy crap, that's a first post!  Nice work BravesPaul, and welcome!

Did you run into any player with royally inflated #s because of a tiny # of plate appearances (like less than 15) gave them super-human stats?
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BeefMaster on 03/29/14, 01:14:30 PM
This is some terrific work, here.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 03/29/14, 03:59:59 PM
@BravesPaul - I'm glad to see someone using the site! The 2013 CSV file was really just a template - I am glad to see you mixing up lineups (that was the whole point of the project :)). Feel free to post your .csv files or .nes files on this site, I am sure there'd be some people who'd test them out and give you feedback.

Regarding high power, did you see our gamefile help page (http://www.rbi3.ca/help.html)? We found that if you give a player a power rating higher than about 1100, it starts breaking down the game mechanics. You may want to scale your equations between a certain range (650 and 1100 or something).

Sadly once we got the editor up to its current state we haven't been able to sink any more time into it. Once feature I'd like to add is a basic "text editor" interface where you can put the hex offset of a text string in the .csv file, along with some new text. This would allow users to change the text on the homescreen, credits screen, etc.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: VEGAS on 03/29/14, 11:42:22 PM
This sounds incredible. Its great to have new folks involved in crafting new/updated and creative ROMs. Please post any ROMs you make to this thread (or start a new thread) and I know there's plenty of dee-nee folks who are have to test them out and offer feedback (if that's desired).

Quote from: BravesPaul on 03/29/14, 12:25:13 PM
Late to the party, but I found the online RBI3 modifier earlier this month, and I've been playing with it ever since. As a math geek, the first thing I did was create basic formulas to generate power/speed/contact numbers per plate appearance, which means brief playing time doesn't hurt a player's power or speed. Once the formulas were set, all I had to do was type in plate appearances, batting average, home runs, and steals for each player, along with name, position, batting stance, and it automatically spits numbers into a spreadsheet, which I copy over to the CSV for uploading.

I made improvements to the 2013 CSV already available for my purposes, and I think you might want to test it out.  I corrected some players incorrect batting stances -- I verified them ALL and even looked to see how switch hitters performed from each side of the plate to choose which would be their default.  I also checked Baseball Reference for batting orders to set them as close to the real 2013 lineups as possible.

ALL TIME TEAMS:  So of course the next thing I did was build an entire roster for all 30 teams of their best hitters ever.  I used their entire careers with the team instead of individual seasons, and the average numbers created realistic values for good gameplay, although high scoring.  I also had to make tough choices for players that played for multiple teams, but my goal was 420 different hitters, so I made those choices.  For example, McGwire went to the Oakland although his best years were in St. Louis.

HIGH POWER GLITCH:  I am testing a "best seasons ever" version, but players with like 2001 Bonds cause a funny glitch on high popups.  The ball sometimes goes so high that the high-pitch squeal peaks, then dips into a very low-pitch bassy growl like a weak fly ball, before coming back down through the squealing raneg.  Also, 520-ft home runs are fine, but a 535-ft home run showed glitchy graphics during the home run fireworks.  (Screen scrolled too far!)

I have NOT touched pitching yet.  The first thing I want to do is adjust stamina with a basic formula based on innings per start, or something like that.  48 should be a minimum, not the standard.  I'll be toying with this in early April if live baseball on TV doesn't distract too much, and hopefully I'll come back with more...
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BravesPaul on 03/31/14, 12:09:17 PM
@Gantry- Minimum playing time requirements (14 most-used hitters, with multi-team players going to the team they played with more, if they make that team's top 14 eligible). That said, Ryan Raburn and Evan Gattis hit 16 HR and 21 HR respectively, and their power is adjusted accordingly. They're more powerful than they would have been in the 1990 version.

@brahmy- Yep. The formulas work great for 2013 regular season data, and even the all-time all star version that uses career stats since no one maintained insaned numbers for too long (every franchise plays like the all star teams in the 1990 original, but slightly better). I may need to tone the power formula down a bit for the best-single-season version, since 2001 Bonds and several others are too powerful.

Pitching update! I knocked it out. Stamina formulas are simple. Using only innings from starts, starters' stamina is 9*IP/GS (most are in the 52 to 56 range. Using only innings and games from relief appearances, relievers stamina is 18*IP/G (most are in the 15 to 18 range). And of course, there are a few outliers, but there really aren't that many longmen or one-out specialists out there.

I got cute with the sink/curve formulas. I ignored their labels (they don't reflect a pitcher's pitch repertoire) and went for impact on gameplay to maintain the original game's feel. Formulas were based on ERA, strikeouts, walks, and HBP. I noticed that the sink values in the original ranged from 2 (worst) to 11 (best) in the original. They range from 3 to 12 in mine, with very few 10-12. The curve values are also mostly similar for most pitchers, but bigger strikeout pitchers with low ERA have a better curve value, and the values are similar to what we see in the original.

Team defense: Adjusted the values based on outs per ball in play with a slight adjustment for fielding percentage. Ranges from 0.50 to 5.01, with most teams in the 2.0-2.8 range. This is slightly improved over the original, and I don't like that many errors anyway...

Jersey colors: Doesn't affect gameplay but I do want to tackle this next. Anyone want to build an online form that lets us input color values, and it will split out an RBI 3 player in the batters box? Ha!

CSV ATTACHED! I simply renamed the csv extention to txt, so change it back to csv and try it out!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: BravesPaul on 03/31/14, 12:41:45 PM
Also, for pitch speeds, I used FanGraphs' pitch f/x velocity "leaders" to gather the average speeds of pitches.  I grabbed each pitchers fastest and slowest speeds, used formulas to generate values in the range of the original game, and the "normal" speed is just the midpoint.  Also, Aroldis Chapman throws a tad harder than anyone in the 1990 version.  I haven't tested this yet, but I imagine it will feel accurate.

The good news about the formulas is that I can plug in data for any years, so a complete 2014 edition update could probably be generated by the end of the Wildcard playoff games...
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: AquaX101 on 10/06/14, 02:41:50 PM
I'm getting a Bad Gateway error for a few days now.
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 10/11/14, 03:03:54 PM
I don't have the time to fix it! :(

Remember the whole thing is open source... someone can always take our Google Code repo and make it live again... :)
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: AquaX101 on 10/16/14, 04:42:15 PM
How do you do that?
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: PreDeadMan on 11/22/14, 08:14:09 PM
yeah i'm getting bad gateway also I really wish someone would fix it :(
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: pkmenning on 11/23/14, 12:10:06 PM
Did you ever finish your "All-Time" rosters? I'd love a copy, if so!
Title: Re: New RBI 3 hack in the works.... yes RBI3.
Post by: brahmy on 03/03/15, 09:05:20 AM
I think that bad gateway issue is fixed. My webhost was playing around with Python versions and ended up breaking it. Someone try making a new roster and let me know!

Me & my programming partner-in-crime have a new project idea bubbling... we aren't in a hurry, but we think it's going to be pretty cool :)