Repository navigation
Releases
@fionapreroll/p2p 0.6.2
@fionapreroll/p2p 0.6.2, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-v0.6.2/fionapreroll-p2p-0.6.2.tgzFixed
NetLogno longer takes the first wait of a player who sends no input for a stall when a sample falls between attaching the connection and the player's hello: until a connection's first message, a second without one tells nothing of how far apart its messages usually come.
@fionapreroll/p2p 0.6.1
@fionapreroll/p2p 0.6.1, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-v0.6.1/fionapreroll-p2p-0.6.1.tgzFixed
NetLogno longer takes the second between pings of a player who sends no input, such as between games, for a stall: a wait counts as one when it is at leastSTALL_MSand twice as long as the connection's messages were apart the second before (for its first second, that second itself). Samples tell it installed, whichsummary(), the report, the graph andnetNotego by; games should use it instead of comparinggapwithSTALL_MS.
@fionapreroll/p2p-nearby 0.5.0
@fionapreroll/p2p-nearby 0.5.0, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-nearby-v0.5.0/fionapreroll-p2p-nearby-0.5.0.tgzAdded
diagnostics()tells what the native side dropped since it loaded:droppedBusy,fastmessages while their connection was busy, anddroppedOverRate, messages from another phone beyond 120 a second.
Changed
- Once Nearby moved a connection up to Wi-Fi (medium or high bandwidth), six
fastmessages may be on their way to it instead of two. Nearby frees a lane only once a message is through, which takes a round trip of 40 ms or more even over Wi-Fi: two lanes carried about the 30 states a second of a game in real time and little more, so a connection test's data, sent beside the game's, was dropped whole. Over Bluetooth it stays two, so that a slow link never queues old states. The log says how many each connection gets.
Spark Hunt for Android
The newest build of Spark Hunt for Android, from commit c8738af (build 55). This release is replaced with every change to main.
Installing: download spark-hunt.apk below and open it on the phone; Android asks once to allow installing apps from that source. A newer APK installs over an older one and keeps the game's settings.
Before going out: start the app once with internet, so that Google's QR scanner can download its module.
This is a debug build, signed with the project's debug key: for testing and playing with friends, not for the Play Store.
@fionapreroll/p2p-nearby 0.4.0
@fionapreroll/p2p-nearby 0.4.0, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-nearby-v0.4.0/fionapreroll-p2p-nearby-0.4.0.tgzAdded
- Whether a connection is still on Bluetooth or moved up to Wi-Fi: the plugin passes on Nearby's bandwidth (
onBandwidthChanged) as the eventbandwidth, and a connection'sdetails()tell it, instate(low bandwidth,medium bandwidthorhigh bandwidth) and as the other end'snetwork(bluetoothorwifi). The log and the native log say so whenever it changes. TheBandwidthtype names the qualities.
@fionapreroll/p2p 0.6.0
@fionapreroll/p2p 0.6.0, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-v0.6.0/fionapreroll-p2p-0.6.0.tgzAdded
@fionapreroll/p2p/testing:linkPair({ conditions })and each channel'sconditionsmake a connection in memory weak, by seed:fastloses a share of messages, and delays and reorders them;controlis only delayed, and keeps its order.lostcounts what a channel lost;seededRandomis the generator it uses.@fionapreroll/p2p/debug, for what helps find out why a game misbehaves on a phone:NetLog, the connections' samples, once a second, with their summary and CSV for a report (networkLines);drawNetGraph,pingQualityandworstLatest, the graph of the pings;connectionView, a ready view of every connection's numbers and details, with addresses masked until the player shows them, and the connection test;DebugLog,redactanddescribeError, a log that masks codes, addresses and tokens;detailsLinesandtestLinesfor a report.- Every room samples its connections by itself:
HostRoom.netandGuestRoom.net, withnetNotein the options for the log's lines about stalls. Connection.details(),HostRoom.details(id)andGuestRoom.details(): what carries a connection, both ends with address, port, protocol and kind, every address offered, the transport's round trip, packets, bytes, encryption and channels. WebRTC reads them fromgetStats()(rtcDetails), packet connections fromPacketTransport.detailsand their own counts.addressKindandmaskAddresstell and hide what an address is.HostRoom.testConnections(ms): a connection test with every player at once, which measures the ping under load and the kilobytes a second each way. Players take part by themselves (GuestRoom.onTestStart,onTestResult);lastTest()keeps the last on both sides.
Fixed
- A player's room no longer goes back to an older state that arrived after a newer one, as
fastmay reorder: the host numbers its states, andGuestRoomskips those older than the one it has. Found by the new tests over weak connections. - The host knows each player's ping in games without input, such as games of turns: the player's pings carry it too, not only its input.
Changed
ROOM_PROTOCOLis 3: phones with 0.5 and earlier do not play together, as the connection test brings messages of its own, and pings carry the player's ping.TrafficCounter.watchtakes the channels as a list, and calls back with every message.
@fionapreroll/p2p-nearby 0.3.0
@fionapreroll/p2p-nearby 0.3.0, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-nearby-v0.3.0/fionapreroll-p2p-nearby-0.3.0.tgzAdded
- Connections tell their details (
Connection.details()of@fionapreroll/p2p0.6): carried bybluetooth, with the other phone named by Nearby's endpoint id, as Bluetooth addresses stay hidden from apps.
Changed
- Works with
@fionapreroll/p2p0.6 too.
@fionapreroll/p2p-nearby 0.2.1
@fionapreroll/p2p-nearby 0.2.1, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-nearby-v0.2.1/fionapreroll-p2p-nearby-0.2.1.tgzFixed
NearbyHosting: a player the host accepted whose connection never opens, such as a phone gone out of reach, is given up after 30 seconds, asopeneddoes, and fails withConnection timed out, instead of stayingjoiningfor good.
@fionapreroll/p2p-nearby 0.2.0
@fionapreroll/p2p-nearby 0.2.0, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/p2p-nearby-v0.2.0/fionapreroll-p2p-nearby-0.2.0.tgzAdded
NearbyHostingandNearbySearch: the Bluetooth flow without screens, for the host who lets players in after comparing the code, and for the player who looks for games and asks one. They stop looking before asking, close connections that did not make it, take a request back from the host's list when the player leaves, and tell a host's no (refused) from a join that failed.
Changed
- Works with
@fionapreroll/p2p0.5 too.
@fionapreroll/app-updates 0.1.0
@fionapreroll/app-updates 0.1.0, also on GitHub's npm registry. To install it without logging in:
pnpm add https://github.com/FionaPreroll/vibe-p2pgame/releases/download/app-updates-v0.1.0/fionapreroll-app-updates-0.1.0.tgzAdded
- Updates for Android apps made with Capacitor, from the app's own GitHub release, as Spark Hunt had them: looking for a newer build, downloading it with pause and resume, also after the app was closed, and handing it to Android's installer as a session that reports back.
- The dialogs, in the app's own texts: the question at the first start, and the offer, with the download's size, a warning on mobile data, progress, pausing, the right to install apps and the installer's answers.
- The releases to read from are named in the app's Capacitor config, so the page cannot name another place.
FakeUpdaterin@fionapreroll/app-updates/testing, for tests without a phone.