<Your Company Logo Here>
Revision: 0.0.0
GDD Template Written by: Benjamin "HeadClot" Stanley
GGD Written by: Jasfiq Rahman for XTNT Labs
License
If you use this in any of your games. Give credit in the GDD (this document) to Alec Markarian and Benjamin Stanley. We did work so you don't have to.
Feel free to Modify, redistribute but not sell this document.
TL;DR - Keep the credits section of this document intact and we are good and do not sell it.
Overview
Theme / Setting / Genre
Core Gameplay Mechanics Brief
Targeted platforms
Monetization model (Brief/Document)
Project Scope
Influences (Brief)
<Influence #1>
<Influence #2>
<Influence #3>
<Influence #4>
The elevator Pitch
Project Description (Brief):
Project Description (Detailed)
What sets this project apart?
Core Gameplay Mechanics (Detailed)
<Core Gameplay Mechanic #1>
<Core Gameplay Mechanic #2>
<Core Gameplay Mechanic #3>
<Core Gameplay Mechanic #4>
Story and Gameplay
Story (Brief)
Story (Detailed)
Gameplay (Brief)
Gameplay (Detailed)
Assets Needed
2D
3D
Sound
Code
Animation
Schedule
<Object #1>
<Object #2>
<Object #3>
<Object #4>
- \<Insert Theme here\>
The theme of the game is classic Space-faring Sci-fi. The game is Set in a futuristic world where humanity has ascended beyond Earth and colonized Mars. The genre of the game can be described as a Programming based Puzzle simulator based on a Visual Interface and built as a 2D adventure.
- \<Gameplay Mechanic #1\> The game's Visual Coding Interface is the core-mechanic of the entire game and the backbone of the gameplay. Set in an isometric design, the game aims to, in essence, provide a highly sophisticated IDE to engage young players and make Programming fun.
- \<Gameplay Mechanic #2\>
- \<Gameplay Mechanic #3\>
- \<Gameplay Mechanic #4\>
- \<Example Platform #1 Here\> PC and MacOS.
- \<Example Platform #2 Here\> Android and IOS.
- \<Example Platform #3 Here\>
Subscription based monetization plan - At its basest, the game will aim to translate relevant real world programming skills through its unique gameplay system. The game itself will evolve in gameplay as it integrates more complex programming concepts, for example: introducing If… Else statements after the player has grasped the use of Variables. This approach allows any and all designers working on the game, present and future, to stratify the game into different sections, and easily enabling of existing mechanics when introducing new ones, for example: a nested If… Else sequence will come naturally to the designer as well as the player after the initial introduction of Basic If… Else statements.
As such, in a broader sense, the product can be considered as an entire course on programming wrapped in the interactive nature of a game. With such a model, the game can be monetised and sold in a way a Course is, both within schools and other organisations, and at the individual level in the market.
- \<Link to Monetization Document\>
(How do you plan to monetize the game?)
- \<Game Time Scale\>
- Cost? (How much will it cost?)
Time Scale (How long will it take to make this game?)
<Team Size>
- \<Core Team\>
- Team Member name?
- What does he/she do?
- \<Cost to employ them full time or part time\>
- etc.
(List as many core team members as you need to)
<Marketing Team>
- Team Member name?
- What does he/she do?
- \<Cost to employ them full time or part time\>
- Etc.
(List as many marketing team members as you need to)
- \<Licenses / Hardware / Other Costs\>
- \<Total Costs with breakdown\>
- \<Medium\> (Television, Games, Literature, Movies, etc.)
Top Down Adventure Games (eg: the 2D Legend of Zelda games)
One of the player experiences we wish to have is 'Player Choice'. We want the player to feel like he/she has a host of options to solve the problems posed in the game. This is not only for the sake of giving the player more choices, but ultimately to properly imitate Programming in real-world. As such, the level design of existing and well known isometric 2D games can guide us in the setup of level design which will not only be graphically attuned to ours because of the 2D nature of our own game, but which when properly integrated with the programming aspect will lead to a fresh new kind of gameplay.
- \<Medium\> (Television, Games, Literature, Movies, etc.)
Zachtronic Games
- \<Medium\> (Television, Games, Literature, Movies, etc.)
Programming Courses
Our goal is to gamify a programming course, and the best inspiration for this is undoubtedly existing programming courses. A well made course is not only effective in teaching programming, but also has a very natural difficulty and learning curve which makes the entire experience quite smooth for the learner. Emulating this and designing our game's difficulty curve in such a manner will allow the player to attune themself to the game over a period of time, and also allow better understanding of the core concepts of programming itself.
- \<Medium\> (Television, Games, Literature, Movies, etc.)
GDC Conference videos and Game Maker's Toolkit (YouTube)
The Game Developers' Conference has been host to multitudes of successful game designer speeches over the years. These speeches cover a broad range of topics, most important of all being 'how to keep the player keep playing your game'. One of the best channels for a game developer out there, Mark Brown's GMTK has also had a huge impact on the design of this game.
<A one sentence pitch for your game.>
Pretend that you were pitching your game to an executive going to the elevator. You have less than 60 Seconds.
The product, at its basest, is an intuitive IDE which offers to its players a complete 'Course' on Programming under the guise of a puzzle-adventure game.
<Two Paragraphs at least>
<No more than three paragraphs>
The core objective of our project is to translate Programming skills to our players in an intuitive and natural manner. To that end, we have decided on the creation of a Video Game to reach that goal. As such, the game's core and natural feedback loop will be the programming aspect itself, while using more traditional game design aspects to make the product what it truly is: a Video Game.
To describe briefly, the game is an Interactive Development Environment, or a model thereof of one, which aims to teach the player relevant programming concepts and inculcate a natural growth of programming skills and capabilities within the player, from concepts beginning with Variables, like any good programming course would, up till higher level concepts such as entire Namespaces.
<Four Paragraphs or more If needs be>
<No more than six paragraphs>
The core objective of our project is to translate Programming skills to our players in an intuitive and natural manner. To that end, we have decided on the creation of a Video Game to reach that goal. As such, the game's core and natural feedback loop will be the programming aspect itself, while using more traditional game design aspects to make the product what it truly is: a Video Game.
The game is an Interactive Development Environment, or a model thereof of one. The game hopes to introduce the player to programming concepts by using its nature as an adventure-puzzle game. Programming concepts such as Variables will be taught to the player at the very beginning, and the game's difficulty curve will follow the natural difficulty curve of learning how to code. The puzzles, as well as the IDE within the game itself (which will be portrayed as the layout of a console which the player has developed themself in the beginning of the game), will grow as the game grows to include higher levels of programming concepts, such as Classes and Lists in the intermediate stages and so forth.
The game will also aim to use its story and level design to allow the player to interact with real world problems, from mainstream problems such as deforestation, sustainable resource usage, etc. to more advanced problems such as nuclear technology and its dangers. It will also have the scope of integrating socio-political concepts such as racism, discrimination, equality etc. depending on the wishes of the designer.
The Google dictionary defines Encapsulation as "the succinct expression or depiction of the essential features of something" and this is not only one of the core concepts which any programmer learns, and also what we seek to do with our game. The idea is use our games world to 'encapsulate' both the core elements of programming and thereafter problem solving, as well as real world socio-economic questions.
- \<Reason #1\> We have had programming games, and we have had programming courses. We have never had the two in a convenient package, which through its design itself aims to teach the player the concepts of coding, all the while allowing them to teach it to themselves using real world examples.
- \<Reason #2\>
- \<Reason #3\>
- \<Reason #4\>
- \<etc.\>
- \<Details\>
/Describe in 2 Paragraphs or less/
The core Gameplay Mechanic is Visual Programming. Contextually speaking, the player will have to access his/her character's handheld console to access the programing interface of the game. All interactions with the world, apart from the NPCs will be done mostly through the programming interface.
- \<How it works\>
/Describe in 2 Paragraphs or less/
The game will pose challenges and tasks to the player which the player must solve through programming. These interactions will go beyond traditional programming challenges and use the entire world as a playspace by unique use of the game's context and programming interface.
- \<Details\>
/Describe in 2 Paragraphs or less/
- \<How it works\>
/Describe in 2 Paragraphs or less/
- \<Details\>
/Describe in 2 Paragraphs or less/
- \<How it works\>
/Describe in 2 Paragraphs or less/
- \<Details\>
/Describe in 2 Paragraphs or less/
- \<How it works\>
/Describe in 2 Paragraphs or less/
<The Summary or TL;DR version of below>
The year is 2390. Mars has already been colonized and people have started living and launching spacecraft out of mars.
You are a freelance AI Deprogrammer, and quite infamous among your peers. When the USF (United Sapiens Federation) calls you for a mission, you are given an offer you cannot refuse. And thus, you begin your 10-year journey aboard the state-of-the-art ship, nicknamed 'Chavez'.
But things go wrong sooner than you'd expect, as a rogue asteroid sends you off course plummeting towards an unknown planet after 9 years of hibernation.
When you awaken from the crash a lot of things stop making sense, if they hadn't already that is. Apart from the first mate of the crew, everyone seems to still be asleep, and your attempts at waking them up falls on deaf years. With the help of only the ship's first mate and your trusty AI assistant which you built yourself, Maven, you must find out why a ship as advanced as the Chavez's shields stopped working, then find a way to repair the ship and head out of this planet. But things will hardly be as easy as striking objectives off of a list, and before fixing anything, you must first explore and survive this unknown planet you're in.
<Go into as much detail as needs be>
<Spare no detail>
<Use Mind Mapping software to get your point across>
<The Summary version of below>
<Go into as much detail as needs be>
<Spare no detail>
<Combine this with the game mechanics section above>
For example, suppose the scene above is from Welcome to the Chavez. Link is a stand in for the player, and the lamp is a solar lamp. Now, how does a solar lamp work? For our purposes we shall consider that despite its name, it actually uses a solar battery. And how would one charge and recharge a solar battery? By using the Sun of course.
In the context above, our player has two tasks.
For the first task, the player will have to set up a way to charge the batteries. Let's assume the player has been given a device to do just that, and the player has to set it up now. Thus begins the challenge.
This is an example of the answer to this challenge. Visual Studio here is a stand in for the visual programming interface in game. Let's focus on the components in this example,
Hence in this way we have translated a real world problem into a programming one.
This is an answer to the second half of the challenge. Let's review the components again,
This is an example solution of the same problem, and portrays how the game affects the players programming and how the player too can affect the game through his/her actions.
And instead of just giving it away to the player, the game will make the player work for that added level of functionality. This will not only make the gameplay more immersive, but allow a natural interaction between the game's setting and plot as well as the gameplay, allowing both the player's as well as designers a larger amount of flexibility and options.
Similarly, setting up the AI mascot as a part of the challenge will make the player feel like it is their choice to have that particular character, instead of just having it from the beginning itself.
Variables which the player can interact with in the game world such as isOn will be created by using a system similar to the Attributes used in Unity, most notably SerializeField.
- Textures
- Environment Textures
- Heightmap data (If applicable)
- List required data required - Example: DEM data of the entire UK.
- Etc.
- Characters List
- Character #1
- Character #2
- Character #3
- etc.
- Environmental Art Lists
- Example #1
- Example #2
- Example #3
- etc.
- Sound List (Ambient)
- Outside
- Level 1
- Level 2
- Level 3
- etc.
- Inside
- Level 1
- Level 2
- Level 3
- etc.
Sound List (Player)
- Character Movement Sound List
- Example 1
- Example 2
etc.
- Character Hit / Collision Sound list
Example 1
- Example 2
etc.
- Character on Injured / Death sound list
- Example 1
- Example 2
- etc.
- Character Scripts (Player Pawn/Player Controller)
- Ambient Scripts (Runs in the background)
- Example
NPC Scripts
- Example
- etc.
- Environment Animations
- Example
- etc.
- Character Animations
- Player
Example
etc.
- NPC
- Example
- etc.
- Time Scale
- Milestone 1
- Milestone 2
- Etc.
- Time Scale
- Milestone 1
- Milestone 2
- Etc.
- Time Scale
- Milestone 1
- Milestone 2
- Etc.
- Time Scale
- Milestone 1
- Milestone 2
- Etc.