trystero
Octo
trystero | Octo | |
---|---|---|
25 | 8 | |
887 | 653 | |
- | - | |
9.2 | 5.9 | |
28 days ago | 6 months ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
trystero
- Trystero β Build instant multiplayer webapps, no server required
-
Holepunch Unveils P2P Platform "Pear Runtime"
This looks exciting and I'm pleased to see more and more frictionless ways of making p2p apps. I've been building a somewhat similar hobby project [1] that aims to connect peers in the browser by piggybacking on open protocols out on the net (BitTorrent, MQTT, Nostr, IPFS, etc).
This project seems to be using Hyperswarm which I've looked at for use as a peering medium but it seems like it's not supported in the browser. I'd love to implement it if that story changes since it's so easy to distribute apps on the web.
[1] https://github.com/dmotz/trystero/
-
Is offline-first not enough? Do we need "serverfree"?
I was going to mention WebRTC! It seems designed for video calling, but there are lots of cool use cases - I recently ran across https://github.com/dmotz/trystero , a dead simple WebRTC library for peer-to-peer multiplayer browser games.
- Trystero: Serverless WebRTC matchmaking for painless P2P
-
Ready Player Two β What the Multiplayer Web Can Learn from Video Games
I strongly endorse Trystero (https://github.com/dmotz/trystero) for enabling P2P communication in web apps. Itβs open source and leverages public infrastructure for matchmaking.
-
Ask HN: Show me your half baked project
My attempt to get more out of all my ebook highlights using on-device AI. Click the demo button to try it.
https://github.com/dmotz/trystero
-
Artico: WebRTC made simple
Nice work! Any reason one might use this over https://github.com/dmotz/trystero, you think?
-
UnCloud project: WebRTC chat, file transfer, and remote observation
Yes, this is a major issue that I haven't found a real solution for. There seems to be a mixture of iOS Safari bugs and intentional design limitations at play, and I don't know if a fully P2P web app like Chitchatter is practical on that platform. There's an open issue to improve this in Trystero (the networking library that Chitchatter uses), but there may be a limit to how stable iOS will be with WebRTC apps. π
-
WebRTC for p2p voice calling app?
You can use Trystero (https://github.com/dmotz/trystero) to cut server costs to zero. Thatβs what I used to build https://chitchatter.im/, which supports P2P audio and video calls.
-
WebTorrent
WebTorrent is obviously well suited for p2p file distribution, but using a minimal subset of the protocol also provides a nice hack for easily bootstrapping peer connections between web app users. Piggybacking on public mediums already designed to do peer exchange can let you rapidly prototype a WebRTC project without the hassle of running your own server anywhere.
I built a library that explores this idea: https://github.com/dmotz/trystero
Octo
-
Ask HN: Show me your half baked project
1. Octo, a CHIP-8 assembler: https://github.com/JohnEarnest/Octo
P.S. Octojam 10 runs until 12:00 AM PST on November 1st! See the following if you're interested! https://itch.io/jam/octojam-10
-
Is there a pointer equivalent of declaring an array?
In addition to what other posters suggested, it could be a good idea to try assembly languages as a way to manually work with locations in memory. Something like Octo could be fun if you want to try memory manipulation without worrying about real-world complexities like syscalls and memory alignment. If you want something extra challenging, you could always try x86 / amd64 assembly. Some C compilers even support inline assembly if you want to mix C and assembly.
-
How do I make a "game" for Chip8?
Yes, Octo is the most used tool to create CHIP-8 programs today. John has a little introduction text for writing in its dialect here: https://github.com/JohnEarnest/Octo/blob/gh-pages/docs/BeginnersGuide.md
-
Feedback on my very own C++ CHIP8 Interpreter/Emulator
I also want to thank you all for all the advice you gave to me and others about CHIP8. It was very helpful to read some posts here ! I also used John Earnest's OCTO a lot for debugging.
- Octo
-
Is chip 8 emulator flicker normal?
The octo FAQ touches on this "pre-xoring" technique, and theres a worked example of doing this data preparation in macros. I've also written varioustools that can handle the xoring for you.
-
Executable PNGs
In my own system, Octo[0], I encode programs and their metadata in a similar steganographic fashion in GIF files. As others have noted here, both GIF and PNG offer extension mechanisms and ways to embed "comments", but popular image-sharing sites universally re-encode images and discard this data. The advantage of GIF over PNG (for my purposes) is that I store an arbitrary payload in a fixed-looking image by creating additional frames of animation.
In the past, I've also used a different technique- if you simply concatenate a PNG onto a JAR (which is really just a ZIP archive) you end up with a file that acts like a PNG unless you change the extension to JAR, in which case it acts like a Java executable. This works because the PNG header is at the beginning of the file, while the ZIP header is at the end. Nowadays, though, desktop Java is pretty much dead, so it's a less exciting party trick.
[0] https://github.com/JohnEarnest/Octo
What are some alternatives?
ipfs-webui - A frontend for an IPFS Kubo node.
vis-chip-8 - Visual Chip-8 Emulator
videosdk-rtc-react-sdk-example - WebRTC based video conferencing SDK for React JS
chip8-test-rom - ROM for testing chip8 emulator
foxql - WebRTC based, simple proof-of-work p2p ecosystem
chip8-test-suite - A collection of ROM images with tests that will aid you in developing your own CHIP-8, SUPER-CHIP or XO-CHIP interpreter (or "emulator")
chitchatter - Secure peer-to-peer chat that is serverless, decentralized, and ephemeral
wasm4 - Build retro games using WebAssembly for a fantasy console.
webtorrent - β‘οΈ Streaming torrent client for the web
pixload - Image Payload Creating/Injecting tools
FileNation - The simplest way to send your files around the world using IPFS. βοΈ π
chip8Archive - A repository of community-submitted Chip8 programs and their metadata