Games - amark/gun GitHub Wiki

Wanna help build the game?

Sure. Would love to.

So I have an HTML "choose your own text adventure" template I'm using to bootstrap the landing/splash pages of the games as well as the getting started / choose a team / prologue section. Early play through of a web game that evolves from a text-based choose your own adventure to (eventually) through the history of different game styles and ... it may be extremely boring right now, but it has me excited for first steps :P here is a dorky early preview I recorded 1 year ago for it - a different game.

I have tons of other scifi stories, but there are 2 games in particular I'm interested in building. 1 is a game for "fun" (story telling ideas) and 1 is a game for "teaching" skills. They both are ultimately the same game, but the first one is targeted more at kids and entertainment / fiction, while the other one is targeted at adults and for creating economic opportunity and culture.

Seems pretty interesting. Both will promote reading culture.

If I was not building infrastructure, I'd want to: (tweet)

  • Video game UI menu system based on Information Theory
  • Design tools that let you shape AI curves to generate art
  • An app that does crazy social/economic experiments: like what if FB let 1 random user play CEO for 1 week?

This 2nd one is also the app I mention here where I want to run / do crazy experiments. It is a very ambitious game as it is secretly suppose to be a (1) social network (2) dating app (3) a p2p alternative to Facebook Marketplace, (4) a training/tutorial/learning platform that teaches skills. However it can't look like any of those things 😆 .

Cool. AI will run on client side I assume

oooooo even better! :D

So to "rewind" and start at the basics (the HTML template I have for text-based choose your own adventure) and how for us to get started. My observation is that competing social networks or dating apps, etc. have an onboarding problem: Nobody wants to join the app if nobody else is on it.

Yes

That is how/where I came up with this "campaign mode" idea like with video games - even if somebody buys Halo to play online, they'll still play through the story mode. But that is a perfect onboarding excuse, so the goal is to have half a year's worth of pre-prepared content / story episodes for a user to play through. This "buys us time" as other people start joining and playing the game at first, all individually.

The Evolution of Trust can be a nice motivation for us.

:D :D :D yes!!! I link to that one a lot too, so good.

Then over time, enough people are individually playing the game, that the episodes / story evolves into or starts to add multiplayer elements (if there are enough users online, however the story should work even if none) and then as it grows, by the time each new person has finished the main onboarding story line, there of course will be hundreds of new / other games for them to play that other people have made (even if just text based adventures, ... ahem, newsfeed of facebook posts :P).

The interactive story can be used to convey important moral messages.

Yes, though I think the "fun" game is a better place for that, not the economic experiment game - experiments, sadly, do not always produce moral results. Then we can take the experiments that work, and combine them with important messages.

Having half-a-year's worth of storyline is a lot tho, so I'm trying to figure out the best way to address this:

  • (A) intentionally rate-limit how many episodes they can play through per-day, such that it is maybe only 1 episode per day or week, then we only need 25ish episodes to hit half a year. This is my preferred approach because it helps create "habit forming" (reducing binge behavior, and making opening up the game be routine) however requires getting an email to notify people of the new episode they can unlock, which understandably not everyone wants to provide.

  • (B) The other approach is to let people binge, but this produces a very unhealthy consumer-only oriented mentality that would make things more demanding and stressful for makers. Possibly, to disincentive binging, they pay the creator to unlock episodes faster than the per-day/week limit?

Whatever, this matters a little less, cause eventually I'll fill it out with enough story/content of my own that either approach works and fortunately, as long as we have X number of episodes to start, the fact that the remaining ones aren't written yet will naturally force (A) to happen just like a real TV show :P. So for now I don't have another option other than they have to subscribe for notifications to be notified when for reals I actually finish the next episode. Anyways, after making content, things will probably get more clear on how to address retention.

So that kinda lays out the basic background of the whole concept. Now getting into the tricky bits.

Something like creating music based on mouse movements or AI can be done?

Yes. The tweet again - If I was not building infrastructure, I'd want to:

  • Video game UI menu system based on Information Theory
  • Design tools that let you shape AI curves to generate art
  • An app that does crazy social/economic experiments: like what if FB let 1 random user play CEO for 1 week?

Many of the episodes depend upon the Meta Editor (this conversation happened before FB renamed itself, we'll rename the editor to just "THE") being completed or finished - the "game" I'm talking about is not just the experimental app, but also is the design tool itself!

There are plenty of great tools out there (Figma, etc.) but unless it is Open Source and Web based, my philosophy is there inevitably needs to be a competing solution. The goal is not to be feature complete, the goal as far as the game/story is purely to build out each design tool feature enough to make a "passable" experience for the game & for ourselves to use in building the game.

Users will be able to add new pages and extend the game. Right?

Yes :). Not necessarily for my storyline (the main one I want everyone to play), but their own games that their friends can play. This is my comment about "culture" earlier. I don't know how familiar you are with my 6+ years of GUN, I am an extremely voluntaryist free-will based person that hates hates hates hates telling anybody to ever do anything even if they say "what can I do for you?" :P the fact I'm talking to you this much is like... hospitalizing for me. But the Freeism economics (I assume you have seen those articles & video tho?) has made me realize that the risk of AI only being controlled by Facebook/Google/China could absolutely lead to dystopia for humanity and I'm not convinced any other system could stop that, or that itself wouldn't be worse (yes, I view most Blockchains as pretty much equal to all the problems of the current system we have now, just a little less corruptable, but still systemically the same).

<iframe src="https://www.youtube.com/embed/1HJdrBk3BlE" frameborder="0" allowfullscreen style="border: 0px; position: absolute; width: 100%; height: 100%;"></iframe>

I have big frustrations with Google in particular. I have been thinking and working on open source, open data and customizable ranking algorithm for search for 5 years although unsuccessful.

:D you should team up with Martti! (Satoshi's 1st contributor to Bitcoin! He stopped in 2011 on Bitcoin and switched in 2014 to building a p2p Google algorithm that he thinks is more important than Bitcoin itself. And I agree!) Bitcoin / Blockchain are "slightly better" systems, but fundamentally have the same categories of problems (debt), so they won't actually lead to major world changes. However, Martti's algorithm (which I baked into my economic models for Freeism), I think and believe can result in real change. He's also on our team if you're in our GUN community chat you've probably seen him around.

So while I'm extremely voluntaryist and don't like telling anybody to do anything... in the last year or so I've become spooked by this moral dilemma: If you pass by somebody getting mugged - taking action by intervening is a more important choice than "doing nothing". However usually free-will / voluntaryism is about not taking action cause it could disturb/manipulate/coerce others (you usually live very quietly to yourself and don't bother others).

I agree. Forcing others is bad. But expressing our contradicting opinions to others must be good or at least not evil.

Yeah - again, even asking for help and accepting help is scary for me, but I'm trying to force myself to do so, so thank you for listening to me, it is a huge honor. And please always feel free to say "no" I don't ever want to make people feel uncomfortable or pressured.

I will be happy to contribute although i can't be sure that I can be committed as I get busy.

Cool, so then... if you saw my earlier post, we already have working prototypes of THE editor including the THE music making tools (this demo here is about 5% of the features already built in the actual demo). However THE editor and the Music Maker are... still, woefully unfinished. But I was able to make a handful of cute songs of different styles - obviously it still has strong limits, but part of art is rolling with those punches in the meanwhile and still trying to create content that fits within the limits of those constraints without people being able to tell. Any progress - especially if others are willing to help - is hugely exciting for me.

The "fun" game is a little more meandering... fluffy, entertainmenty, the adult game is more... well, abrupt, short, to the point, and doesn't have as much nonfiction story to it - it is almost... religious, "do this, do not do that" etc. And this is intentional (maybe it'll fail) in my attempt/process at explaining the ideal values I invision for humanity (maybe I'm wrong about my ideals, but... it is a whole lot more ethical than what exists today, so any progress is good here). And that circles back around to what I was saying about people can write their own games - I hope they are inspired to do so in the same "culture" as the values we establish from the first game they play in the main storyline. However I do intend for this game's story to be more blunt/straightforward with the values it teaches (Freeism, altruism, free-will, agency, compassion, empathy, anti-monopoly, decentralization, voluntaryism, etc. etc. etc.).

Yup. Those morals need to be explained. Exhibiting it in a fun and gamified way.

Yes. Correct. And yeah, it isn't just about teaching ideology, obviously, cause all of that can be summarized in a few paragraphs - no need to become long winded and esoteric about it, that is maybe what the "fun" game is for, telling it with a more theatric storyline.

The hook is that it is also teaching skills that enable economic opportunity for people learning those skills. This will interest some segment of the population regardless of whether they agree with the ideology.

So if you watched the "Furball Forces" (the "fun" game) you'll see within just 5 or 6 pages, that game evolved the game mechanic on each new episode, and that happened so fast... it went from a choose your own adventure text, to choosing a name, to tapping a button, to tapping a button for survival sake, to... tap-a-button-to-jump-over-obstacles-like-mariokart/offline-dinosaur-runner and "oh shoot I need a game engine" :P egack! The "fun" game goal (which is a lot more difficult technically) is to have it evolve all the way into a full 3D FPS shooter.

Multiplayer will be cool.

Yeah, so something that will be hard for anyone who wants to help me out in any or all of these creative directions is that I want to make something like Epic's Unreal Nanite engine but that runs in the browser (probably impossible, but I'm trying.), and do not want to rely upon any commercial/proprietary system like Unity.

I want to build our own engine - item 1 in the tweet, If I was not building infrastructure, I'd want to:

  • Video game UI menu system based on Information Theory
  • Design tools that let you shape AI curves to generate art
  • An app that does crazy social/economic experiments: like what if FB let 1 random user play CEO for 1 week?

I have a much more complicated series of explanation for why we should roll our own that I'm not gonna cover here, one of the things is taht even stuff like ThreeJS/BabylonJS (which are great), aren't able to do what I want done. Of course I'm potentially OK with using them to "polyfill" some of the graphics engine until we can do it ourselves, it is just that the problem is... polyfilling it with ThreeJS would require a ton of development/building time ourselves because it is not something ThreeJS/others really provide, so if we're going to build it we might as well do it with the simplest and lowest common denominator of tools (WebGL/GLSL, etc.) directly. But that is a distracted topic, so let me shut up on that about the "fun" game (for kids) and come back to this experimental game for adults:

Same thing happened here, within just a couple pages of my text adventure, I'm already at the point where I need to teach people how to "code" and my goal isn't to teach people how to write real code or use Figma or photoshop etc., my goal is to teach them to use the tools we build within the game itself, which runs THE editor. So that way these things they build are "tweets/posts" that get synced thru GUN and are end-to-end encrypted for their friends to play using... THE editor itself, that they can then remix into their own games, etc.! The amount of external export/importing I'll support is probably (A) rich text (B) jpg/png/gif (C) mp4/webm, but most of these "posts/tweets" or "content/games" that are made in the system are going to be native to the game itself.

All exported content will default to Open Source Creative Commons licenses. Businesses may not like this, so maybe we should support an option for them to switch from an Open Source license to a commercial proprietary license - but ironically, that "switch" feature should itself be proprietary, so they have to pay a monthly subscription to use it. Just like with the binge watching, this should help discourage people and incentivize more Open Source participation.

If you're familiar with the http://Party.lol tool (now being upgraded to SecureRender], that is what will be used for most of the "exporting" which is basically a way to encrypt or preview your post on all external platforms, but most of the time it'll either (A) link back to the game so it actually works (B) if people have the browser extension automatically run the game inline inside of Facebook/Twitter etc.

So some of it will be stored in GUN and some as an html page?

Yes, all dynamic data will be stored in GUN, and including at some point, self-hosting the main game in GUN itself using a (distantly) upcoming feature called HUB. The mad genius @go1dfish, who built the p2p reddit, already got some of this working for his site. It basically cheats GUN & HTTP - such that if we're not in GUN yet, an HTTP server (sigh) lookups up the URL in GUN and then server-side renders the GUN data into an HTML page which then instantly loads/paints for the user, and then bootstraps GUN for everything else. So yes, at some point, the goal with HUB is to cache even the GitHub repo (the HTML files, markdown, etc.) for the main game's repo... in GUN and serve the HTML for it out of GUN, and only fallback to pure HTML / static site when needed.

Seems interesting. GUN as static hosting.

:D! If that takes 4 years, whatever, I'd still prioritize improving THE editor itself over that than being "purist" about GUN serving itself or not. The end impact of having self-hosted games with more features that leads to way more exciting content and usecases, is much more important than if GUN happens to self host its own bootstrapping. Self-hosting doesn't really create any real value add for anybody, it just is a bragging rights for ourself that doesn't serve any greater purpose.

So to conclude, now that I've explained everything, my question and game for you is a choose your own adventure itself for the next steps - what do you want to help with? Help us create games of compassion? Message me!

THE

To learn more about the design philosophy behind THE prototype, check out this article.

Music

We need people who know how to do FFTs and work with browser Audio APIs!

Video

Let's skip ahead to what I suspect will be some of the harder parts of Meta Editor: Video encoding. Javascript is notoriously slow, so the proper way for us to do this is to implement this all in Rust with a WebGL renderer (see the section above on video game UI menu system), however I'd need somebody to contribute help in this area because I lack graphics programming. Till then, we're just going to have to cheat.

Exporting images is easy enough, but I was not sure if exporting video was possible. It seems like we can copy video into a canvas element, and then we can record a video (code) from the canvas and make it downloadable - all from the browser, no servers! This will be useful for trimming or combining multiple videos into 1 video.

⚠️ **GitHub.com Fallback** ⚠️