We are going to a basketball game when visiting New York (Knicks vs Raptors at the Madison Square Garden). The game starts at 8:00 PM. When is a good time to arrive at the arena?
A good time to arrive at an NBA games partly depends upon your definition of "good":
1. Avoiding lines/crowds
If you want to avoid lines and crowds, arrive at least 45-60 minutes before the game's start time (or earlier with Club tickets) will help avoid the crowds. Here's what Madison Square Garden's website says about open gate times:
Alternatively, you can arrive some amount of time after the game to avoid the rush of everyone trying to catch the start of the game (e.g. 30 minutes after start time).
2. Maximizing your NBA "experience"
If you want to spend the money, you can participate in a several pre-game events (shoot-around, etc.), but this may take some planning.
Even without such official pre-game events, you may want to simply tour the surrounding neighborhood bars/stores, and having an extra hour or two to do this is good. Of course, you do this after the game as well, depending what time the game ends, which in your case should be around 11pm. I don't know the area personally, so can't say what the neighborhood offers at this time of night.
3. Getting most NBA experience in limited amount of time
It could be that you don't want to dedicate half a day to the NBA game because you're only in town for a few days or whatever. In this case, I'd recommend considering arriving after the game starts (e.g. 30 minutes into the game). You'll miss the opening of the game where they announce all the players, but you'll still catch the end of the first half and end of the game, as well as have enough time to wander around the arena, etc.
Last bit of advice: I forgot to mention that arrival also depends on the day of the week. A Friday or Saturday night game will generally be more crowded than Monday through Thursday night games, so adjust accordingly.