All plugins

hermes-arena

A pixel-art platform fighter that runs inside Hermes Desktop. Four fighters, two stages, and three ways to play: against a CPU, with a second player on the same keyboard, or online through Find a match or a room code. Online play connects the two computers directly. Disclosure — online play connects to the public PeerJS signaling server (wss://0.peerjs.com) and Google's STUN server (stun.l.google.com), then opens a direct WebRTC connection that shows your IP address to the other player; the game page loads Google Fonts (fonts.googleapis.com) into the Desktop window each time it opens. No chats, Hermes data or credentials are sent.

JustinPereaDesktopv1.0.0Updated 3 hours ago

About

A pixel-art platform fighter that runs inside Hermes Desktop. Four fighters, two stages, and three ways to play: against a CPU, with a second player on the same keyboard, or online through Find a match or a room code. Online play connects the two computers directly. Disclosure — online play connects to the public PeerJS signaling server (wss://0.peerjs.com) and Google's STUN server (stun.l.google.com), then opens a direct WebRTC connection that shows your IP address to the other player; the game page loads Google Fonts (fonts.googleapis.com) into the Desktop window each time it opens. No chats, Hermes data or credentials are sent.

Hermes Arena

A pixel-art platform fighter that runs inside Hermes Desktop. You get four fighters (Hermes, Aethon, Kairos, Iris) and two stages, the Altar of the Agora and the multi-storey Sanctuary of Kyllene. Every sprite and stage is drawn in code, and the plugin ships no image files.

Install

hermes plugins install JustinPerea/Hermes-arena#hermes-plugin

Say yes when it asks whether to enable the plugin (or run hermes plugins enable hermes-arena afterwards), then restart Hermes Desktop. It needs Hermes 0.23.0 or later.

Play

Open Hermes Arena in the sidebar, click the game, and press attack (J). Pick an opponent on the fighter screen:

  • Easy, Normal or Hard: a CPU.
  • Player 2: a second player on the same keyboard. Player 1 uses W A S D, F, G and Space; player 2 uses the arrows, J, K and N.
  • Online: another player on another computer. Find a match pairs you with anyone else who is looking at the same time. To play a particular friend, one of you picks Host a match and gets a five-character room code, and the other picks Join a match and types it. Each player uses the one-player controls and brings their own fighter.
  • Dummy: a training target that stands still.

Controllers work too. The full control list is on the page under the stage. The button in the corner of the stage (or F11) plays full screen, and Esc leaves it.

What it does on your computer

  • Network. The page loads its three fonts (Pixelify Sans, Silkscreen and Atkinson Hyperlegible) from Google Fonts. Online play connects to the free public PeerJS signaling server (0.peerjs.com) only to exchange the WebRTC setup messages with the other player. Find a match uses six public room names on that server that every copy of this game looks in. It also asks Google's public STUN server (stun.l.google.com) for a route. After that the two computers talk directly, and no game traffic goes through a server. Nothing touches the network unless you pick Online, apart from the fonts.
  • Your IP address. A direct connection means the other player's computer can see your IP address. The online screen says so.
  • Networks that block direct connections. There is no relay server, so a few strict networks (some offices and mobile carriers) cannot connect.
  • Storage. Sound on/off, your last match settings and the Tuning panel values are saved through the plugin's own ctx.storage.
  • Nothing else. No shell commands, no files outside the plugin, no credentials, no background processes, no telemetry. Leaving the page stops the game, its timers and any connection.

Source

This folder is built from game/pixel-hermes.html by plugin/build.mjs in the hermes-arena repository. The build wraps the game in a Shadow DOM so the app's styles and the game's cannot reach each other, and it removes every listener, timer and connection when the page closes. plugin/test.cjs checks this in Chrome. The game file also opens on its own in any browser, and two copies (one in Hermes Desktop, one in a browser) can play each other online.

README from the reviewed commit 8c7ba63; it updates when the author re-pins.

More by JustinPerea

2 plugins by JustinPerea in the catalog.

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section