Jump to content
NHL'94 Forums

Testing RetroArch for Online Play


chaos

Recommended Posts

This topic was brought up a few months ago, and I've finally decided to try it out and see if it would work. I believe @Scribe99 ,  @Depch , and @jer_33 were ones who had brought it up in this post:

 

 

What is RetroArch?

RetroArch is a front end that can run multiple emulator cores. What does that mean? You can find more info here - http://www.retroarch.com

How it works, is you start up RetroArch, load an emulator core, and load content (i.e. a ROM).

Instead of having multiple emulator programs on your gaming system, RetroArch has cores. These cores aren't the emulator program, but pretty much the emulator code itself, that runs in RetroArch. So, for example, if I downloaded the Snes9x core (SNES emulator), I would start RetroArch, load the Snes9x core, and load a game (i.e. NHL '94) and it would run just like it would in the emulator, except you have the RetroArch interface. Then I can close the game, load the Genesis Plus GX core (Genesis emulator), and load a game for that as well, without having to close the RetroArch program. 

There are advantages to having a single interface for multiple emulators. You can have global settings (i.e. controller button mappings) and you can switch between different systems very quickly without having to close and start up another program. 

It is available for almost anything (PC, Mac, Linux, Android, iOS, etc). The interface is very clunky, and looks like the XMB interface on the PS3. It takes some getting used to. I suggest you download it and try it yourself. The emulator cores can be downloaded right from inside the RetroArch program (there are a ton of cores). Information about it is plentiful on the web.

Here is their official documentation - https://docs.libretro.com

Once testing is done, we will write up a setup tutorial, and I'm hoping to make some files that can be run to automate the setup process.

 

Why use RetroArch for playing 94 online?

We are looking for a reliable, better, and simpler Netplay experience. While ZSNES has robust netplay capabilities, Gens (with Kaillera) is absolute trash. Desyncs and lag are a huge problem with Gens. Desyncs in ZSNES, while rare, can be recovered by reconnecting and loading a save state. Back in the day, we used servers instead of direct connect with Hamachi. It was a much simpler setup. RetroArch can give us something similar to that. So, if we can eliminate hamachi, that's one less program to worry about causing issues. I believe this can solve a major issue which causes people to leave online play - too complicated of a setup, and flakey Netplay.

 

@kingraph and I tried out Netplay. It was very easy to set up. Kingraph would load the core and the content (NHL'94 ROM), start his Netplay server from the Netplay menu, I would go to the Netplay menu, click "Refresh Room List", then see Kingraph's name and click on it, and connect. No need for IP address. Though we aren't the best example since we live close to each other, Netplay was very smooth.

I can connect to him at ANY TIME during the game (as long as he set it for 2 players, I believe). So, if we desynced, the host (home team) just needs to pause the game, wait for the client (away team) to reconnect, and play continues. Kingraph was also able to load a state while we were connected, so I scored 10 goals on him in the second period, he could just load a state from before the second period!

We haven't tried out SNES yet. Hopefully tonight. 

Also, it may be possible to play cross-platform (i.e PC vs PC, Mac vs Mac, Pc vs Mac). We need to test this as well. Heck, it may be possible for someone to be playing on Android, Linux, or another platform as well.

 

Will it work?

Well, not completely sure yet. It does run custom ROMs locally and via Netplay. The emulator cores are different; there is no Gens or ZSNES core. Probably no one made them because they are inferior emulators. 

For cores (there are tons of different ones):

Genesis - Genesis Plus GX seems to work well

SNES - Possibly Snes9x, or bsnes will work

We will need to decide on a core to use and for everyone to use that core. Since the emulator cores are different than what we've used in the past, the save states will be different, and thus the game uploader on the site will need to be changed. I looked at the Genesis Plus GX save state, and it looks like the data may just be shifted, and the endianness is different (something that is 04 09 in Gens is 09 04 in Genesis Plus GX). Have not looked at Snes9x save states yet.

I'm still not sure if we need Hamachi or not. There is a "relay server" option in RetroArch that works similar to Hamachi. This is supposed to remove the need to open ports. Though I connected to Kingraph just fine and he did not have that enabled. 

If anyone is interested to try it out, PM me here or on Discord and I can help set you up. I'm still a little unfamiliar with the interface (Kingraph and I just yesterday figured out how to close a ROM haha), but I can help you get ready to play online with it. I'd like to get more people to test it out, especially guys who are quite a distance away from each other. Once we have it fully tested, and it works well for us, we can start using this going forward for leagues.

 

TL;DR - Gens emulator sucks, RetroArch might replace it and ZSNES, need more testing.

 

Oh and just to warn you, the most confusing thing is the controller setup. The button layout is similar to an SNES controller. So if you plan on playing Genesis, "Input button Y" in RetroArch is equivalent to the A button on the Genesis controller, "Input button B" is B on the Genesis, and "Input button A" is C on the Genesis controller. What's nice is once you have it set up, you can use your controller to navigate the menu.

 

 

RetroArch Threads:

 

 

 

  • Thanks 2
  • Like 3
Link to comment
Share on other sites

I will say setting up is a bit of a pain, but after you get Retroarch configured, netplay is simple and straightforward.  No need for Hamachi, no need to type any IP addresses. 

By far the best aspect is that you can join at any point in the game.  So if there is a desynch, or anything, you can join and pick up right where you left off.  Even load a savestate to play. 

More to come,  but definitely worth looking into more for Genesis so far.  One issue is that we'd have to figure out the savestate data again for stats as it's different than GENS. 

  • Thanks 1
  • Like 1
Link to comment
Share on other sites

I am more than willing to help test this stuff out, but won't be around till later tonight, late Wednesday night.

 

I think it's 80% of why we lost people going from the low B levels.  Guys would get aggravated with lag & desynchs and just lose interest if it was too much work to connect with each other.  I think most people are willing to grind out to get your first taste of online playing an old favorite game, but don't want to keep grinding every time you go to play.


BUT, even if it's harder to setup but ends up easier to play, I think it's a WIN long term for sure, especially come playoff time!!!

  • Like 1
Link to comment
Share on other sites

35 minutes ago, Brutus said:

I am more than willing to help test this stuff out, but won't be around till later tonight, late Wednesday night.

 

I think it's 80% of why we lost people going from the low B levels.  Guys would get aggravated with lag & desynchs and just lose interest if it was too much work to connect with each other.  I think most people are willing to grind out to get your first taste of online playing an old favorite game, but don't want to keep grinding every time you go to play.


BUT, even if it's harder to setup but ends up easier to play, I think it's a WIN long term for sure, especially come playoff time!!!

 

Thanks bud! We need more testers. 

I agree with your statement on why we lost people. I've had plenty of experiences with new guys trying to get them set up online play, where they just seem frustrated afterwards. Anything to make that easier is a win.

It's not so hard to set up RetroArch, just clunky interface. There's a lot of options in the menus that you would never need to touch. It's not very intuitive. But, you should only need to set it up once.

 

 

On a side note, it looks like the only differences with the save states for SNES is an offset. Gens is an offset and byte swap. These are not big deals, so we can use the save states to upload games like we do with Gens and ZSNES.

Link to comment
Share on other sites

2 hours ago, chaos said:

 

Thanks bud! We need more testers. 

I agree with your statement on why we lost people. I've had plenty of experiences with new guys trying to get them set up online play, where they just seem frustrated afterwards. Anything to make that easier is a win.

It's not so hard to set up RetroArch, just clunky interface. There's a lot of options in the menus that you would never need to touch. It's not very intuitive. But, you should only need to set it up once.

 

 

On a side note, it looks like the only differences with the save states for SNES is an offset. Gens is an offset and byte swap. These are not big deals, so we can use the save states to upload games like we do with Gens and ZSNES.

Any hope for being able to play 2v2 with 4 players on Retroarch?

Link to comment
Share on other sites

10 hours ago, chaos said:

 

SNES - Possibly Snes9x, or bsnes will work

 

never heard of bsnes....do you know which one is better? I watched a couple youtube vids....didnt really pick up on much difference.

Link to comment
Share on other sites

14 hours ago, Lupz27 said:

Any hope for being able to play 2v2 with 4 players on Retroarch?

Possibly. Worth trying out at some point.

 

10 hours ago, halifax said:

never heard of bsnes....do you know which one is better? I watched a couple youtube vids....didnt really pick up on much difference.

It's supposed to be the most accurate emulator and is 100% compatible with all the game library. I noticed on Windows, Snes9x seemed to play faster than on console. But when I tried Snes9x on Mac, it played fine. Might be a setting, but I would like to try bsnes out too (I think the current name of the emulator is higan)

Link to comment
Share on other sites

I assume that there is a config file for controllers - I wonder if it would be possible to create that file and have it zipped into a retroarch folder, that way guys wouldn't have to set it up individually. Might save a step if guys have the right controller.

Link to comment
Share on other sites

I just played a test game with Chaos and things worked like a dream despite chaos being connected to hotel internet.

I've been having just a never ending list of issues with gens and kaillera from my home but this new retroarch setup just worked right through it. I would really love to see this thing get some steam moving forward with more testers coming to the forefront.

This platform has a lot of potential.

  • Like 2
Link to comment
Share on other sites

10 hours ago, jer_33 said:

I assume that there is a config file for controllers - I wonder if it would be possible to create that file and have it zipped into a retroarch folder, that way guys wouldn't have to set it up individually. Might save a step if guys have the right controller.

 

This might be possible. There might be a way to have specific configs for specific cores. So Gens Plus GX would only show buttons A,B,C,Start, Dpad etc.

  • Like 1
Link to comment
Share on other sites

On 5/22/2018 at 2:59 PM, kingraph said:

By far the best aspect is that you can join at any point in the game.  So if there is a desynch, or anything, you can join and pick up right where you left off.  Even load a savestate to play. 

Have there been any desyncs? Or is this just a theoretical comment. 

On 5/22/2018 at 4:20 PM, chaos said:

Thanks bud! We need more testers. 

On a side note, it looks like the only differences with the save states for SNES is an offset. Gens is an offset and byte swap. These are not big deals, so we can use the save states to upload games like we do with Gens and ZSNES.

I am in for testing.  Will have to wait a night or two, though.

That is awesome news if the same savestates can be used! (Just a small tweak to nhl94online.com.)  I was envisioning a whole rewrite of the file parser. Maybe we will just need a checkbox saying GENS or RETROARCH when you upload, or possibly even autodetect based on file data?

17 hours ago, angryjay93 said:

I just played a test game with Chaos and things worked like a dream despite chaos being connected to hotel internet.

I've been having just a never ending list of issues with gens and kaillera from my home but this new retroarch setup just worked right through it. I would really love to see this thing get some steam moving forward with more testers coming to the forefront.

This platform has a lot of potential.

I certainly hope this works out.  If Retroarch is:

1. more stable, and
2. easier to use

It is a no brainer to go with it.  Especially since some of the big names in the community are pushing it.

Count me in as a tester, but I can't do it until Friday or Saturday night.  Tied up until then... 

Link to comment
Share on other sites

37 minutes ago, aqualizard said:

Have there been any desyncs? Or is this just a theoretical comment. 

 

No actual desynch, but we tested scenarios where one person would drop, and then rejoin and it worked fine/smoothly.  We also tested loading a savestate while in the middle of a game and that worked smoothly as well. 

Link to comment
Share on other sites

Chaos and I played a game for SNES9X. Worked fine. I was on a mac and he was on a PC. No lag. worked well.

It took me an hour to get it set up the retro arch. But this is WAAAAAAAAAAAAAYYYYYYYYYYYYYYYYY better than before. It will bring me back in the fold for sure.

Thanks again Chaos....this is great!

 

  • Like 2
Link to comment
Share on other sites

15 minutes ago, halifax said:

Chaos and I played a game for SNES9X. Worked fine. I was on a mac and he was on a PC. No lag. worked well.

It took me an hour to get it set up the retro arch. But this is WAAAAAAAAAAAAAYYYYYYYYYYYYYYYYY better than before. It will bring me back in the fold for sure.

Thanks again Chaos....this is great!

 

 

Cross-plaform works for SNES, need to try Genesis. I got an error with AJ, but I was able to save a state on Windows, and load it on Mac, and vise-versa with no problems. 

 

Thanks bud! Only reason why it took an hour was because you didn't do a good job reading! ;)

  • Sad 1
Link to comment
Share on other sites

5 hours ago, donnybrook said:

I stopped playing 94 because I believe hamachi to be trash and I refuse to use it for gaming. If retroarch worked well and could do 4 players better than kaillera i would be all over it. 

You probably know this, but just in case: you don't need hamachi to do 4 player on kaillera, since it's server-based (hamachi is for establishing p2p connections without everyone taking the time to learn how to do port-forwarding in their routers like real men :P).

Link to comment
Share on other sites

  • chaos pinned this topic
On 5/27/2018 at 8:08 PM, smozoma said:

You probably know this, but just in case: you don't need hamachi to do 4 player on kaillera, since it's server-based (hamachi is for establishing p2p connections without everyone taking the time to learn how to do port-forwarding in their routers like real men :P).

smoz ya gotta give me more credit than that.. of course i know that :-P

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Who's Online   0 Members, 1 Anonymous, 80 Guests (See full list)

    • There are no registered users currently online
×
×
  • Create New...