Project Spark is an editor for making, playing and sharing your own games.
In detail, Project Spark is an "open world digital canvas" game-creation service for the Xbox One and Windows 8.1 and 10, developed by Team Dakota and published by Microsoft Studios. Project Spark provides a set of tools that allows for the creation of personalized video games and other digital applications, with seamless platform communication between projects. The project was announced during Microsoft's E3 2013 press event, with the purpose of bridging the gap between game design and the creative community, thanks to its visual coding language that makes the process quick and simple while remaining powerful and capable of bringing the users' imagination to life.
The game/toolset is designed to be community driven, the user is able to download the shared work of other users and play through their work and vice versa. However, there is a campaign mode called champion's quest, in which the user plays through a storyline. It should be noted that this is merely an example of what can be made in Project Spark. There is also a single player experience in the Crossroads mode of Project Spark which resembles a choose your own adventure book. The player will be prompted to make decisions that will shape the game, such as setting, time of day and quest specifics. The mode has been designed to provide a playable game with minimal input, to give players somewhere to start, or a simplified version of the toolkit. You can also choose to create a game using the full capabilities of the editor (full toolset mode).
When starting a new project, the user is presented with a flat, empty world, from here the tools provided can morph the landscape, paint textures and input props (characters, buildings, etc.).
When morphing the landscape, the user can select from various shapes of brushes that morph according to the selected action (Expand, Add, Smooth, Plateau and Cubify).
The texture tool enables the user to paint the chosen texture set onto their world, changing from the starting default texture (shiny hexagons) to grass, sand and snow. The texture tool has smart programming that allows it to recognise where it's painting. For example, the tool knows when it's painting the side of a cliff and dynamically changes the texture to accommodate that.
The biome tool is similar to the texture tool in that it paints the targeted area with a certain set of textures, be it Desert, Arctic, etc. In addition, the biome tool will also generate props specific to the chosen texture, for example, the Forest biome will not only paint grass and flowers on the ground, but also place props such as trees, squirrels, bushes and rocks. Each biome comes with their own set of props that will be generated randomly as the user paints across their landscape. The biome sphere can also be scaled, which along with covering larger or smaller areas, will also generate larger, or smaller, props.
Brains are Project Spark's approach to visual programming and are essentially a series of code that gives tasks, functions and properties to all in-game props. By assigning a brain, the player is able to modify by a series of visually represented choices. The first example was demonstrated at E3 2013 by modifying the behaviour of a rock, which went from having an empty brain (no code assignment) to following the player upon detection. A thorough list of assignments can be found here.
As well as having the ability to add brains to things that have no brains, the user will also be able to edit brains of existing entities, including the playable character. Some things have pre-built intelligence based on what you would expect that entity to do, for example, Goblins attack you and birds fly away, but there is no restriction on changing these completely, you can change a Goblin from aggressive, to passive, to friendly, to acting like a bird himself and flying away, the possibilities again, seem limitless. Changing the brain of the playable character enables you to completely modify the gaming experience, from changing which button makes you jump and how the camera works to what your character can actually do.
The code system that Brains use will substitute typical complex coding language for the phrases, "When" and "Do". So when players are programming a brain, players can say WHEN all of the conditions are met, the program will DO a task. For example, someone could input WHEN a player presses the A button, DO jump. A player can also make that program more advanced by saying, WHEN player presses the A bottom, AND the player is on the ground. DO jump 2 feet above the ground.
Project Spark features intuitive community features that allow users to share their creations with the world. The user will be able to share anything made using Project Spark, including, but not limited to, brains, structures and maps, as well as full games. The creative aspects of Project Spark carries past the solo creation, as anything that is available in the community, is also editable. Users will be able to download anything from the community and put their own personal touch on it which will also be available for download by the community. These changes will be depicted in the "lineage" timeline, which will show the original creator, when any changes were made, what the change(s) was and who made the change(s).
Everything that the community creates will also be subject to user ratings and can be favorited, which will enable the most popular creations to rise to the top of the list, making it quick and easy to find the best user created content. Ratings and favorites however won't be the only method of filtering creations, as you can search for games of specific genre, or with certain tags, which can be placed on the creation when it's shared.