News:

RIP GoReds

Main Menu

New RBI 3 hack in the works.... yes RBI3.

Started by brahmy, 11/26/13, 06:19:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Turd

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

BeefMaster

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.
"Nobody in football should be called a genius. A genius is a guy like Norman Einstein." - Joe Theismann

brahmy

#22
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, 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.
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

brahmy

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!

RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

Turd


brahmy

I think it was around $100, I think my wife ordered it from the link I sent her - gamersection.ca
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

Turd

Cool. I'll look it up. The powerpak is more expensive.

brahmy

#27
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.



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!!
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

VEGAS

And BOOM goes the Dynamite!

brahmy

#29
2013 Edition RBI Baseball 3 ROM - rev 1.0 - is here!

Edit: Grab rev 1.3 from this post

OP delivers! A very productive winter break is coming to a close; here is rev 1.0 of the 2013 ROM (attached to post).


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

  • Generate a patch file based on differences between a hacked ROM and the "base" 1990 ROM (so we won't have to host ROMs where the online editor is hosted)
  • Patch a 1990 ROM into a 2013 ROM using aforementioned patch file
  • Spit out a .csv file of stats based on the contents of a particular ROM
  • Import a .csv file of stats and spit out a working .nes file

NOTES:

  • Player stats are based on real-life stats using these equations. The average, mean, min, max and standard deviation of each parameter is pretty close to the RBI 3 original; so the 2013 version has about the same "feel" to it. Probably not perfect yet though.
  • Stats are based on 2013 season only (for now) so some players are probably over/under powered if they had a good/bad 2013 season.
  • Sidearm stance (pitchers) based on a couple random lists I found online
  • Lineups were a best effort:
    • 4 starters selected by 2013 IP, descending
    • 6 relievers selected by 2013 IP, descending (except Brian Wilson added manually)
    • 14 batters selected by 2013 AB, descending
    • Batting order was a best-guess based on a handful of lineups I skimmed
  • The CPU fields (pitchers) have not been changed; they're the same as the 2005 ROM.
  • All starting pitchers have 48 stamina; all relievers have 15.
  • No, Turd, we did not change the sprites to the fat dudes from RBI 1 >:D

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

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 and here
- 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.
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

Gantry

Fuck yes...   I can also put the 2013 ROM on my ROMs page, though it's not exactly a high traffic affair. 

VEGAS

Nice Hack. I've only get in a single game but I like the updated version. What further tweaks do you anticipate?
And BOOM goes the Dynamite!

BeefMaster

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.
"Nobody in football should be called a genius. A genius is a guy like Norman Einstein." - Joe Theismann

brahmy

@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)
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

BeefMaster

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.
"Nobody in football should be called a genius. A genius is a guy like Norman Einstein." - Joe Theismann

brahmy

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, and we could share some other details by email.
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

BeefMaster

I thought I remembered the roster being 24 players at one point, so I googled it, and I found this.  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).
"Nobody in football should be called a genius. A genius is a guy like Norman Einstein." - Joe Theismann

brahmy

2013 Edition RBI Baseball 3 ROM - rev 1.3 - is here!

What's changed over v1.0?

  • Team uniform colours have been updated, some were wacky in 1.0
  • Team error %s have been updated - same range of errors as the original RBI 3. Used the average of all the batting averages on every team as a basis for error % 
  • Post-game newspaper messages updated
  • No real lineup changes or statistic tweaks as we're focusing more on features than parameters at this point - the goal is to enable other people to make changes as soon as possible. 

Update on the Python app:

  • Importing/exporting team uniform colours, error %s and team initials (export only) is now a thing. See attached .csv
  • Headers added to .csv file output so it's clearer what you're looking at
  • Lots of back-end validation is built & tested on batters and pitchers
  • Started to explore app hosting options 

See attachments.
RibEye3 Modifier Project online: http://www.rbi3.ca
RibEye3 Modifier Project on Google Code: https://code.google.com/p/ribeye3-modifier/

Turd

Why use BA for error %? I use team errors compared to total errors and manually apply a value.

BeefMaster

My guess is that he meant fielding percentage; otherwise I have the same question.
"Nobody in football should be called a genius. A genius is a guy like Norman Einstein." - Joe Theismann