Ok, so this is a rather complicated thing I’m considering.
Basically, the idea is to create a game where you can create your own games. Nothing super complicated, just a cute little game maker of sorts. But the thing is, I want to make it so that you can export the game you make as a standalone. What would be the best way to go about doing this?
That could get fairly complicated depending how deep you wanted to get…
The simplest I would argue is to export the configuration of the custom game into whatever format you plan for that. Then have special code in the boot scene that checked for a file that matched some name that is this special exported file, if found instead of launching into the game creator, it launches that game. Then you just duplicate your entire game AND your special named customgame file along with it into a new folder. And when this copy of your game is launched it launches. But this means your entire game creator is deployed along with it when they make a custom game. Meaning if you deleted it, you’d have access to the entire game.
Another option is to build a “game player” version of your game. That doesn’t contain any of the editor stuff, and just the launcher to launch the game. It works as before, but there’s no editor to boot into if your custom format file doesn’t exist. This is lighter weight on the deployed custom game, and doesn’t deploy the editor with it.
From there though it’s going to get way more complicated on what to do. Like actually building a new game.
This is contradictory. “Game makers”, along with procedurally generated content, derstructible / voxel based worlds, cutting meshes… and so on, are just some of those topics people tend to think of as easy - for some reason.
When in fact they can be pretty hard, especially for beginners or people lacking coding experience. So if you plan on looking into this topic, do just that! Look into it. Others have done it and there should be useful articles or even basic tutorials on it. Look them up to get an idea what’s involved and then consider if it’s worth the effort. As a learning experience go for it, but otherwise consider that the market is already pretty saturated for low-mid tier game makers, and that the effort is pretty large in general, even for smaller ones. Effectively you are creating a game engine in a game engine, just that the one you are building is higher-level than the one used to make it. That’s effectively what game makers are.
Technically a game maker probably violates the Unity license terms. Unity Software Additional Terms section 2.6 bans the use of the Unity software for developing a competing product or service. Since Unity is marketed specifically to create games, a game maker would probably be considered a competing product.
I am not a lawyer. You might want to contact Unity’s legal team to inquire about this.
Well, perhaps if you specialize in a game maker for making games in only specific genres then you can appeal to a niche.
EDIT: Perhaps the ability to load other peoples game data into your own game folder (sorta like mods/DLC) would be better since it would allow easier sharing of games. Though perhaps that isn’t feasible if its suppose to be possible to import custom data.
That’s actually very lame if true. And tbh I fail to see how something like a casual game maker can even be considered a competing product in the first place. Though then again, what counts as “competing”? What if I don’t even intend to sell this for money?
The license terms don’t appear to differentiate between a free or paid for competing product. I’m sure you could make the argument that your game maker targets an entirely different class of customers than the Unity Editor does, so isn’t actually a competing product. But that gets into how the license is interpreted (both by Unity’s own legal department, and possibly how a judge or jury if it came to it), and your risk tolerance. This gets into questions you’d want to talk to a lawyer about, or again talk to Unity themselves.
If you think of it more like a “map builder” it might be easier to visualize.
E.g. The Warcraft 3 Map Editor. You can use their models and characters and buildings and customize them with new attributes, colors and trigger events.
You then use Warcraft3 to run your map.
You don’t want to create a modified copy of warcraft3 every time you make a map, you just want to load up your map within warcraft3.
So basically, your editor could allow a player to create a level and modify whatever you allow them to modify, then everything they have added will go into a “map” file. Then your game(map runner) can open and run that map.
I’m not sure about all the legal stuff… you could have your own policy that says “maps made using this game are not allowed to be sold” - similar to what Blizzard did, ironically!