Skip to content
Mark Nadal edited this page Nov 1, 2020 · 9 revisions

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" (checking back in on the website for new content) 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 risks them leaving after being "done" (no retention).

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 Meta Editor 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 Meta Editor including the Music Making tool (this demo here is about 5% of the features already built in the actual demo). However Meta 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 do not want to rely upon Unity/Unreal etc.

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 Meta 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... Meta 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.

If you're familiar with the http://Party.lol tool, 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 Meta 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 a choose your own adventure itself for the next steps of what you want to help with?

Music interests me. Where is the source code of meta editor? Do you use any library for music synthesis?

Meta Editor source code is here https://github.com/amark/gun/blob/master/lib/meta.js however this will confuse you as it does not include any of the Music Maker features, because Meta Editor itself is "Meta", all the features to Meta Editor are themselves separate modules. So the ones relating to music were prototyped by @jussi who has his own coding platform that I'll just send you the link to his demo that is undocumented but has more features included, here: http://edide.xyz/musicmakers . I'll fill you in on first steps into the code in our next session (if you're willing). As much as possible I want to use our own ^ synth to create music, but obviously if we don't support a certain feature yet that is extremely complicated to build and it is absolutely required for an "initial first impression" to the game, then we'll cheat with Garage Band or other. But what I did with Furball Forces that was simpler, is I just literally just embeded an invisible youtube video with some fun songs :P, so that is an example realistically of closer hacks I'll do to shortcut things until we can do it properly via our own system.

Its 7am here, I've been up all night... so I gotta run but I'm super super super excited (if you're willing) if you're up for helping continue building this. If so, next section I'll show you the 4 pages of (extremely) short content I have for the game already, introduce you to why I'm presenting those ideas as the games intro, and then you'll see where I got "stuck" in the next steps involving Meta Editor and therefore where in the code to start learning and hacking and building! :D

I am super excited to contribute.

<3 <3 <3 <3

Do take rest and sleep!

And you, dear reader, do you want to help us create games of compassion? Message me!

This wiki is where all the GUN website documentation comes from.

You can read it here or on the website, but the website has some special features like rendering some markdown extensions to create interactive coding tutorials.

Please feel free to improve the docs itself, we need contributions!

Clone this wiki locally