Federated Game Store

I organize Fedijams.
Like this one https://itch.io/jam/fedijam-5
These are foss jams and they try to use fediverse and Matrix for promotion and coordination, but they still have one proprietary tool in the loop: itch.io, a game store.

This is a problem for jams not only by being an ideological incoherency: it is practical too. People seem to be uncomfortable/shy to even hit the join button there (it requires an account), often opting in to just join our [matrix chat] (https://matrix.to/#/#fedijam:m.wfr.moe). And other people who see the low count are less interested as a result.

So, i thought, that for federated game developers, at least for jammers, something much better needed, safer to use and adaptable for specific needs and culture.

A Federated Gamestore

What is the bare usable minimum?

  • Ability to upload games.
  • Ability to host jams (event scheduling, submitting games and rating)
  • No federation. Yes, for FediJams even just a self-hostable gamestore would be useful.

But just that will be very poor and unappealing.

Self-respecting minimum:

  • Decorating game pages
  • Decorating jam pages
  • Not being spartan

The last one is very important for games and gamestores. The concept of game is about joy and having a good relaxed time.

Also, by looking at non-spartan Misskey, i have noticed much more mainstream people. On federated foss network.

Basic federated configuration:

  • Jam federation: between servers, with Mobilizon, and with Masto/Pleroma/Misskey
  • Federated game and jam comments
  • Federated game search

QoL:

  • Search by license
  • Jam tagging
  • Explore better jam interest gauges that just ‘joins’. federation might help with that.

Life:

  • Payments?
  • Donation integration?

Making this happen

Some days ago i started a fork of Game Jolt game store. https://notabug.org/Houkime/gj-fedifork-frontend

Upstream Game Jolt (MIT license) has a ton tracking built in and i also temporary curbed realtime communication/streams that will be the hardest thing to support (after potential payments?) and will need a lot of redesign anyway.

Using Game Jolt frontend as a base provides a lot of visual polish, page editing and anti-spartancy out of the box, and those things seem to be the most difficult and most limiting to get for foss projects.

But Game Jolt does not provide the server, so this one i need to write myself (I am looking at peertube as a reference/template). The frontend does provide though database models _

poVoq
mod
link
52M

Some additional pie-in-the-sky ideas:

  • Peertube like streaming integration to show your early prototypes off to others easily
  • some sort of tools also for game artists and jams around creating game art assets.
Houkime
creator
link
22M

Gamejolt has a so called Fireside for gamers to stream to each other, and I planned to redesign it for peertube-like or actual peertube streaming.
A sort of a virtual family TV place with players deciding who will stream next.

Yes, art jams and art assets are an absolute must. I also think there should be a possibility for devs to indicate that they need help with art or artists to indicate that they are available for help games. And that this needs to be right on the front page.

poVoq
mod
link
12M

Another idea (but technically much more complex) would be something like Steam’s Remote Play Together. Streaming games like that with remote controller input seems like a great way to greatly reduce multiplayer complexity and also show-case games. There is an open-source project that does something like that already called Cloudmorph.

@humanetech
mod
link
3
edit-2
2M

Wonderful initiative. I saw you are stripping all kindsa tracking stuff. They are using Google Firebase, for which I’ve seen a number of good self-hosted alternatives pass by (but I haven’t tracked them, so forgot the names). Do you intend to re-license the codebase? AGPL might be better suited for a community-driven project.

Some brainstorming…

I am not familiar with Gamejams. What is the value of the game being uploaded to the server? Or do you mean the game info / presentation only? There’s the Murmurations protocol I am having an eye on for some time. It would lend itself very well to be federated. See Federating the Murmurations protocol.

In theory Murmurations (the idea of it at least) can be used here as well. It turns collecting and maintenance of lists upside down. With it someone who has developed a game and want to submit to a gamejam, would host a Profile of their entry on their own environment, and register it with their own Gamejam server, from where it federates to all other instances connected to it. This profile would include locations where you can obtain the game. This also means that that person stays responsible for it, and not the Gamejam server host (think uploading a game with a trojan in it).

The Gamejam server could be only an information exchange / sync / storage platform, back-end only, and - through its API’s - have multiple different front-ends be attached to it (one you are already working on now) that independently evolve. Another app that follows this concept is GoToSocial. On a different note @deadsuperhero@lemmy.ml is brainstorming on a project to investigate different UI components to render from ActivityPub message formats, and this is an interesting concept.

In this thread a whole bunch of possible integrations with other apps are mentioned, like Peertube and Mobilizon. But these are 1-to-1 very app-specific integration. Unfortunately this is the current reality of facilitating interop on fedi right now. It will lead to ever more incompatible implementations and increasing complexity that will hurt the fediverse in the long run. The Gamejam concept would benefit if it was easy to integrate components of it anywhere, and not too tightly coupled to one specific UI ‘interpretation’.

Just some random 2cts for now. Very cool project!

PS. What I described aligns with From silo-first to task-oriented federated app design I wrote some time ago.

Houkime
creator
link
32M

Firebase here was used to store user client settings.
I disabled this (It is using defaults) and also deleted this from package deps.

The value of the game being stored on the server is that games are usually big (100+ mb) and for example git forges tend to have strict limits on file size. Unlike with peertube though, the headcount of games is way smaller than the count of videos, so largish uploads at game stores are totally ok, and also torrenting might be unnecessary, at least at first.

It is also used to count downloads. This sort of harmless analytics i plan to reenable in the future. Views and downloads. Maybe browser plays.
It is everything i use on itch, and it should be enough for gamedevs to roughly measure interest. It will also be used if there will be payments eventually, or at least download tokens that you purchase from the dev manually.
The scheme with manual download tokens can be wider than just monetary payments. It can also be about promotion or even code contributions (not neccessariy to the same game! A dev can just say: Contribute to Godot in a nontrivial way and i will give you a token).
Or just manual handout of the game to people the dev knows/decides to give access. Like with follow requests on masto.
I believe that sort of schemes could be especially popular with LGBTQA+ communitites, just as locked accounts are.

I do however think that it might be benefitial to separate the services of storage and jamming, if only just to allow parallel evolution. It can be done on protocol level so that for example gamejolt like servers can federate with more lightweight jam servers.

@humanetech
mod
link
22M

Ah, I just re-discovered one of the Firebase alternatives: https://github.com/supabase/supabase (via: https://news.ycombinator.com/item?id=29401589 )

@humanetech
mod
link
22M

Btw, did you look at https://bonfirenetworks.org/ which is very interesting in how it componentizes app development.

Houkime
creator
link
22M

yes, i saw this _

@wiki_me
link
2
edit-2
2M

I would consider collaboration with athenaeum or lib.reviews.

Houkime
creator
link
32M

Atheneum looks cool, they are currently too tied to flatpaks though. One could have a special place on the game page for flatpacks, but then one could just upload a game directly to flathub. I can try to make cute slots for package repos links though so that devs are properly encouraged.

The thing with itch and other store games is that they are supposed to be portable and run from the folder.
So, maybe it is also about atheneum supporting portable games.

lib.reviews looks alright. They will need to federate though. so that reviews are auto-applied to game pages.

poVoq
mod
link
2
edit-2
2M

Not sure if you participated in the lengthy debate about this on #libre-gaming we had a while ago (both about flatpacks and reviews). tl;dr at least for libre games I would consider reviews to be counter-productive and they open up a can of worms with content moderation and fake review advertisement.

@KSPAtlas
link
22M

Interesting

@nosycat@fapsi.be
link
12M

Hey, everyone. Web developer here. Been wrangling e-commerce sites for years.

Unless by “store” you mean “showcase”, y’all should be talking payments a lot more. Like, a lot. Just sayin’.

Hint: it’s not a technical issue.

Isn’t Itch open source? At least the front end?

poVoq
mod
link
22M

Its complicated… but yes the app is open-source.

If the application is an Electron wrap up… which part isn’t? I know the server side isn’t but that’s the same case as Game Jolt, right?

Houkime
creator
link
2
edit-2
2M

game jolt’s frontend has jam support and uploading (and much more). It is fully functional. itch.io app does not. It is a very cut down version from the website functionality.

Houkime
creator
link
12M

if itch app supported making game pages, participating in jams and organizing them, i would totally go for it. But it does not, and making this right takes a lot of time because it needs a lot of feedback. It is a human thing.

Houkime
creator
link
12M

Not really.
They have an opensource desktop/mobile client for downloading and managing games but it has a severely limited functionality and does not support jams.
The full-featured web frontend on itch.io is closed.
I would actually like to fork itch’s frontend more because it is almost js-optional, but nope.

@abbenm
link
1
edit-2
2M

because it is almost js-optional

I really like the way you think! If there’s one major, across-the-board philosophical change I would suggest to “The Fediverse” (i.e. people working on various fediverse projects), it would be to systematically prioritize a low to no-js experience to a greater degree. Even if it’s just a sidecar option with limited functionality. Even if it’s low- but not no- javascript.

If there’s another, it would be to bring a game storefront type thing online, i.e. something like this. For me it’s a major wishlist item in terms of most desired fediverse-oriented projects. To me some of the biggest outstanding needs are a facebook-like thing that isn’t terrible (I’m aware diaspora and friendica exist), an etsy-like storefront, a game distribution project (check!), and, well, I think that covers it.

Ademan
link
22M

@Houkime

Game reviews would be nice (could initially be comments, but some extended AP activity that adds a 1-100 score would be neat).

I’d love to see something that could function as an alternative to itch/steam for game distribution, personally.

down daemon
link
42M

I bet Bookwyrm could be easily repurposed for game reviews

Houkime
creator
link
12M

Gamejolt has it. _

@Blinky
link
2
edit-2
1M

deleted by creator

Social Media Reimagined

This is a companion to Fediverse Futures on SocialHub to elaborate the Fediverse from high-level, non-technical perspectives, brainstorming our visions and dreams.

We need a more holistic approach to fedi development and evolution. We need product designers, graphics artists, UX / UI / Interaction designers, futurists and visionaries to join the dev folks. Everyone is encouraged to join here and enrich our views on what Fediverse can be with diverse and different viewpoints, and to stimulate brainstorming, creativity, thinking out-of-the-box and crazy, wild ideas.

Some guidelines

  • Choose a descriptive title that speaks for itself.
  • Be substantive in your comments and stay on-topic.
  • Treat others as you want to be treated, respectful.
  • Don’t be overly critical, we are just brainstorming.

Our fedi hashtags

#Peopleverse #FediverseFutures #Web0 #SocialNetworkingReimagined #UnitedInDiversity #Fedivolution2022 #SocialHub #ActivityPub

  • 0 users online
  • 3 users / day
  • 4 users / week
  • 7 users / month
  • 51 users / 6 months
  • 429 subscribers
  • 56 Posts
  • 345 Comments
  • Modlog