Here is the logic trail:
Using Instantiate is not good for performance, so a decent game needs some object pooling. If you ever did pools, you’d know there should be some sort of Reboot function, to get the object to its default state. Now if we have that, why not store only deviation data, sort of like nested prefabs. If we are doing that, we could save that data and use it to store entire scenes in small files that contain the minimal load of information.
What if your game (At least part of it, it's world) could be launched from any other game. The user wouldn't need to load another app or WebGL window to enjoy what you created.
CRAZY BUSINESS PLAN
Now for the crazy business plan:
Others can make content that can be locked behind the paywall of virtual currency. You’ll have lots of fresh content that can be played for free, like starting levels. And you earn virtual currency in-game. The cool part is, that you earn it based on the difficulty, popularity, and quality of the content. And players are the ones who rate it. And player’s rating is more meaningful if he played the game a lot.
So, in theory, there could be a group of people who create a boring grind level and all rate it in the highest way to level up faster. But after it gets popular, highly rated players will try it and down-rate it.
So, unless I’m missing something big, players have plenty of incentive to keep playing, and creators to create content.
NOW THE CASHHH
The actual money comes into play when players are allowed to pay real cash for virtual. It will not raise their rating but will allow playing any content they want without interruption. Others will have to, sometimes, check out other stories to collect enough credits and then come back to the ones they want to keep playing and unlock the full story.
The creator can select a progression point at which players allowed to judge the overall game. But fairness and other criteria can judge from the get-go.
Creators can earn if their creation is popular, people are spending points to unlock the full story, and some extra if people are spending real cash, and even more if they finish and like the story.
HOW THE ASSET WORKS
The whole thing is constructed around Custom Editors. So you could be editing one object, thanks to PEGI class it will allow you to explore another object and there you'll be able to get info, for example, tag name and data, and the first object will store it and could execute it back on the second object. In the end, there is no need for special compatibility between two objects. They could be developed by different people, but because of constant formatting, one object can store sort of a delegate to second objects, it's function and parameters that were set up during the editing in the inspector.
Other part of this is the infinite world system: some solid math to let you construct the levels scale of the universe. World is saved on so-called pages, and there are parent and child pages, just like website. Root page could be galaxy, then solar system, ets. Players have radius, radius of the parent page will always include all the child pages. If player is inside the radius of the page, it will load it’s content, and child pages.
I may need to create a pages stack: every loaded page will be placed there based on how much distance player has to travel to enter it’s radius. And as player travels, his traveled distace will be measured, and I will only need to compare it with the nearest page. May seem unimportant, but if someone makes thousands of galaxies and player is walking to the store, it will not make much sense to recalculate distance and compare it with radius every few seconds.
Aside from the story, you would want some consistent action game-play. And while your story can be played from any App, different apps can offer different forms of battle. Default one could give you the clicker, alternatives - match 3, some logic puzzles that are based on enemies health.
HOW'S THE ASSET DEVELOPMENT GOING?
It's fine, I'm still making it. Think I'm close to finding the best approach. Every solution is like killing two rabbits with one hammer ... hmm, sounds more morbid then two birds with one stone. Maybe because when you think of throwing a stone it's more like hunting, for food. And the hammer is more about butchering them after they were caught, and it's more personal: you are controlling the action all the way through. And throwing the stone is only about the initial decision. Stone never kills the bird though, you'll have to finish the work manually. And not finishing it is cruelty, so you'll have to do it ... I grew up in a village, no McDonald's there. When we are eating meat, it's never a good day, means I'll have one less animal friend to play with. And when I had to do it, I'll have to pick one, and it's the hardest decision ever. If animal kicked me or bit me, I'm never choosing him, because it will be as if I'm punishing him for that, that just feels wrong. And then I would never know if other animals are nice to me because they like me or because they are scared. If it's second, then one day they could turn on me. And I never picked the fat one or the weak one, it would be wrong too, don't want to do fat shaming or survival of the fittest thing.
I mean, the forum category says "Crazy ideas", I would be failing my own promise by writing a strait-forward post, wouldn't I?