Show HN: Homegames. An open-source game platform I've been making for 8 years (homegames.io)

2 points by homegamesjoseph ↗ HN
I'm making a platform for simple open source games you can play anywhere.

Games are all just JavaScript classes and you can read the source of every game on the platform.

I started working on initial "games" (mostly rendering tests) in 2018 and eventually built all of the platform stuff around it to make it easy to share games.

There's also an in-browser editor available for you to make and publish games all from the browser.

Would love some feedback on the games and studio features as well as the platform overall. All of the code is available at https://github.com/homegamesio

47 comments

[ 6.1 ms ] story [ 58.5 ms ] thread
I was just closelined by a beam in one of the games. Badass
Does everything need a "session"? Is it possible to have fully static games/exports?
One thing I forgot to mention is all of these games run server side and thin clients just render and send input back to the server. So a game session needs to exist for the back and forth communication to work.

Theoretically you could do this all client side too, but that would remove the magic of every game getting multiplayer for free

as a matter of ux, users probably don't need to know that a session is being instantiated, and probably expect a simple play button

fun

If you architect your protocol cleanly, you should be able to run the simulation client side too without much effort (certainly the web platform has everything you'd need). This is how modern game engines do it, it goes back to the Quake VM and probably beyond.

You'd still get multiplayer "for free", but it could be turned on and off. You could do it with zero code change for the actual games, they don't have to know.

It seems some of the games could do with a singleplayer mode that doesn't depend on the backend having free slots.

Just an idea from a fellow web games person!

This is something I’ve done with my web game, I run the entire simulation client side so as to never worry about scaling issues.

Why reach for a server unless you truly need one! My multiplayer mode is p2p planned

Does anyone remember "Shoot 'Em Up Construction Kit" on the Amiga?
And for the Commodore 64.
I was obsessed with the Arcade Game Construction Kit on the C64.
And Fireworks Construction Kit

And Garry Kitchen's Game Maker

>Garry Kitchen

There’s a name I’ve not heard in a long, long time.

> And Garry Kitchen's Game Maker

I had (and still have) that. On tape. Doing anything with that was so slow and tedious that I never did anything with it.

Nice idea. I found a couple of interesting games on this.

Thanks for sharing! Cool that you haven't stopped working on this project after that long time. It gives me inspiration to work on my projects which I can't find time to finish.

Thanks! I'm planning on making a lot more. I made most of this stuff before AI tools were available. But now Claude can one shot really impressive stuff, it's amazing
I worked on a similar concept (padgames.io now defunct) that offered a state sync networking system with rollback netcode style stuff. It could handle exposing only certain information or fake info to certain clients (to prevent cheating). It integrated super nicely with vuex or react stores as it was all observable and all game actions just turned into state mutations.

I made the game I wanted, enjoyed it with family and friends, and then let COVID sweep it away. Congrats on continuing to work on it.

Isn't it strange, how some incredibly crude game written in the 80's will probably live forever in an archive somewhere, while the sophisticated things we create today are amazing but too numerous to be preserved or remembered. Working on a rollback netcode system as well currently.
Very cool! Love seeing more browser games
Nice! Some fun making big chains explodey things :)
Could not play any of the games - too many requests errors. Why do they need "sessions", are they not running client-side?
I like the concept and tried to play some games by starting or joining sessions, either nothing happened or I got disconnected straight away?

Anyway nice concept. I’m also making web games (see my post history) so if anyone wanted to connect and discuss, send me an email (in profile too)

Sorry about that, looks like the traffic spike from HN overwhelmed my session management stuff. It will only get better!
No need to be sorry! Good job on launching and working on it for years. It’s awesome. These launch hiccups happen.

Just keep pushing, I know how hard it is

Fun, seems to be working. Do you have levels? All the games I played seemed to have a static level.
Thank you! I don’t have any super fleshed out games with progression yet. I have some ideas but the most thorough game at this point is vegas trail. The balancing is busted in that at the moment. Will definitely fix that and make more games with some depth
Wow! Can you tell us a bit about what the past 8 years have looked like for you?
Sure thing! Basically started making simple rendering tests over a websocket and then added images, font and audio support.

The initial idea was to make jackbox style games people could host on their computers and play on their phones in the same room over wifi.

Added to that and kind of did a whole lot of nothing productive around covid, just experiments that didn’t get deployed anywhere. And a podcast with over 100 episodes.

A few years ago my wife and I had our first kid, so I spent about a year polishing the self hosted stuff and figured I would put the project on the shelf.

So that’s pretty much what I did until around 6 months ago when I realized the actual Internet is fast enough to run these games outside of a LAN, and a lot of people including myself miss browser based games. That plus Claude making me way more effective in my limited free time led to the current state of things

interesting idea, i wanted to build something like this for some time
Hey I was looking for documentation to learn how to make my own games but I didn't see a link on the website. Do you have any docs? If so please consider putting a link to it on the front page.

I didn't try logging into the studio since it was asking for username and stuff, so maybe the docs are there? I just wanted to read the docs before committing to a login and stuff to see if this is worth my time.

Hey good catch, I will put up links to docs outside of the studio. The studio now has some samples for game node types, eg. shapes, text or assets as well as an llm-focused game guide you can dump into Claude or whatever to have it make games.

But will definitely add some more outside of the studio.

Thanks for checking it out!

As a side note, having "Weed Smoke Willie" be a featured game on the front page isn't really a good look. As the saying goes "birds of a feather flock together", and I think a lot of people will see that and think "okay so that's the kind of person that uses this platform"
As a side note, writing comments that sound like some pearl-clutching culture warrior on a post about someone's open source software isn't really a good look. As the saying goes "birds of a feather flock together", and I think a lot of people will see that and think "okay, so that's the kind of person who comments on people's passion projects on hacker news"
I think that's a very weird and dishonest take. To me, it reads as written by reflex rather than in good faith.

You can point out that something isn't a good look and not be a pearl-clutching culture warrior, although for people who feel strongly for/against it certainly doesn't feel this way. The marijuana culture in general is in my experience generally perceived as tacky and I personally know many who use but want nothing to do with the culture itself because it's a bunch of people whose humor essentially equates "weed = funny" in the same way kids equate "poo = funny". As usual it's a loud majority making the rest look bad, of course, and not a general rule about how marijuana users behave.

It is well known that similar people get along and stick together, and if you manage a community you will know that whatever you put on a pedestal decides what kind of new people are attracted, and what kind of people stay. If you want to build something community driven, this is something you will need to manage. Sure, you can put this kind of stuff on the home page, but your home page tells new users what the community looks like.

As an example you are probably familiar with, Reddit solved this using subreddits and the front page - the content shown to new users is almost by definition the most popular and agreeable content that most people like, which is good for adoption. I think we would both agree reddit would seem a lot less attractive if to new users if the user is shown a random selection of new posts from all across the site. Instead, it is the users responsibility to find niches that may fit them better than the average opinion. Most subreddits are out of sight for those who don't care/don't want to interact with it.

If you want to show off your product and want adoption, would you rather nobody tell you and suffer from a lot of people turning away with no idea why? Or would you prefer people point out possible issues? It doesn't mean you have to agree, but data is important, and I think anyone with any community work experience could tell you the exact things I have written.

The disdainful pile of stereotypes you've generated merely based on seeing the word "weed" in an example game is not throwing off my impression that you're engaging in culture war nonsense

Aiding that impression is that you are using the language of marketing to imply that this open-source project is intended as a product and trying to attract a market to adopt it, but that somehow the mere oblique possibility of invocation of a subculture that you personally dislike but which is also quite large would harm rather than help them do that if this were their aim. Personally, I don't see the mere presence of such an example game as having much meaning at all, and this whole "you wouldn't want to attract the wrong sorts of people" style argument is almost the classic pearl-clutcher line, to the point where I almost wanted to call Poe's Law on it

I donno man, i just want to drive my gondola thing and help fish “get high.” Glorious
Nice. Why does the homepage have two scrollbars?
strangely your site was not blocked from my company :D you are doing a great job
Web games moved way beyong these style of games. Complex 3D using three.js and rigid body physics engines in wasm workers like rapier is feasible now. We can do full multiplayer pipelines with server authority, client prediction and reconciliation and still run at 60fps. Its really amazing what can be pressed into a single html these days.
Breakout is still a good game even though we can 'do 3D'
Everytime I try and use one of those Complex 3D web games, all 8 cores of my computer go to 100% and my computer becomes unresponsive until I kill the web browser.

Its really amazing how inefficient those Complex 3D web games are.

> Kaboom Valley

This game reminded me of Gorilla Basic (GORILLA.BAS), it really brought back some childhood memories, so nostalgic! Unfortunately, this Kaboom Valley game seem to be unplayable! None of the buttons is working for me and only the computer is able to fire its projectiles over my head :(

I played weed smoke willie for way longer than I should admit. Stopped after something like $40k.
omg that's so cool keep it up