This is highly polished indeed and I'm likely going to try it, mostly for its animations regarding dropping plants and rocks as I lack micro animations for it in my game.
HN user
halftheopposite
• Website: https://halftheopposite.dev • Open-source multiplayer game: https://tosios.online • BSP dungeon generator: https://halftheopposite.github.io/bsp-dungeon/ • Graph dungeon generator: https://halftheopposite.github.io/graph-dungeon-generator/ • Web extension to add realtime interactions to any website: https://webcursors.click/
Thanks! This is also what I love doing as realtime games are something like 90% of my side project. This was a real fun prototype to create as everything regarding terrain is done through shaders (even user cursors). Will soon add a way for people to plant "flags" with small texts that you can highlight.
Working on two topics that I like : browser multiplayer games and experiences, and tools for developers (mostly used in my side projects).
First game is https://geocentric.top where users can sculpt a planet collaboratively and place trees or houses (for now very limited). I plan on making it an idle sim where players will be able to interact by dropping some food/events for the creatures on it to evolve through time.
Second, a remote logger/metrics/user management tool where once can track all their logs, live metrics, uptimes, identify users, etc. I hope to have a v1 during this first quarter and I'm currently my first user as I have it hosted at https://app.getboringmetrics.com to centralize all my side projects into a single platform.
I’ve been developing an observability platform [0] for small teams and indie developers where they can track logs, live metrics, and get alerted in realtime through webhooks. I intend to develop a dead simple on-call calendar as well in the coming weeks.
After using tools like Sentry on apps serving millions of users, I always felt I was missing a cheap and dead simple approach to following what happened in my apps and apis, and basically became my first customer for all of my side projects and even got some friends using it for their SaaS and apps.
That's so refreshing to hear to be honest! I've went on so many side projects hoping I would see adoption for months and was basically chasing the dream. However I've came to realize that I really take happiness in developing things sustainably over time, with small steps, and most importantly for myself and what I would like a product to look like. Lately I've even been able to onboard a friend on it using it for his own projects as well, couldn't be happier so far.
If you ever have feedback/advices, don't hesitate to reach me out on contact[at]halftheopposite.dev and I'll happily answer.
I’m creating an observability tool that I’m trying to make user-centric while staying developer friendly. Most of the tools for remote logging, live dashboards and alerts are either too big, too expensive, or have a “per seat” plan, and incorporate the famous “home” screen with metrics and tips you absolutely never care of. I’m also trying to stay cheap and focused on very few techs (node, Postgres, docker, react) and make it stay as a monolith.
So far I’ve put all the side projects I manage (5 of them) and it’s working great. I can follow and query the logs, the JSON payloads by path, see live metrics like number of users currently online, etc. Even if I don’t get any customers I’ll continue developing it for my own needs! Will soon be adding alerts through webhooks, slack, discord, etc.
If you want to try it out: https://app.getboringmetrics.com (no landing page yet).
Edit: just want to say that if you want to try the software but not keep it, you can create an account in under 10 seconds, send a curl request to see logs arrive in realtime, and delete your account in 5 seconds. I do not track anything and do not keep a single piece of data.
For the past few weeks I have been working on Enhance [0], a SaaS to help game developers easily add leaderboards, friendlists, store players' data, in-app currency store and purchases, and marketing tools such as email list and website builder and hosting.
I am almost done with the landing page and don't think I'll put much more into it, and will continue working on the API itself. But I still plan on adding a playable game into the 3D scene just for the sake of it and to learn. But so far I'm struggling at projecting a 3D camera render to a texture inside an already existing 3D context.
[0] https://the-project-e609e.web.app/ (temporary domain for development)
I've actually went and looked over the sub reddit and it's a great resource for exactly what I was looking for (thanks even more for the Google Sheets).
Given the pricepoint and specs of the BeeLink, its availability for shipping in France, and the all-in-one design of the SER7 with USB-4, that seems like a great option to explore.
I will take a deeper look at their other offerings as well.
Very shameless plug on your last "Edit:", but I think it fits perfectly one feature that a web extension I made does: https://webcursors.click/.
There's a feature to write a note and leave it on the page for others (with the extension installed) to see and maybe have luck someone contacting you.
https://github.com/halftheopposite/TOSIOS: never brought the game to the "fun" part of what a game is supposed to be, but at least it serves as educational.
https://github.com/halftheopposite/graph-dungeon-generator: what was supposed to be circular graph dungeon generator, ended up being a tree dungeon generator.
https://webcursors.click - I should have spent more time thinking about solving a problem that doesn't exist and clearly you can feel that there's something missing.
I was planning on open-sourcing the extension itself, but not the backend for now because of some secrets. But ultimately, my goal is to create a blog post to create a minimal yet functional Chrome extension connected to a backend with socket.io.
And didn't knew this service existed, so created everything myself so far.
Hey thanks!
Editing/deleting notes would require some sort of authentication for the backend to recognise ownership of the notes, but this could be a great incentive toward pushing users to sign up for the tool.
Will definitely look at scaling down font size for longer text (it should already be the case though but doesn't work well with long words or URLs).
Thanks! The hard part was actually understand Chrome extension's lifecycle and communication between the content script, popup, and service worker. What I initially thought was going to be hard, ended up being actually quite easy (cf socket.io).
Good luck if you ever attempt to build it :)
Thanks for the compliment!
Content moderation is a nightmare and I've been working in technical/product fields where this is a daily issue. The first choice was to make everything ephemeral: messages are not stored anywhere, and notes expires after n days. At least this covers some part of the issue, but this is only possible in the short term.
In the long term, if things go good for this extension, meaning more users and more things to moderate, I will have to introduce downvotes, reports, and most importantly some sort of authentication. That will still not be enough, and eventually I will have to resolve to text moderation APIs or language models (which we already do at work).
But I hope to stay in a sweet spot with enough users but not too many, and great collaboration! But one can always dream.
Hey! So for scaling it should scale quite easily with socket.io room’s implementation with Redis when required, and unless I’m having a hell lot of people on it at the same time it shouldn't be much of an issue given the small footprint.
For critical mass, this is why I’m developing features that are asynchronous (ex: notes) or app wide (ex: games that you can join with other users online no matter the website or page you're on).
Thanks, this is definitely one of the most enjoyable side project I've done so far. It's rapidly satisfying, I can easily add new features, and I find it fun to see and interact even with a few users on random websites. I've been sharing it a little around me and so far I've had some nice feedback, so I'm pushing it!
I'm working on a Chrome extension that adds realtime presence (cursors, chat, gifs, sticky notes) to any website or page.
Each website/page (depending on your preferences) becomes an ephemeral channel where you can see and interact with others users browsing the internet. It's still in a WIP shape but very functional.
Website: https://webcursors.click/ Extension: https://chrome.google.com/webstore/detail/web-cursors/chcedo...
That's actually a great idea! Will work on it in the next fews days. Also planning on putting a quick tutorial to explain the concept. PS: Thanks for the link, looking at it right now.
Really like the concept, and played it longer than I initially expected!
Shameless plug for a multiplayer puzzle game I created a year ago https://flipcards.online of which your game reminded me. Although mine has nothing relaxing as it favours competition. But rotating tiles of images is clearly checked.
If you're looking for resources on learning the basic principles of multiplayer games I invite you to read the very well written and illustrated tutorials by Gabriel Gambetta https://www.gabrielgambetta.com/client-server-game-architect....
On a lower level, I have been using Colyseus (https://github.com/colyseus/colyseus) which is, in the words of the author: "[...] an Authoritative Multiplayer Framework for Node.js, with clients available for the Web, Unity3d, Defold, Haxe, and Cocos2d-X.". I have been using it on multiple projects as a state synchronisation library for my browser-based games. It takes cares of all the data synching aspecta among all players in a "room". The community is very active and you will get a lot of help to begin with and scale your creations.
Of course, a lot will have to be done by you for anything like client-side prediction, server reconciliation, lag compensation, entity interpolation, but knowing that the state manages itself is already a huge relief if you are unfamiliar with these concepts.
Another project which already includes many of these features is https://github.com/timetocode/nengi. It is more opinionated and well focused on fast-paced games.
On my side, I have been creating an open-source multiplayer game for the browser that includes client-side prediction, entity interpolation and server reconciliation https://github.com/halftheopposite/tosios.
Hello HN!
I created this hobby-project to learn more about procedural generation and decided to start with the classic but efficient Binary-Space Partitioning method. I also wanted to look at the auto-tile algorithm for the editor and renderer.
I plan to integrate this dungeon generator into my other open-source project https://github.com/halftheopposite/tosios to add more roguelike elements to it and better gameplay elements.
This generators code is also available on NPM at https://npmjs.com/package/@halftheopposite/dungeon.
I have read your articles over and over and just keep getting back to them whenever I'm in need of inspiration. They are really well written, have the right pace to follow up and are well illustrated!
The one on client-server game architecture motivated me to start https://github.com/halftheopposite/tosios (still a WIP and a very naive implementation, but working on it).
Thank you for your work!
Hi, I've thought about adding the Entity Component System, but for the number of entities I have so far and the few inheritances it would be overkill. But if I have more items/powerups/features I'll think about it. Moreover, using simple classes makes it much more simple for beginner to start with. Thanks
Hey thanks! Yeah I've been looking at free sound assets for a moment, I will add it to the incoming changelog, I had missed that one. Since I was developing this game to play with my colleagues I really didn't needed much sound, but will do that soon.
Hi everyone,
I started developing an open-source multiplayer game for the browser a few months ago. It aims to be as simple as possible (in code and architecture) for everyone to read, modify or host.
It uses React, TypeScript, NodeJS, PIXI, Colyseus and Docker (if you want to).
The project uses open-source software (for which I link licenses) and free assets. The project itself is licensed with MIT.
- You can check the sources here: https://github.com/halftheopposite/tosios
- You can play it here: https://tosios-demo.herokuapp.com
Hope it makes you, your friends and colleagues happy!
NB: You can open a second tab to play against youself.