Show HN: Homegames. An open-source game platform I've been making for 8 years
109 points
6 hours ago
| 12 comments
| homegames.io
| 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

ricardobeat
5 hours ago
[-]
Could not play any of the games - too many requests errors. Why do they need "sessions", are they not running client-side?
reply
homegamesjoseph
5 hours ago
[-]
I forgot to mention this in the post, but the games themselves run on the server. This gives every game multiplayer for free out of the box, and clients just read the server state and send back input.

The idea is that you could use a browser or custom client or whatever to connect to a game server

reply
avaer
6 hours ago
[-]
Does everything need a "session"? Is it possible to have fully static games/exports?
reply
homegamesjoseph
5 hours ago
[-]
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

reply
avaer
5 hours ago
[-]
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!

reply
purple-leafy
4 hours ago
[-]
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

reply
homegamesjoseph
5 hours ago
[-]
Thanks for the feedback! Local games weren't something I really considered until recently, but it would definitely be cool
reply
__del__
5 hours ago
[-]
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

reply
homegamesjoseph
5 hours ago
[-]
Thanks for the feedback! Need a good way to clean up the UI to distinguish between joining someone's multiplayer session or creating your own
reply
purple-leafy
4 hours ago
[-]
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)

reply
homegamesjoseph
4 hours ago
[-]
Sorry about that, looks like the traffic spike from HN overwhelmed my session management stuff. It will only get better!
reply
purple-leafy
4 hours ago
[-]
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

reply
HoldOnAMinute
6 hours ago
[-]
Does anyone remember "Shoot 'Em Up Construction Kit" on the Amiga?
reply
teddyh
5 hours ago
[-]
And for the Commodore 64.
reply
Pxtl
5 hours ago
[-]
I was obsessed with the Arcade Game Construction Kit on the C64.
reply
alienbaby
5 hours ago
[-]
And Amos and blitz basic
reply
BSTRhino
3 hours ago
[-]
Wow! Can you tell us a bit about what the past 8 years have looked like for you?
reply
homegamesjoseph
1 hour ago
[-]
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

reply
subbu963
54 minutes ago
[-]
interesting idea, i wanted to build something like this for some time
reply
ViAchKoN
6 hours ago
[-]
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.

reply
homegamesjoseph
5 hours ago
[-]
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
reply
matthewfcarlson
5 hours ago
[-]
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.

reply
versteegen
4 hours ago
[-]
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.
reply
homegamesjoseph
3 hours ago
[-]
Even a similar name! That’s awesome.
reply
alienbaby
5 hours ago
[-]
Nice! Some fun making big chains explodey things :)
reply
lukasco
4 hours ago
[-]
Fun, seems to be working. Do you have levels? All the games I played seemed to have a static level.
reply
homegamesjoseph
3 hours ago
[-]
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
reply
nadermx
6 hours ago
[-]
I was just closelined by a beam in one of the games. Badass
reply
homegamesjoseph
6 hours ago
[-]
Nice! I actually didn’t know the rendering stuff could support anything pseudo-3D like that until yesterday.
reply
mantisman
5 hours ago
[-]
Very cool! Love seeing more browser games
reply
homegamesjoseph
5 hours ago
[-]
Thank you! Obviously still some gaps to close but would love for this to carry on the spirit of newgrounds and stuff like that.
reply
iamoseauditor
5 hours ago
[-]
Wow nice.
reply