I recently discovered the Minecraft coding game, which if you were unaware, is a free online Minecraft game that aims to teach the fundamentals of coding. It got me thinking about an interesting way to fuse that with vanilla Minecraft. Imagine a single-player mode where the screen is split in half. The left screen is the “Monitor” and it displays your world, a large black void. The right screen is the “Console/Menu” and it is the part the player can interact with.
In the beginning the player is given a world generation screen, where they may choose how they would like to generate their world. This would have the many different world generation variables that vanilla has. Players also will have the ability to make their own variables, alter variables manually in the code, or completely change the world generation (If they know what they are doing). To help new people who might not know what they are doing, I think it would be cool to have some sort of free marketplace to exchange code online between the players. For example if a player creates a new biome, they can host that biomes code on the service’ and a player may add that biome to their list of biomes capable of generating. Or if you just wanted to generate a vanilla world you could choose that generation script. Then the players completely write that generation using buttons and lines like the coding game, using the options they chose following along with a template to type that code. This world generation stage would introduce the player to how the console works and how buttons work to help you type code faster. However when playing the game it would be too easy if players only used buttons, and it wouldn’t teach the underlying systems as well as if the players had to type each code line out on their own. However forcing the player to type every line of code for every entity they control would be tedious. So to balance a player may earn a button after they have typed the same code into five different entities. Then they are learning the underlying code, but also getting faster as they earn buttons, causing a feeling of growth and satisfaction.
Then after they have chosen their settings the world generates an unmoving sun, a 10x10 grid of chunks, and one adventuring villager. The adventurer has no trades and respawns. Our perspective is a third person omniscient one, where we are a floating camera and we control all the friendly entities. The adventuring villager is our first friendly entity, and he has the power to hijack some neutral entities, and he can gain the ability to hijack more. After we hijack an entity we essentially strip it of its behaviors and we have to code our own behaviors or load them with a chip of pre-coded behaviors (Which we still have to type, just in advance). When controlling an entity our console splits in half and we get the code on the top half of the screen (Which is displayed either as code or as building blocks like in the coding game). On the bottom half we get a player made menu where we can make shortcuts to easily and quickly change an entities behavior. Entity behavior could of course be scripted to change on its own without player interaction. The game would have many behaviors built in that they players may follow along with coding just like the world generation. The sun does not move initially so that the player can take their time learning the basics, build a house to protect their adventurer, and prepare to trek out past the 10x10. Nothing is generated outside the 10x10 before you leave it, and once you do the chunks load one at a time as a friendly entity goes into them, and the sun begins moving. Loading chunks one at a time may be tedious, but as you get more mobs under your control you can have them explore for you. Maybe program a villager on a horse and have them chart maps for you, returning them to a specific spot in a chest in your base.
As the player explores mobs will generate and have preset behaviors and the player simply casts a spell on them to take them over. They can only take over friendly mobs, however maybe there could be ways to take over other types of mobs too if they earn it. The player should do this in a safe setting because the mobs programming will shut off and we will need to reprogram their old behavior. After they are functioning as intended, then the player may customize the mobs code however they want. Maybe you like the vanilla pigs but you want them to walk on their hind legs, you can code that. Then we may switch our control on and off at will from a new tab in the console that keeps tabs of every mob we can control.
This could mean if a player wanted they could program a cow to be fed with a carrot. Or a player could decide cows were a totally different creature that looks like a cow, but behaves drastically differently. Maybe you’ll code a cow army that can pick up a sword and attack villages for wheat. I think it would be really crucial for this game mode to have premade tutorials, but it may be beneficial to also include easy ways to navigate to community tutorials as well. I’m not a programmer so I’m not entirely sure how hard this is to make. However I could see that allowing players to type any code might be too much. So to reduce this, we can change and replace specific parts of code, and there were premade options to easily change them.