Jump to content
NHL'94 Forums

chaos

Admin
  • Posts

    2,024
  • Joined

  • Last visited

  • Days Won

    56

Posts posted by chaos

  1. 44 minutes ago, hokkeefan said:

    You could still start this up in December , could do the draft , all the trading, setting up rules n rosters n lines,create ROM.

    Then let us exhi out and have fun then have the official league start January 3rd.

    The initial beginning stuff will take a couple weeks anyways and then people can finish up playing classic  

    Waiting another 2 months to even start the process is kind of silly , I could be dead by then of old age lol

    Yeah this is a good idea. Maybe start draft mid-late December

  2. Yeah the boosted goalies is more for the B players to help them out. Top guys usually don’t care about goalie. Boosted goalies can make another 10-15 goalies or so after the top 3 useful. 

    Also, forgot to mention hot/cold. I like the idea of hot/cold, it makes it a little more realistic. Some guys being hot can make a lineup they normally wouldn’t. Hot/cold display should be accurate though. I think there is a way to control the wild swings though. Maybe small boosts/nerfs?

    player retention just an idea I was thinking about when I wanted to start Blitz up again. But that could be for another league. I’m fine with not doing that. 

    also agree with thinking best guy to rule on trades would be someone not in the league  

    @Uncle Seth good point, maybe start the league after New Years. Holidays get too busy. 
     

     

  3. I know a lot of Gens guys have been wanting another draft league. But, everyone has their different opinions on what they want in the league. I'd like to get a draft league running at least 3 times a year, on a regular schedule. This way, if a guy can't play one season, at least he knows when the next season will be set up and can plan to join that one.

     

    I have a couple ideas. I was thinking a weight bug draft league (like GDL) would be good, but with some changes. Please let me know if you like what I am proposing, or some tweaks you would like to see. 

     

     

    I'd also like to do a WBF draft league, but not having these running at the same time. I'm not sure alternating is good, or just having a GDL-like league in the fall-winter, and a WBF league in the summer-spring. Or maybe alternating one another would be good.

     

    Anyways, my ideas would be relative to both leagues, so here's a list of what I propose:

    1. A and B Leagues - One draft pool, but separating players by skill (like Blitz did). The winner of B would automatically go to A league the next year, and the worst team in A would fall back to B league. Or maybe a combination of coaches (i.e. bottom 3, top 3). I would probably limit the amount of coaches to 10-12 a league, 20-24 total. Or, have a single league, split up skill by conference, and have conference play each other 2 games out of the schedule.
    2. Draft Trade Committee - Now, in past draft leagues, we have seen unfair trades with veterans raping newbies. I'd like to set up a trade committee of 3 coaches to rule on trades. If you are on the committee and involved in the trade, the other 2 would rule, with commissioner being the tie-breaker if needed. 
    3. Penalties ON, but set to 1 minute - I like the balance of this. Change penalties to 1 min. This usually gives the PP team a good 2 chances to score, and not make it too unfair with AI penalties
    4. Boosted Goalies - I'd like to take a page from Blitz, and give all goalies other than the top 3 (Belfour, Roy, Fuhr) a boost. Maybe 1 AGL point and 2 points towards their glove and stick attributes.  This helps make more goalies useful, and allows better selections at the top of the draft, with guys not having to worry about picking a crap goalie later on.
    5. Advantages Even - I think this is necessary for all draft leagues. PP/PK and Home/Away advantages neutralized.
    6. Player Retention (Future) - I'd like to do this, maybe carry 1 or 2 players over from your roster the season before. But I haven't thought of the perfect way yet. This probably wouldn't be implemented for the first few seasons. I was thinking something similar to how Salary Cap was done. Assign money values and allow you to keep a number of players below your salary cap. Also, put a limit on how many seasons you can keep a player.

     

    Anyway, any opinions are welcome. I'd like to start the league up before December or early December. Let me know what you guys think.

     

    • Like 1
  4. Fall '20 Classic League Registration!

    Register HERE

    For those of you who have registered on the NHL94Online site before, then registration will be easy. You just need to choose "Yes" for the question "Have you registered for a league before?", type in your site user name and password (NOTE: This is different than your forum password and user name, unless you made it the same), and choose the league you will be joining (right now, you can select Genesis or SNES). Then, hit "Submit" and you will be placed on the waiting list. It's that easy.

    For those of you who have not registered on the NHL94Online site before, then there is a little more info needed to complete registration. You need to choose "No" for the question "Have you registered for a league before?" and enter a user name and password (it's common to use the same user name as your forum name or Discord user name). You will also be asked to fill out some more information about yourself (email, location, timezone, Discord user name, system preference). Then choose the league you will be joining (GENS or SNES). Then hit "Submit" and you will be placed on the waiting list. You will then need to play a test game to make sure your connection is set up properly. This does not affect your place on the waiting list, but you cannot play in the league without playing the test game. If you have played in other online leagues before, you are technically confirmed already. Please PM or email me (chaos[at]nhl94[dot]com) and I will change you to Confirmed status. 

    Registration deadline will be Sunday, November 15th. The day after, we will hold a Team Selection Draft. The draft order will be randomized. After the draft is completed for each league, the schedules will be released and the league will begin. If everything goes smoothly, the league will start the following Monday after the draft. Schedules may be posted before that time, which means you can start playing, but officially the league would start on that Monday. Stay tuned on Discord leading up to November 15th for more information on the Team Selection Draft.

     

    NOTE: This season, we will be using RetroArch version 1.8.8 for playing online games. Everyone who is playing in the league needs to make sure they have this set up. I suggest everyone play a test game to make sure it is working. Some of you already have experienced Netplay via RetroArch, so please help the others who have yet to try it out. While the relay server (previously used over the last year) has become unreliable connection-wise, I suggest learning how to set up direct connect (IP reservation and port forwarding on your router). 

    Please feel free to contact me if there are any questions/problems! (either via PM here, email, or Discord).

     

    For more info on setting up direct connect using IP reservation and port forwarding, please check out this guide.

    Note: If you are having trouble/issues with setting up direct connect, please post in the #retroarch-help channel on Discord. I would suggest giving it a shot yourself first, before requesting help, so at least you will be familiar with certain things when those helping are asking you questions. There may also be situations where you cannot do port forwarding on your router (don't have access to it, ISP prevents it, etc). This will be handled on a case by case basis. 

     

    LEAGUE INFO

    The season is 40 games. There will be no limit on registration this season; as long as you register and played a successful test game, you will play. We will divide the registrants up into different League Levels based on skill and experience in online leagues. The different League Levels will be decided after registration is over. If you register after the registration period is over, you will be placed on the Waiting List for the league. Don't worry if you end up on the Waiting List, there is a strong chance you will end up taking over a team during the season!

    40 game leagues will have the same 6 games/wk checkpoints as the past few seasons.

    You CAN NOT sign up for multiple league levels (i.e. GENS and SNES). Only those who are reliable will be allowed to do so, at the discretion of us admins. This will allow you to concentrate on one league.

    For those coaches that are new, I suggest practicing and becoming familiar with a few teams. This way, you will have multiple teams on your "Draft Board" to select from during the Team Selection Draft. Note, there will not be more than 14 teams in a league level, so with at most 14 teams drafting, you will have a good shot at a Tier A or B team.

    You can contact any veteran coach to play some exhibition games, or practice against the computer.  You must join our Discord Server (link at end of post). Whenever you are available, you can post in the #testgame channel on the server and request a test game, or use the #exhibition-games channel for practice.

    Good luck! If there are any questions or problems, feel free to PM us or email us at chaos[at]nhl94[dot]com, or halifax[at]nhl94[dot]com.

    INFORMATION FOR NEW GUYS

    Read This - Guide for New Members


    If you are new to the league, welcome! We are a big friendly community here, and there are a number of guys who are always around willing to help the new guys out. First things first, you need to register for NHL94.com (this site), as well as on the nhl94online.com site (registration link at the beginning of this post). It is also required to have a Discord screen name, since that is the main method of communication for scheduling games. Once you are registered, the next step is to set up a test game. You can use the forum links below and post your availability. You can also post on the Discord server, in the #test-games channel and request a game (this is recommended, since there are more active users checking in on Discord). One of the veterans will send you a PM or a message on Discord (or feel free to add some veterans onto your Discord Friend List and message them yourselves). A test game needs to be played in order to make sure your emulator/network settings are correct. Once the test game is played, the veteran will confirm you on the nhl94online site. Once this is done, you are set until the season starts. A few days before the season starts, usually the day after registration ends, we will be holding a Team Selection Draft to choose teams. The draft will be held in the forums, so please make sure you register! An email will be sent out to all registrants before the draft, so it is important to register using an email you commonly check (also check your Spam or Junk folder). Once teams are selected, the schedules will be put up on the site and you can start playing your games. There will be another post announcing the start of the season, with information on how to log games, contact other coaches, and how to make the playoffs. Also, keep an eye on the Discord, as information is usually posted there first.

    Everything you need to play can be downloaded in one package from the nhl94online.com site. On the main page of the site, the Downloads section is located bottom right. This contains the ROMs used for the league, along with the emulator cores and the current RetroArch frontend.

    I hope we get some new guys who recently participated in some of our live tournaments!!

    Again, if you have any questions, please email me (chaos[at]nhl94[dot]com) or PM me via the forums.

    Discord Server (You can register for a new account via the link) - NHL '94 Server
    Getting Started Online - RetroArch setup and link to Netplay Guide- Getting Started
    Rules - Rules
    Genesis Test Games - Post Here or #test-games on Discord
    SNES Test Games - Post Here or #test-games on Discord
    View the Waiting List here

    • Love 1
    • Thanks 1
    • Like 2
  5. The problem may be that it is a headerless ROM. You might have to add a header to it. I'm not sure (actually I doubt) Statto's Editor can take a headerless ROM. 

    Look online, there are programs that can add a header to it

     

    EDIT: The ROM in the RA package is headerless, the ROM in other locations I'll bet has a header.

    • Thanks 2
    • Like 1
  6. 2 hours ago, Champ Weit said:

    Yes kingraph, that is the challenge!  Your goalies actually fill in as defensemen and the defensemen slot into the vacant forward positions.  One work around is setting your lineup to the specific defensemen that are temporarily out of the box - then your goalie becomes your center.  Let me know how you do!

    Can you show us a screenshot of you doing this?

  7. 2 hours ago, Ellis said:

    I thought I’d comment relating to my experiences this far as now I’ve successfully hosted matches and logged the results. It is IMO very well set up and it is very simple. This post I’ll share what I feel could assist future members a smooth experience. First of all I’m blown away by the community! The effort into the website is very nice and I’m not criticizing anything. I’m only sharing my thought as I’ve now experienced the process of online league play. I’ll list in order of priority.

    I’m also considering the reality of there will be many persons who will not be familiar with some of the terminology which may be obvious to experienced users and admins. I found that I had to search out what could be considered to be easily attainable information. I’m patient with this but many will not be.

     

    Homepage - http://www.nhl94online.com/

    1. The homepage having a very large or bold link that really stands out on “getting started”. There is a link already but I feel it is somewhat concealed. Really make this stand out.

     

    Within “Getting started” link and page

     

    http://www.nhl94online.com/html/getting-started.php

     

    2. “Step 2 – Controller Config” The posted image looks like a mirror of step 1 image. I realize the bottom image has yellow writing but this could be highlighted. In the first sentence of step 2 I think it would be good to have “go to Settings->Input->Port 1 Binds”. Also the step 2 image could highlight “Settings” as opposed to “Load Core”. Also the Link and message below this image didn’t stand out to me and I feel it’s quite an important step. The linked page is for controller setup is very helpful. Maybe make the “Step 2 – Controller Config” a link for “controller not configured” issue?

     

    3. “Step 4 – Loading Core and Content” I literally had know idea what a “Core” was. I figured it out quite quickly but an impatient, non tech individual will not give it a thought and leave. Maybe the first sentence in this step could clarify what is meant by “core” in relevance to a sega genesis or super nintendo console? Like literally write “A Core is the gaming system we use. Sega Genesis and Super Nintendo.” This may not technically be correct but at this point f**k technicalities. :)

    Up to this point having Retroarch running with a working controller configured and a game loaded has to be the most important component in the steps before online play can begin and this is the order which is presented within “getting started”.

     

    4. Save State. I found information in the forums. It is somewhat buried. I think this is also very important and personally think it should be brought to the forefront as well. Maybe add a “Saving the game” link/section and place it before “Netplay Guide”. I guess it could come after the “netplay guide” but I feel it should be on the “getting started” page as well?

     

    5. Netplay as per the link contained within the “getting started” page.

     

    https://forum.nhl94.com/index.php?/topic/18461-how-to-netplay-over-retroarch/

     

    I did look through the forums and tried to gather what I could regarding netplay and I still had questions. All the information is available but the location of this information could be made more readily available. I feel a link to a video would be perfect here. If there is a link to a video on this page then apologies.

    The title of chaos’ post “Netplay via RetroArch” would be the perfect link while also serving as the title or right underneath it.

     

    6. Logging league games.

    I’m not exactly sure where to best position this but I looked in the forums and in the end I was linked by an admin. Much appreciated of this I was but I’m thinking its pretty buried within the forums. So maybe placement within the “getting started” page?

    I think that’s what I can think of for now in my experience for online league play. I’m somewhat understanding of tech terminology so I got by. Also the community on discord was very helpful. I feel my suggestions may have led to less questions on discord and maybe inconvenience to some on the forums.

     

    Sorry If I’ve come across as a little nitpicky and missed some obvious links or information but I think these suggestions may be useful for future members? It would have made it slightly easier for myself.

     

    Keep up the great job admins!

     

    The Save States and Logging league games is really only necessary for playing in leagues, hence why it isn't part of the Getting Started. Purpose of Getting Started is getting the install done and controller set up, playing on your own, which is what I would figure 80% of people want to do. The links about save states and logging games should be provided to you by the league commissioner or should at least be explained to you by whoever is helping you confirm your setup. In Classic league, which is the usual beginner league, all this information is given in a forum post every year. Unfortunately, no one seems to read it! I'm guessing a video showing a how-to might be better. 

    I plan on revamping the Getting Started page soon and add some stuff to the front page of nhl94online. I 100% agree with you about the controller config thing, and every time I send it to someone I say to myself "I have to change this so it's easier to see", and then forget 5 min after.

     

    If anyone is willing to help make videos on some of these things, it would be excellent. I can link them on the Getting Started page.

     

     

  8. 15 minutes ago, Ellis said:

    In my experience I would say the only thing that held me back was always putting off the figuring out the netplay. I created my account on nhl94.com in 2009. When I came across the site I was amazed and I have always kept checking in out of interest in this community. I just never took the leap of jumping in. As per recent feedback in this thread I feel a detailed instruction on netplay could attract more players? A detailed set of instructions with images or even a youtube video with a link on how to setup? I realize this takes effort so by no means am I saying "somebody has to do this!" This most likely would have had me competing earlier. I do like the idea of this being advertised on the homepage in more of a bold approach.

    Anyways I'm a huge fan of this community and much shout out to the creators and admins who created and keep it going. I'm really excited to finally join a league!

     

    Hey bud, these are on the forums already:

     

    Also, link to a video showing set up - 

     

     

    Though, it should be in spots more readily accessible. I think that's the gist of this thread.

     

  9. 10 hours ago, Cackenballz said:

    Hey All!  Long time listener, first time caller, so-to-speak.

    First of all, thank for this amazing site/forum/community.  The sheer amount of resources and information that's been discovered, shared, and organized is incredible.

    With so much already being done, it's almost like there's no opportunity to give back.  I've recently got back into retro gaming and have been playing NHL '94 on RetroArch (luckily before they got hacked, though it seems they're back up now).  Since they don't have a Gens core, I've been playing with Genesis Plus GX.  I couldn't find reference on here, but the offset difference in the save files is 9,321 earlier hexes.  That is, Genesis Plus = Gens - 9321.  Also, every other hex is flipped - the endian thing.  Forgive me, I'm new to rom hacking/hex editors.  I tried to flip them with Hex Workshop but couldn't get it to change.

    Therefore, I've been using (learning) python to parse through the hexes and take the save state files to save the stats in a MySQL database for my own personal replay of a season (yes, that's just over 1,000 regular season games...but hey, it's quarantine).

    All has been going great (again, thanks to the incredible resources on here).  I'm happy to share any of my work, but I think most people here use Gens and already have extractor options.  However, while there have been a few threads that I could find about difficulty, it would seem that there's no great solution.  I've been playing as the visiting team to perhaps give them more victories, but now the home team barely wins.  Not that I'm amazing at the game, but the AI isn't a great scorer.

    Anyway, I've been considering options to counter this - maybe play as the team with the worse record or switching sides during the game.  For the latter, you can edit hex 0000C338 (offset 49976) in Genesis Plus (probably 0000E7A1, 59297 in Gens, but with Endian it might be one off) to change the human-controlled team.  I didn't see mention of this anywhere I could find, so please forgive me if this is already known.  The hex is 01 for home and 02 for the visiting team.  Note that when you change it and reload the save, the game needs a sec to "catch-up."  That is, when I first tried it mid-game, the player I was controlling stayed the same until the new team takes control of the puck.

    Of course, the first time I tried this was after a 2nd period lead of 3 and then the cpu outscored me 2-0 in the 3rd lol.

    Again, this isn't a difficulty solution, but more of playing against yourself.  For my league replay, it'll probably be a decent solution for me since I'll only be vested in one team's success...^_^

    I hope this is somewhat helpful (and posted in the right place).  I'm very grateful for all the assistance this forum has given to me!

    FYI :

    GPGX OFFSET: 9320. But, every 2 bytes are swapped. So, subtract 9320, then subtract 1. Not in cases where the data is 2 bytes, the first is LSB (Least Significant Bit), second is MSB (Most Significant Bit), and in that case, no need to subtract 1.

    Player Data is listed as player offset: 01 00 03 02 05 04 ...

     

    I also have written a stat extractor in Python. You can look at that if you'd like to write your own code. Below is the link. It's an old version though. I also attached here the source code for the version that works with RA save states. I haven't added it to that post yet because I wanted to add batch save states functionality to it. Also, I don't think the SNES side works yet either. If you have any questions, let me know.

    Code - Stat Extractor v05.zip

     

    • Thanks 1
  10. 4 hours ago, Drunken_1 said:

    Yeah, however I never wrote anything down from my front page of the 32 team project.  I have contacted some people to see if I can get that still.  Hoping it's not too late, I really need some of those locations.... and I just started getting motivated again.  I will update my original post as the Information part of the thread.  I will post screen shots and other things to show off this project.  

    Have you tried using the wayback machine on archive.org? It takes screenshots of pages over time, there may be screenshots of the stuff you are looking for.

    • Thanks 1
  11. Also, the most important thing is your local FPS (or frame rate). This should be very close to 60Hz, usually bouncing around in the 59-60Hz range. If you do not see this type of frame rate, check the troubleshooting thread! 

     

    You can check the frame rate by using the F3 key (or Shift-F3, or Fn-F3, depending on your keyboard). You will see an FPS display in the top right of RetroArch. I recommend leaving this running all the time, so you can monitor it.

    • Thanks 2
    • Like 1
  12. There are 2 major forms of latency (or lag, whichever you'd like to call it):

     

    Input Latency - The delay from pressing a button, to the display of that button action on the screen. 

    Network Latency - The delay in communication from one computer to another. In our case, the amount of time it takes to for one player's button press to show up on the other player's screen.

    Latency is usually displayed in ms (milliseconds).

     

    An emulator displays video by frames. Most emulators use an ~60Hz refresh rate (similar to the consoles they emulate), which means it displays 60 video frames per second. The video on the screen refreshes every 16.7ms (1 second / 60 frames = 16.7ms). So, the fastest an emulator can show a change on the screen is 16.7ms.

    This may seem like very little time, but in regards to computer processing, this is a ton of time. A lot of things happen within those 16.7ms, one of which is preparing for the next video frame.

    Input Latency

    The emulator checks for controller input during a specific time during a frame. If the input arrives before that time, it will update the video on the screen. How soon you see a reaction to your input is called the input latency.

    Many things can factor into this: 

    • Controller - Your USB/Bluetooth/wireless controller polls the button inputs every couple of ms. Some poll quicker than others (2-4 ms), some take longer than others (11-16ms). This contributes to input lag. On top of that, the PC will poll the controller, which also contributes to input lag (though this is usually 1-2 ms). So, when you press the button, the controller polls the buttons to see what was pressed, and then the PC polls the controller to get the input. This is not instant.
    • Emulator - Depending on how well the emulator is coded, some of them can contribute to input lag. It can receive the input from the PC, but it may take a frame or 2 before it updates the video to show the input.
    • Display - Depending on your monitor or TV, there could be a delay added. HDTVs especially, since there is some upscaling of the video involved in order to display it (this can add a few frames). Computer monitors are usually lag-free.

     

    Regardless of all the latency added above, the emulator still checks for input every 16.7ms. So if you press the button, if it gets to the emulator in time, it will display it. The problem is this: It only checks every 16.7ms. So, if you press the button mid-frame (8ms), and your input latency adds up to 10ms, the total is 18ms (10ms latency, 8ms to press the button), and you will miss the frame. Your input has to wait for the next frame to show up.

     The best way to think of the above is this way: Imagine you need to get on the bus. A bus comes by every 16.7ms to pick people up. It takes 10ms for you to get to the bus stop from your house (your latency). Depending on the time you leave your house (press a button), will depend on what bus (frame) you make.  

    If you are curious as to the input lag of your controller (the first part of above), you can look it up on the internet. A lot of people have done tests of controllers. For example, the wired retro-bit controllers come in around 10ms, where as a wired 8bitdo M30 2.4g has about 3-4ms.

     

    Network Latency

    Network latency is the amount of time it takes for communication between 2 PCs. This comes into effect during Netplay, when 2 PCs are sending inputs back and forth. 

    Latency increases with distance (the further the signal has to travel, the more latency there most likely will be), but there are many other factors that can cause latency:

    • Wifi - A wireless signal from a PC to a router can be affected by many things. Walls, interference from microwaves (microwaves use the same frequency as most Wifi routers), interference from wireless landline phones (same frequency), distance from PC to router, devices on Wifi, etc. You can have the fastest internet and Wifi router in the world, but it will not make a difference. Wifi adds lag, and since it isn't consistent lag, it makes it even worse.
    • Jitter - Your internet speed is not important when it comes to gaming. You can have 1GBit download and upload speeds, but what matters most is jitter, or stability. Input lag is usually consistent, in other words, stable. Your eye can easily adjust to it after a minute or so. Network jitter causes instability, where the network lag constantly changes. There are many things that can cause this, though most are out of your hands. You can check your network jitter using online tests such as speedtest.net. Note, this will change (you will get different results every time you run it), but the goal is to have jitter that is less than 8ms or so. One of the only ways you can control jitter is by using a wired connection for internet, between your PC and router. Other than that, you are at the mercy of your Internet Service Provider (ISP).
    • Local Network Load - This is a problem again you may have some control over. The amount of devices using internet on your local network can cause a load on the router, where the router has to decide what devices to let through at a given time. Sometimes, your PC will be at the top of the list, sometimes on the bottom. The router decides what is most important. Sometimes, some routers have settings that give priority to gaming. Usually, this isn't much of a problem, but it could be.
    • ISP Network Load - You have no control over this. This depends on how many people are using the internet at a given time. In a case when a pandemic is going on, internet usage goes up, causes a network load, and everything slows down. Peak times (after work hours) will also cause issues with network traffic. 

     

    Some people just have crappy internet service providers, and it might be their only option. In these cases, you just have to limit what you can. Again, speed doesn't matter, this game could be played using a 1200 baud modem no problems. The amount of data passed between PCs is just inputs, and occasionally save states. The most important thing is stability. If the Network Latency is constant, it can be dealt with easier than if it is constantly changing.

     

    Both Input Latency and Network Latency are added together when it comes to Netplay. So if we use our bus analogy:

    Imagine you need to get on the bus. A bus comes by every 16.7ms to pick people up. It takes 10ms for you to get to the bus stop from your house (your input latency). But now, there's traffic along the way (your network latency). Depending on the time you leave your house (press a button), and depending on how bad the traffic is at that time (network latency), will determine what bus you get on (what frame).

     

     RetroArch Netplay

    Like I said above, your Input Latency (which is local to you) and Network Latency (between you and your opponent) affect your Netplay experience. 

    RetroArch netplay, the way it works in a nutshell, is it checks frame by frame to see if it receives an input from the opponent. It also keeps track of what frame you and your opponent are on, and compares. When you connect to each other, it starts frame counting. So, when you press the B button on Frame 123, it sends that information to your opponent. When your opponent is on Frame 123, it receives your B button press, and shows it on the screen on the next frame (124), just when it would show on yours as well. In a perfect world, every button press on a frame would be registered on the same frame for your opponent, without problems.

    But, what happens when you press your B button and it's showing your pass on Frame 123, but it doesn't get to your opponent until Frame 125? This is the effect of latency. What RA does in this case, is rewind to Frame 123, show your B button press, and continue. Now in this case, there is 2 frames of lag (which is ~33ms). The rewind may go unnoticed in this case. But, lets say the frame difference was 10 frames. That's 166.7ms. That may be noticeable to  the player. In this case, what they see is a skip, or "rubber-banding" where the skaters rewind back 10 frames, then continue. (Note: more goes on than just rewind, just keeping it simple here)

    The short frame rewinds make it seem like input lag. Many players complaining about input lag are probably experiencing this. The larger frame rewinds are more noticeable and look like skips.

    In other emulators, what would happen in this case, is the game would stutter and hang until one side caught up to the other. If the frame difference was large, the game would de-sync.

     

     Input Latency Frames and Run-Ahead

    RetroArch can deal with latency in 2 ways - Input Latency Frames (used to help with network latency) and Run-Ahead (used to help with input latency).

    Remember, Netplay expect the input from each player to arrive on the same frame. This is unrealistic. In some cases, when people playing against each other are very close geographically, this is possible (as long as all latency equals to less than a frame - 16.7ms, this works). In cases when playing across North America, expect network latency to be in the 20-80ms range.

    Adding Input Latency Frames allows some time for Netplay to expect the input. If we add 2 Input Latency Frames, for example, when we press B on Frame 123, it sends the press on Frame 123, but delays showing it until Frame 126 (pressed on 123, would originally show on 124. 124 +2 frames = 126). This way, the opponent's PC can wait for the input on Frame 125, showing it on 126, giving it 3 frames total of travel (Frame 123, 124, 125).

    Gens Kaillera Netplay and ZSNES both add 2 input latency frames automatically. Gens adjusts by adding more if needed (depends on ping).

    By default, Input Latency Frames is set to 0 in RA.

     

    Run-Ahead works locally, by removing input latency frames. By turning Run-Ahead on, you remove at least 1 frame of input latency (you can set it higher if you'd like). It's one of best features of RA. By default, it's turned off.

     

    TL;DR:

    So how can we use these to help improve Netplay experience? We can add Input Latency Frames, and remove some of them locally using Run-Ahead, to give us a near lag-free (in most cases) experience.

    Example:

    • If we set Input Latency Frames to 2, and set Run-Ahead to 1, we essentially add 1 frame of input latency locally (2 input frames - 1 run-ahead frame = 1 total).
    • This gives the network 2 frames to play with as far as receiving data, but we only see a difference of 1 frame while playing. This is not noticeable. Even 2 frames is hard to notice.
    • NOTE: Adding Run-Ahead frames becomes CPU intensive. You can experiment with it, but 1 or 2 frames should be more than enough.
    • NOTE: When it comes to adding Input Latency Frames, both players have to have this set to the same value. Confer with your opponent beforehand as to how many you will set.
    • Run-Ahead is local only, so this doesn't matter if the values are different between players.

     

    Setting Input Latency Frames

    1. Start RetroArch
    2. Discuss with your opponent how many latency frames you'll be using (I recommend starting with 1 or 2, that should be enough in most cases).
    3. Once decided, go to Netplay->Network.
    4. Set Input Latency Frames to the value decided (2 as shown below).

    Input Latency Frames.png

    NOTE: Leave "Input Latency Frames Range" to 0. Only set the Input Latency Frames. Also, the Input Latency Frames setting is saved when exiting RA. So make sure you check it before playing, if you'd like to change it again.

     

    Enabling Run-Ahead

    1. Start RA.
    2. Go to Settings-Latency
    3. Turn "Run-Ahead to Reduce Latency" to ON.

    Run-Ahead.png

     

    I recommend using 2 Input Latency Frames, and 1 Run-Ahead Frame as a starting point. Switch to 1 Input Latency Frame when playing someone who is closer to you. Again, confer with your opponent, as it's important that your Input Latency Frames are the same value!

    • Thanks 5
    • Like 1
  13. To those who copied over your Retroarch.cfg file from 1.8.5 to 1.8.8:

     

    There is a new setting that needs to be changed once you load RetroArch - Save State Compression. Please set this to "Off" in the Settings-Saving menu. If it is on, the save states will not upload to the site. You will have to turn this off, set the State Slot to one higher than the state number (ex: use State Slot 2 if you are going to load .state1) then load the state, and save it again. It will rewrite the save.

     

    If you are using the retroarch.cfg from RetroArch-1.8.8 package (it will have an orange border), this is already off by default. If you have a border color that is not orange (would be green, blue, or red) this will need to be checked.

    Screen_Shot_2020-06-27_at_3.58.04_PM.png

    • Thanks 1
  14. SUMMER CLASSIC 2020

    This season, we are having 4 Genesis leagues (GENS-A, GENS-B-East, GENS-B-West, GENS-C) and 4 SNES leagues (SNES-A-East, SNES-A-West, SNES-B, SNES-C).

    Admins - chaos, halifax, kingraph

    To see your schedule, head over to the nhl94online.com site. On the front page, use the league drop down on the nav-bar and make sure "Classic '94-2020 Summer" is selected. On the left had side of the page will show the list of coaches in the selected league and league level. This section will be available on most of the pages on the site. Here, you will choose the league level (GENS-A, GENS-B-E, GENS-B-W, GENS-C, SNES-A-E, SNES-A-W, SNES-B, SNES-C) and the list of coaches and teams will change. Once you've selected your league level, click on your team's name. This will open the Coach Page.

    On the coach page, you will see your schedule. This schedule is just a list of all your games, and does not need to be played in any specific order. You will be able to see how many games you have Away and at Home against a specific team. Once you have played a game and made the save (more on this later), you will use this page to upload the game ("Log a Game" link). Once a game is uploaded, you can also use this page to look at the game's box score at anytime.

    At the top of the page, is an area that shows some basic team stats. Also, there is a link to see your Roster Stats. On the right side, there is an area that has coach information and the standings for your division (along with a link for the full standings). You can click on any team on the left side of the page and see their stats, box scores, etc. You are not limited to just your Coach Page (but you need to use your page to log games).

     

    Here are some helpful links for navigating around the site:

    HOW TO: Netplay over RetroArch

    HOW TO: Create a Save State in RetroArch

    RetroArch Save State Uploading

    HOW TO: Log a Game with a Save State on NHL94Online.com

    NHL94Online.com Stat Pages - how to navigate to and display the different Season stat pages. The stats are collected from the save states that are uploaded.

    Teams and Schedules Page - displays the coach names and Discord usernames (update yours if you have not yet) for the coaches in your division. Again, if you have not joined Discord, you need to - Discord Invite

     

    Some important links for new coaches:

    League Website - http://www.nhl94online.com

    Getting Started - Getting Started

    Rules - http://www.nhl94online.com/html/rules.php

    Registration (for coaches who missed initial registration, and wish to be replacements) - Registration

    Waiting List - http://www.nhl94online.com/html/waiting-list.php

    Edit User Profile (if you wish to change any of your information) - http://www.nhl94online.com/html/updateuser.php  (Use to update your Discord Username, change your password, etc)

    All of the above links can be found from navigating the NHL94online.com navigation bar.

     

    For those of you who have forgotten how the site works, or for the new coaches in the league, a game is played and logged as follows:

    1. Contact the coach you would like to play on Discord.

    You can find their Discord Username by going to the nhl94online.com site. Choose the Classic '94-Fall 2019 league from the drop-down "League Selection" menu on the navigation bar. Choose the "League Level" you were assigned in the left-hand column and click on your Team. Your "Coach Page" should come up, and you can see which teams you have games remaining against. Click on that opposing team's name in the left-hand column, which should load that team's coach page. On the right hand side of the page, there is an area which contains the coach's Discord Username. You can contact them via the specific league channels on the Discord server, or via direct message. You can also choose the "Teams & Schedules" page from the menu bar and this will list all the coaches in the league and their Discord Usernames. 


    2. Play the game.

    Play the game against the selected coach. When playing a game against a coach, the decide beforehand who will be hosting and uploading the games.  In Genesis, the hosting coach is usually Player 1 (Home), and the coach connecting is Player 2 (Away). This can be switched in game by using the "i" key - (look at this post). SNES it doesn't matter, as this can be switched in game after selecting teams.

    Once the game is complete, and you get to the "Three Stars" screen or the Final screen, a save state must be taken and uploaded to the site (either coach can do this, please decide who will perform the upload beforehand). Please check out the threads on creating a Save State linked at the top of this thread post. Once the Save State has been made, the game can be uploaded to the site. This is done on the "Coach Page" that displays your schedule. By clicking on your team's name in the left-hand column, you access your "Coach Page". Games that need to be played will have a "Log a Game" link next to it. Choose the game that has been played, and upload the file. It is common that you can upload the games one at a time after playing your series.

    Type in your password (that you used when you registered for the nhl94online.com site) to log the game. Once this is done, the game is uploaded and the stats on the site will update.

    NOTE: If an incorrect save state was uploaded and has already been processed by the site (both coaches didn't realize the score was wrong and it was confirmed), please PM Kingraph, Halifax or me. We will need to correct it.

    EXTRA NOTE: Do not upload a save state that was taken during display of "Highlights from the game". It will take data from that game that is being displayed. Best place to take a save is when the Three Stars screen pops up, or wait till the highlight is done and you are back at the Final screen.

    Also, the schedule does not need to be played in order. It is encouraged to get all your games in with an opponent at the same time.

    Also, realize there is a delay when uploading the save. Wait until you see the message "Game has been uploaded" before backing out from the Log a Game screen.

    Checkpoints

    There will be WEEKLY CHECKPOINTS.

    8 GP / week.

    • 8 GP - end of Sunday, July 26th
    • 16 GP - end of Sunday, August 2nd
    • 24 GP - end of Sunday, August 9th
    • 32 GP - end of Sunday, August 16th
    • 40 GP - end of Sunday, August 23rd

    If you miss a checkpoint, you will risk the chance of being replaced. Coaches who are confirmed on the Waiting List will be used for replacement.

    If you cannot find a coach and would like to try to schedule a time to play, please use the "Schedule a Game" forum on this site, send them a message on Discord (preferred), or use the forum PM. Please make an effort to reach your checkpoints!

    Also, the 8 games a week is a minimum . Feel free to play more games than that. For example, if you play 16 games in the first week, then you already satisfy the first 2 checkpoints. It's easy to get to this 8 game point, since most coaches you play multiple games against, and everyone likes getting all the games against a single coach in at the same time. It normally amounts to playing 2-3 coaches a week. If there are issues making these checkpoints, please let an admin know. We are accommodating, as long as you let us know.


    Regular Season

    The regular season consists of 40 games.

    Playoffs

    Playoff series will be best-of-7.

    Also, NP (negative points) will be applied to missed games at the end of the season. This could hurt your chances of making the playoffs! If you weren't able to play certain games vs. your opponent you will be given NPs. You will lose two points for every unplayed game. So play early if you can and play often!

    NOTE: There will be no re-seeding in the playoffs.

    GENS-A Playoff Format:

    8 teams make the playoffs. The conference winners will be the top 2 seeds. The next 6 (by pts.) will be seeded by Win %,

    GENS-B East and West Playoff Format:

    8 teams make the playoffs. The conference winners will be the top 2 seeds. The next 6 (by pts.) will be seeded by Win %,

    GENS-C Playoff Format:

    10 teams make the playoffs. The conference winners will be the top 2 seeds. The next 8 (by pts.) will be seeded by Win %,

    SNES-A East and West Playoff Format:

    8 teams make the playoffs. Conference winners are top 2 seeds, next 6 best teams (by pts.) make the playoffs, seeded by Win %.

    SNES-B Playoff Format:

    8 teams make the playoffs. Conference winners are top 2 seeds, next 6 best teams (by pts.) make the playoffs, seeded by Win %.

    SNES-C Playoff Format:

    8 teams make the playoffs. Conference winners are top 2 seeds, next 6 best teams (by pts.) make the playoffs, seeded by Win %.

     

     


    That's about all. Good luck to everyone and lets hope for another successful season!

    If there are any website problems or questions about the site, or the league in general, please PM me (chaos), email me (chaos@nhl94.com), or Discord (chaos).

    • Thanks 2
  15. 4 hours ago, NullPointer said:

    Sorry, newb question - What kind of bandwith does this (or the RetroArch version) use?  How tolerant to lag is it, what kind of ping time is acceptable?

     

    Thanks!

    bandwidth is not important. You can play this game with a 14.4k modem with AOL as your service provider. 

    The most important thing is "jitter", or stability. Ping should be stable, not changing. 

    As far as ping, we've had success playing across the country not using any input latency frames. Input latency frames allow for higher pings by delaying inputs, and allowing the other player's inputs time to get to your computer. Though we prob should be using 1 frame at least as a buffer, we haven't had many problems.

     

    • Like 1
  16. 9 hours ago, donnybrook said:

    ya youre right, i didnt realize.  i just tried to play 2v2 in the finalburnneo emulator and i couldnt seem to get it to recognize it. it just wouldnt show up even though the rom was in the directory.

    but on the fightcade site it does say:

    "

    Is it possible to add <insert your favourite game here>?

    If the game is supported in the version of FBA bundled with FightCade then yes, otherwise no. "

    The final burn neo core is available on RetroArch too.

    Also, the Genesis Plus GX and SNES9x core supports 4 players, netplay supports spectator mode, hot swapping of player positions. If there's a problem hosting, someone else can host the game, go into spectator mode, and the 2 people can join and play each other.

    I'm up for trying something new, just don't like you can't do custom roms on there (I wonder why they would do that). The interface is really nice though.

×
×
  • Create New...