Parsec Hockey League
A downloadable game for Windows and Android
QUEST Users: PHL is now available on SideQuestVR. Easier installation!!
PC Users can continue to download PHL here.
Work in progress. Be Warned! Here Thar Be Bugges!!
Multiplayer VR Hockey.
- Stickhand trigger swaps the blade curve
- Off-hand trigger accelerates you in the direction you're pointing
How about some advanced controls!
- Swap hands by pressing the off-hand thumbpad button
- On Oculus Touch controls, press the off-hand thumbstick button
- Snap-turn rotate by:
- pressing the stickhand thumbpad left or right
- Oculus Touch/Index/WMR
- Moving either joystick left/right will rotate you lef/right
There is a popup wrist menu on your left hand during a game. It gives you options to leave the current game or to toggle the voice chat. Note: the menu won't appear if you are accelerating. It's currently very picky about when it pops up -- I'll make it a little friendlier in the near future.
Discord link : https://chat.ParsecHockeyLeague.com
Supports up to 5v5. Buuuut we've only played 3v3 games. Automated testing shows 5v5 works. And sorry.... no human goalies at this time.
It's been used by Vive, Index, WMR, Oculus Rift, and Oculus Quest headsets.
The UI is ugly. Sorry. I'm not a UX guy by nature. I'm working on it.
Currently only supports a hockey game. I'd like to add a practice zone in the future.
No bots, so humans only. Well... the goalies are bots. And the ref.
The goal was to have a quick & fun "pickup" hockey game. Games are currently limited to 10 minutes or first-team-to-three-goals. If it's over too quick, start another game!
Games are identified by a "tag" of 4 hockey phrases. The game creator click on the tag to display all the tags. Pick 4! You can use the same tag repeatedly. When PHL gets super popular (hah!) you can tell your friends the tag so they can easily find your game.
There is built-in Voice-Chat; by default it's disabled - you can enable it in the main menu. You can also toggle it in-game by long-pressing the app menu button (varies by headset type)
Quest users: will need to give permission to use the mic
PC players: Make sure Windows has decided to use the right microphone
The game will try to numerically balance the teams when the game starts. Players who don't choose a side will be randomly placed. Unbalanced teams are addressed by randomly choosing players to move.
Players can vote for which team they want to represent. The game will choose between the teams with the highest vote totals. Home Team is chosen first.
NOTE: Team colors are a bit hideous right now. They are a work in progress.
|Fixed a lockup leaving a game via the wrist menu. And a super-minor UI cleanup on the main menu.|
|It's been a while! Removed the post-game screen; now everybody is sent back to the game lobby, ready for another game. Players no longer come to a dead-stop when hitting the goalie or wall. Ball is a little faster. Changed UI layouts in lobby so the the entire UI element is interactable.|
|To help validate some sync fixes, added an audible notification during faceoff and near goals. It's Moo-valous!|
|Tweaked the scoring summary. Fixed an uncommon rendering bug that would break the lobby menus.|
|Added a scoring log to the right of the main menus in the lobby screen.|
|Added a few international servers. US-W, US-E, EU, Asia. Made the default game speeds 4/4 -- the host can change this in the game config screen, but the faster game is just more fun! Fixed a rendering problem where the rink surface would block the game menus. Fixed some dead 'zombie' games showing up in the games list.|
|Reduced the ball loft, so shots should be more on-target|
|Reduced the appearance of lag during fast game eg. 5m/s w/5x accel. The player could end up moving so fast the actual anti-lag code would kick in the "catch up". Appears pretty smooth now. Remote players legs now animate. Animations still a work in progress,|
|Experimentiing with using animations instead of IK (Inverse Kinematics) for leg placement. Currently only one animation is used, so it'll look a little weird. Weird is good.|
|Added a game config menu that lets the game host change max player speed and increase acceleration. The idea it to play with these to fine-tune the movement parameters. Also improved the team randomizer (now with 100% More Random!), and changed the Away team color handling to prevent the Arcturus Avengers from masquerading as the Oort hOorde.|
|Stick-checking! The ball now collides with player bodies, so playing defense is more effective.|
|Looks like a bad build yesterday! Rebuilt.|
|Moved centers slightly back from faceoff. Made ball physics faster & bouncier off wall. Player acceleration tweaks.|
|Added a popup wrist menu to your left hand. Turn your wrist over to access buttons to exit the match or toggle the voice chat. The menu is currently very picky on when it appears... that'll be changed soon.|
|"YOU get announcements! And YOU get announcements! EVERYBODY gets announcements!"|
Networked the end-game announcements. Now everybody gets to hear them, not just the game host.
|"More Fewer Freeze'n'Flickers" Update. Quest microphone permissions no longer freeze the game at startup. Quest2 has reduced graphics flickering.|
|Experimental Ball Changes removed. PC & Quest2 now have benchriders to cheer you on. Plus you can look at the bench to tell which side is your side (by matching colors). Hint: score on the goal NOT on your side! Quest1 has them hidden for performance.|
|Remote players should now reset correctly after a goal. Mashing the START GAME button no longer breaks the game.|
|Players now teleport to starting positions instead of creepily swooshiing across the screen.|
|Added a CLEAR button to the player name popup keyboard|
|Goalies no longer freeze-in-place when the ball disappears after a goal is scored|
|Experimental changes to how the ball is handled over the network.|
Thought the ball sync looked smooth today IDK might delete later
|Adjustments to the player position preference system.|
|Stick physics fine-tuning continues. Slapshots should be a bit easier now.|
|"Announcer says WHAT ?!?!" update. Added an announcer to the game!|
|"Santa Brought Sticks!" Update. Significant change to stick physics. Fixed voice-chat so it works in the lobby for new players.|
|"Shiny Hockey Stop" Update. You can now quickly stop by accelerating in the opposite direction than you are moving. It's tricky to do, so practice! Added a slight acceleration curve -- you accelerate slower as you gain speed. Games are now played in the home teams arena.|
|"Another Game?" Update. When playing another game after a game ends, the game will actually start. Team names now show for non-hosting players. Game lobbies can be re-joined after a game is completed. Additional physics tweaks.|
NOTE: network changes means break backwards compatibility with this version. Previous versions wont see or be able to join this version.
|"Git Taller!" Update. Now auto-normalizes player height. Now people in chairs (read: developers sitting in comfy dev chairs) will appear as the same height as standing players. Also players stay in the same game room at end of a game.|
|"Mixed Bag O'Bugs!" Update. Reduced flashing (Z-Fighting) on Quest. Improved rink floor texture. Improved wall colliders to keep that pesky ball inside. Improved ball contact handling.|
|"Lets Play Again!" update. Cleaning up the menu behaviors.|
|Sneaky little update to improve debugging of automatic team balancing.|
|"Room Name?" Update. Fixed bug preventing players from joining games.|
|"So Many Teams!" Update. Changed the teams to 12 teams, split across 2 divisions. Vote for your favorite teams in either or both divisions; all votes count! Extended the team colors to include a 3rd color, but this won't be widely used until a future model update.|
|"Stop Stealing Our Votes!" Fixed an issue counting votes. Fixed a disconnect with the Home/Away checkboxes. Disabled a debug tool, whioch shoudl also help performance a bit.|
|"Get Out The Vote" Update. Voting to select team, and performance improvements.|
|"Stick Goes In Hand Update" Improved hand and stick positioning on other players.|
|"Bobblehead Update". Remote players remembered how to stand and how to move their heads. Good job! Also players no longer constantly accelerate. Good job stopping!|
|Oculus (Meta!) Touch controllers now use the joystick to snap-turn left & right. Should apply to Index & WMR controllers as well. Vive still uses the thumbpad. WMR can probably use the thumbpad as well.... but why? Joystick FTW.|
|Tweaked light settings to prevent post-game scene from getting baked.|
|Minor update. Added PSA board ads to the new rink.|
|"Oh! There's the menu!" Update. Rotates the players correctly at startup so the menu is visible. And orients players when placing before a faceoff. And at the post-game menu.|
|Minor UI cleanups. Renamed a couple default teams.|
|"Fasty-Questy" Update. Significant performance gains in multiplayer. PC will also benefit, but Quest players will benefit A LOT|
|"In Hockey, No One Can Hear You Scream" Update. Disabled a debug setting that could record microphone data to the local filesystem.|
|Fixed issue blocking issue with itch.io uploads.|
|"Ooops" Update. Multiplayer has been fixed. Apparently it's been toast for a few months. Oooops. Enabled voice chat in the game lobby. You can switch it on/off in the game, but it's currently always on in the lobby.|
|"Wrist-Breaker!" Update. Corrected a rotation problem using Oculus nee Meta Touch controllers that made the stick tilt up too much. Also removed the Grip button as a rotation trigger -- it was causing too much random rotation.|
Version Version 0.1.258.94
|"Rando Was His Name-O" Update. Added a new button to randomly generate the room name (game tag).|
|"Can You Hear Me Now?" Update. Added Voice Chat. Performance enhancements, most notable on the Quest.|
|"Mobilification" Update. Quest support. Changed gameplay rink. Significantly improved physics. Significantly rewrote things behind the scenes.|
|"UX-N-Bugs" Update. Minor tweaking of the User Experience, and added some PSA ads to the rink walll.|
|"Ads For Good" Update. Added some... uhh.. ads. Because hockey rinks look weird without ads on the walls. (Not real ads!)|
|"Come On Back" Update. Fixed an issue preventing players from leaving a game and joining another.|
|"Now YOU Can Play, Too!" Update. Fixed problems blocking people from joining someone elses game. Now you can. GAME ON !!!|
|The "Look Over Here!" Update. Players now face the right way at faceoff.|
|The Refs and Rockets! Update. Increased ball speed, much more responsive and controllable now. Refbot now makes an appearance at center before dropping the ball.|
|Something Stuck To Your Feet Update. Added skate blades.|
|Save the Titanic! Update. Fixed a bug that caused the players body to sink through the floor. No More Sinking!|
|On The Bounce Update. Significantly improved ball handling (read: made the ball 75mm in diameter). If I could dangle in real hockey, I'm sure I'd be able to in PHL now. Except I couldn't. And I can't. /sadface|
|STOP GOING THROUGH THE FLOOR! Update. Redid the floor detection, so now the stick won't drop down through the floor.|
|Auto-Grip Update. Stick now auto-resizes itself relative to the rink floor. Now you can try slapshots without the stick going crazy. Still some improvements to go, but it's way more usable now.|
|Updated||28 days ago|
|Made with||HTC Vive, Paint.net, Unity|
|Tags||hockey, Multiplayer, Virtual Reality (VR)|
|Average session||About a half-hour|
|Inputs||Oculus Rift, HTC Vive, Oculus Quest, Windows Mixed Reality, Valve Index|
|Multiplayer||Ad-hoc networked multiplayer|
Parsec Hockey League uses OpenXR, so it should work with HTC Vive, Valve Index, Windows Mixed Reality headsets, Oculus Rift, and Oculus Quest.
PC users can download the ZIP, extract to a folder, and the run the ParsecHockeyLeague.exe. Or... install the Itch.io app and download it there -- Itch will take care of setting it up, keeping it updated, and executing it when it's time to score some goals.
The Quest version can be installed directly by SideQuestVR, or manually using ADB (or SideQuestVR... which will install and configure ADB).
For a manual installation with SideQuestVR, you can download the PHL Zip , extract the APK, and drag-n-drop it onto the TASKS window to have SideQuestVR handle the installation. (Easier to have SideQuestVR handle the install!)