OpenLLM-France/wikimedia huggingface dataset:
# Go/About this book

This is a beginner's guide to understanding the game of go. Its goal is to develop, explain and demonstrate the basic and foundational concepts of go. The intended audience is beginners through to the level of intermediate amateur, and will be structured using the stages of the game as a framework. The first few sections will include all the foundational concepts of the game, with examples and context to explain why they are important. The final section is split into subsections covering the opening game, middle game, and endgame, in both theory and practice. Within each section strategy will be covered first, then tactics. Strategy concerns the big picture and focuses on larger portions of the board or even the entire board. Tactics, on the other hand, focuses on the small and intricate details specific to smaller portions of the board.
The distinguishing factor of this guide is this intended goal and structure. It is intended to be concise and clear, providing a complete framework to initiate someone into the game. Other sources are more expansive and detailed, and are designed to either act as a form of Go library (for example GoBase), or a complicated discussion and analysis of concepts and principles (for example Sensei's library). There are also hard copy books in print for beginners, such as "Teach yourself Go" by Charles Matthews. Next section: Go/Basic Rules and Foundational concepts
Below is an example illustration used throughout this guide. It was created by the author using the tools on gobase.org.
# Go/Glossary of terms
### Atari

Chinese: 打吃 (da3 chi1)/叫吃 (jiao4 chi1) | Japanese: アタリ/当たり (atari) | Korean: 단수 (dansu) A stone or group of stones with only one liberty left are said to be in atari.

### Dan

Chinese: 段 (duàn) | Japanese: 段 (dan) | Korean: 단 (RR: dan, M-R: tan) Dan is the basic unit of rank used to denote Go strength in the case of professionals and stronger amateurs, dan can be translated as "degree"

### Fuseki

Chinese: 布局 (bùjú) | Japanese: 布石 (fuseki) | Korean: 포석 (RR: poseok, M-R: p’osŏk = posuk) Fuseki is a Japanese go term meaning "arraying stones", and refers to whole board openings.

### Goban

A Go board.

### Group

A group of stones (of one colour) that are nearby on the board.

### influence

The influence a group of stones has on part of the board. In other words, the places where one player can easily make territory.

### Joseki

A fixed good set of moves. There are many joseki, and there are books and websites documenting them. It's a good idea to study the common ones.

### prisoners

The stones that are captured from the other side. Traditionally they are kept in the lid of your Go bowl.

### stone

One the small playing pieces used to play Go.
# Doom/Games using the Doom engine

Id games made multiple games after doom based on the doom engine and earlier additions.
Doom Doom2 Heretic Hexen Quake Strife(?)
Zdoom is a Source port made when Id games released the source code for doom and hexen. Zdoom is better than the original doom engine (usually referred to as "Vanillia Doom") because:
Able to pick a game on startup.***
Full Joystick support
Jumping
Looking Up and Down
Mouse Freelook option
Many gameplay options
High Resolutions
Runs better in windows than "Vanilla Doom"
To run zdoom you need one of these files:
You should be able to find some of these in a folder that contains Doom, Doom2, Ultimate Doom, Final Doom, Hexen, or Heretic. If you do not have any of these then you should look for the shareware version of Doom (version 1.9) and put doom1.wad into the zdoom directory.
You need at least one of these files to run zdoom: (doom.wad, doom1.wad, doom2.wad, tnt.wad, plutonia.wad, heretic1.wad, heretic.wad, hexen.wad, hexen2.wad)
# Doom/Cheats

Below is a list of cheats for the games in the Doom series. To activate them, type them while playing the game. Cheats will not work on the highest difficulty level nor on deathmatch games.

## PC version cheat codes
### In-game cheats

* iddqd - degreelessness mode (invulnerability)
* idkfa - gives all weapons, ammunition, armor, and keys
* idfa - same as idkfa but without keys (version 1.666 and later only)
* idspispopd - allows the player to walk through solid objects (original Doom only)
* idclip - allows the player to walk through solid objects (Doom II only)
* idchoppers - gives chainsaw with joke message
* idmypos - displays current map co-ordinates (x, y)
* iddt - toggles normal map, full map, and full maps with objects (must be entered in map mode, multiple times)
* idbehold - selection of power-ups; type one of the following letters after the cheat to get the corresponding power-up:
** a - computer map
** i - partial invisibility
** l - light amplification goggles
** r - radiation suit
** s - berserker punch
** v - temporary invulnerability
* fhhall - kill all monsters (Doom 95 port only)
* fhshh - monsters ignore player unless attacked (Doom 95 port only)
# Donkey Kong Land 2

Donkey Kong Land 2 :
| Developer: | Rare |
| Publisher: | Nintendo |
| Release date: | Game Boy: September 23 or 30, 1996 October 1996 November 1996 November 23, 1996 Virtual Console (3DS): April 16, 2014 October 23, 2014 October 24, 2014 February 26, 2015 |
| Genre: | Platformer |
| Game modes: | Single player |
| ESRB rating: | Everyone (K-A) |
| Platform: | Game Boy |
| Media: | 4-megabit cartridge |
Donkey Kong Land 2 (ドンキーコングランド, Donkey Kong Land) is a sequel to the Game Boy title, Donkey Kong Land and the prequel to Donkey Kong Land III. The game was developed by Rare and published by Nintendo. Like the other Donkey Kong Land games (and later Pokémon Yellow), Donkey Kong Land 2 was contained within a yellow-colored Game Boy cartridge. Being a later Game Boy release, Donkey Kong Land 2 received special enhancements for the Super Game Boy, meaning that different, yet appropriate, colors would show up at different parts of gameplay. The Super Game Boy border itself consists of several bananas.
In 2014, Donkey Kong Land 2 was ported to the Nintendo 3DS's Virtual Console.

## External links

* Donkey Kong Land 2 on the Super Mario Wiki
* Donkey Kong Land 2 on the Mario Wiki (Fandom)

## References

* ↑ Nintendo.com (Wayback Machine)
* ↑ Nintendo Press Release sheet
* ↑ Nintendo Magazine System (AU) Issue #44, page 38.
* ↑ Nintendo Magazine System (UK) Issue #50, page 52.
# Doom/Controls

* Control: Fire, hold Control down to fire rapidly
* Arrow Keys: Move
* Shift (held) while moving: Run
* Alt (held) while moving: Strafe (move sideways)
* Period and Comma: Strafe (push instead of left and right arrow keys)
* Spacebar: Activate Switches, Open Doors etc...
* Enter: Shows the last message that appeared in the top left corner in the Screen, or to select something in the menu
* Tab: View the Map
* Escape: View menu (this can be used anytime in the game, including at the title screen, and ending texture screen)
# Electronics Handbook/Circuits/NPN Transistor Configurations/Amplifier with 2 Resistors
## Analysis

    $V_{B}=V_{i}$
    $V_{E}=V_{B}-0.7=V_{B}$
    $I_{E}={\frac {V_{E}}{R_{4}}}={\frac {V_{B}}{R_{4}}}$
    $I_{C}=I_{E}$
    $V_{C}=V_{C}-I_{C}R_{3}$
# Electronics Handbook/Circuits/Operational Amplifier Configurations
## Linear Configurations

    TypeConfiguration${\frac {V_{o}}{V_{i}}}$ Inverting amplifier$V_{\mathrm {out} }=-V_{\mathrm {in} }\left({R_{f} \over R_{1}}\right)$ Non-inverting amplifier$V_{\mathrm {out} }=V_{\mathrm {in} }\left(1+{R_{2} \over R_{1}}\right)$ Voltage follower$V_{\mathrm {out} }=V_{\mathrm {in} }\!\$ Summing amplifier$V_{\mathrm {out} }=-R_{\mathrm {f} }\left({V_{1} \over R_{1}}+{V_{2} \over R_{2}}+\cdots +{V_{n} \over R_{n}}\right)$ Integrating amplifier$V_{\mathrm {out} }=\int _{0}^{t}-{V_{\mathrm {in} } \over RC}\,dt+V_{\mathrm {initial} }$ Differentiating amplifier$V_{\mathrm {out} }=-RC\left({dV_{\mathrm {in} } \over dt}\right)$ Schmitt triggerHysteresis from ${\frac {-R_{1}}{R_{2}}}V_{sat}$ to ${\frac {R_{1}}{R_{2}}}V_{sat}$ Inductance gyratorL = R$_L$RC Negative impedance converter$R_{\mathrm {in} }=-R_{3}{\frac {R_{1}}{R_{2}}}$ Logarithmic configuration$v_{\mathrm {out} }=-V_{\gamma }\ln \left({\frac {v_{\mathrm {in} }}{I_{\mathrm {S} }\cdot R}}\right)$ Exponential configuration$v_{\mathrm {out} }=-RI_{\mathrm {S} }e^{v_{\mathrm {in} } \over V_{\gamma }}$

## Further reading

* Electronics/Electronics Formulas/Op Amp Configurations
* Electronics/Electronics Op Amp Configurations
* Electronics/Op-Amps/Linear Configurations
* Electronics/Op-Amps/Non Linear Configurations
* Practical Electronics/Operating amplifiers
* "What is Schmitt trigger?"
# Electronics Handbook/Circuits/NPN Transistor Configurations/Transistor Amplifier
## Analysis

Assume that the transistor is ideal.
    $V_{B}=V_{i}{\frac {R_{2}}{R_{2}+R_{1}}}$
    $V_{E}=V_{B}-0.7=V_{B}$
    $I_{E}={\frac {V_{E}}{R_{4}}}={\frac {V_{B}}{R_{4}}}$
    $I_{C}=I_{E}$
    $V_{C}=I_{C}R_{4}$
    $V_{C}=V_{i}(1-{\frac {R_{3}}{R_{4}}}{\frac {R_{2}}{R_{2}+R_{1}}})$
When $R_{2}>>R_{1}$ or R$_1$ = 0. The equation above is reduced to
    $V_{C}=V_{i}(1-{\frac {R_{3}}{R_{4}}})$
    R$_3$ = 0 , $V_{C}=V_{i}$
    R$_3$ = R$_4$ , $V_{C}=0$
    R$_3$ = 2R$_4$ , $V_{C}=-V_{i}$
    R$_3$ = (n+1)$_4$ , $V_{C}=-nV_{i}$
When $R_{3}=R_{4}$. The equation above is reduced to
    $V_{C}=V_{i}(1-{\frac {R_{2}}{R_{2}+R_{1}}})$
When R$_1$ = 0 or R$_2$ = 0,
    $V_{C}=V_{i}$ . Transistor operates like a closed switch
When R$_2$ >> R$_1$
    $V_{C}=0$ . Transistor operates like an opened switch
With the right biased voltage at the base, the transistor can be operated like a mechanical switch.
# Electronics Handbook/Circuits/RLC Series
## Circuit Analysis
### Circuit's Impedance

    $Z=Z_{R}+Z_{L}+Z_{C}$
    $Z=R+j\omega L+{\frac {1}{j\omega C}}$
    $Z={\frac {1}{X_{C}}}(j\omega ^{2}+j\omega {\frac {R}{L}}+{\frac {1}{LC}})$

### Natural Response

    $L{\frac {dI}{dt}}+IR+{\frac {1}{C}}\int Idt=0$
    ${\frac {dI}{dt}}+I{\frac {R}{L}}+{\frac {1}{LC}}=0$
    ${\frac {d^{2}I}{dt^{2}}}+{\frac {R}{L}}{\frac {dI}{dt}}+{\frac {1}{LC}}=0$
    $s^{2}+{\frac {R}{L}}s+{\frac {1}{LC}}=0$
    $s=-\alpha$ ± ${\sqrt {\alpha ^{2}-\beta ^{2}}}t$
    $s=-\alpha \pm \lambda t$
    $\alpha ={\frac {R}{2L}}$
    $\beta ={\frac {1}{LC}}$
    $\lambda ={\sqrt {\alpha ^{2}-\beta ^{2}}}t$
* $\lambda =0.\alpha ^{2}=\beta ^{2}$ . There is only one real root,
    s = -αt
    $({\frac {R}{2L}})^{2}$ = $({\frac {1}{LC}})^{2}$
    $R={\sqrt {\frac {L}{C}}}$
    $I=Ae^{-{\frac {t}{T}})$
* $\alpha ^{2}>\beta ^{2}$ , There are two real roots,
    $s=-\alpha$ ± ${\sqrt {\alpha ^{2}-\beta ^{2}}}$
    $({\frac {R}{2L}})^{2}$ = $({\frac {1}{LC}})^{2}$
    $R>{\sqrt {\frac {L}{C}}}$
    $I=e^{-}\alpha t[e^{\lambda }t+e^{-}\lambda t]$
    $I=ACos\lambda t$
    $A={\frac {e^{-}\alpha t}{2}}$
* $\alpha ^{2}<\beta ^{2}$ , There are two complex roots,
    $s=-\alpha$ ± ${\sqrt {\alpha ^{2}-\beta ^{2}}}$
    $({\frac {R}{2L}})^{2}$ = $({\frac {1}{LC}})^{2}$
    $R>{\sqrt {\frac {L}{C}}}$
    $I=e^{-}\alpha t[e^{j}\lambda t+e^{-}j\lambda t]$
    $I=ASin\lambda t$
    $A={\frac {e^{-}\alpha t}{2}}$
Current change with time depends on the value of R L and C
       $R={\sqrt {\frac {L}{C}}}$ . Dòng điện giảm dần theo hàm số mủ của e
       $R>{\sqrt {\frac {L}{C}}}$ . Dòng điện giảm đến một giá trị âm rồi tăng đến một giá trị dương
       $R={\sqrt {\frac {L}{C}}}$ . Mạch điện có có Dòng Điện của Sóng Sin giảm dần theo theo thời gian

### Resonance Response

At resonance $Z_{L}-Z_{C}=0.V_{C}+V_{L}=0$
* $Z_{L}-Z_{C}=0$
    $Z_{L}=Z_{C}$ .
    $\omega L={\frac {1}{\omega C}}$
    $\omega ={\sqrt {\frac {1}{LC}}}$
Analyze the circuit at
    $\omega =0.I=0$ . Capacitor opens circuit
    $\omega =00.I=0$ . Inductor opens circuit
    $\omega ={\sqrt {\frac {1}{LC}}}.I={\frac {V}{R}}$ . $Z_{L}=Z_{R}.Z=Z_{R}+Z_{L}+Z_{C}=Z_{R}=R$
At resonance, series RLC is capable of select a bandwidth of frequencies where voltage is stable does not change with frequencies. Therefore, can be used as Tuned - Resonance Band Pas Selected Filter

## Summary

* The natural Response of the RLC series is a second order differential equation of current
    ${\frac {d^{2}I}{dt}}+{\frac {R}{L}}{\frac {dI}{dt}}+{\frac {1}{LC}}$
Depends on the value of Resistance the equation has
    One Real RootTwo Real RootsTwo Complex Roots One real root $R={\sqrt {\frac {L}{C}}}$ $I=e^{-}\alpha t$Two real roots $R>{\sqrt {\frac {L}{C}}}$ $I=e^{-}\alpha [e^{\lambda }t+e^{-}\lambda t]$ $I=ACos\lambda t$ $A={\frac {e^{-}\alpha t}{2}}$ $R<{\sqrt {\frac {L}{C}}}$ $I=e^{-}\alpha [e^{j}\lambda t+e^{-}j\lambda t]<br><math>I=ASin\lambda t$ $A={\frac {e^{-}\alpha t}{2}}$
* At Resonance when all the frequency dependent components cancel out RLC series behaves like Tuned Resonance Selected Band Pass Filter
# Electronics Handbook/Circuits/Low-pass Filter
## Low-pass Filter

A low-pass filter has a stable voltage at low frequencies and increasing voltage at high frequencies.

## Low-pass Filter , LR Configuration

Picture

### V$_o$/V$_i$

    ${\frac {V_{o}}{V_{i}}}={\frac {Z_{R}}{Z_{R}+Z_{L}}}={\frac {R}{R+j\omega L}}={\frac {V_{o}}{V_{i}}}={\frac {1}{1+j\omega T}}$
    $T={\frac {L}{R}}$

### Frequency Response

    ω = 0 . $V_{o}=V_{i}$
    ω = ${\frac {R}{L}}$ . $V_{o}=V_{i}/2$
    ω = 00 . $V_{o}=0$
LR has a stable voltage at low frequencies and increasing voltage at high frequencies.

## Low-pass Filter , RC Configuration
### V$_o$/V$_i$

    ${\frac {V_{o}}{V_{i}}}={\frac {Z_{C}}{Z_{R}+Z_{C}}}={\frac {\frac {1}{j\omega C}}{R+{\frac {1}{j\omega C}}}}={\frac {1}{1+j\omega CR}}={\frac {1}{1+j\omega T}}$ với
    $T=CR$

### Frequency Response

    $\omega =0$$\omega ={\frac {1}{RC}}$$\omega =\infty$ $V_{o}=V_{i}$$V_{o}=V_{i}/2$$V_{o}=0$
RC has a stable voltage at low frequencies and increasing voltage at high frequencies.

## Summary

* Low-pass filters have a stable voltage at low frequencies and increasing voltage at high frequencies.
* Low-pass filters can be constructed from RC or LR.
* Low-pass filters have a general formula:
       ${\frac {V_{o}}{V_{i}}}={\frac {1}{1+j\omega T}}$ . T = RC = ${\frac {L}{R}}$
# Electronics Handbook/Circuits/NPN Transistor Configurations/Amplifier with 4 Resistors
## Analysis

Assume that the transistor is ideal.
    $V_{B}=V_{i}{\frac {R_{2}}{R_{2}+R_{1}}}$
    $V_{E}=V_{B}-0.7=V_{B}$
    $I_{E}={\frac {V_{E}}{R_{4}}}={\frac {V_{B}}{R_{4}}}$
    $I_{C}=I_{E}$
    $V_{C}=I_{C}R_{4}$
    $V_{C}=V_{i}(1-{\frac {R_{3}}{R_{4}}}{\frac {R_{2}}{R_{2}+R_{1}}})$
When $R_{2}>>R_{1}$ or R$_1$ = 0. The equation above is reduced to
    $V_{C}=V_{i}(1-{\frac {R_{3}}{R_{4}}})$
    R$_3$ = 0 , $V_{C}=V_{i}$
    R$_3$ = R$_4$ , $V_{C}=0$
    R$_3$ = 2R$_4$ , $V_{C}=-V_{i}$
    R$_3$ = (n+1)$_4$ , $V_{C}=-nV_{i}$
When $R_{3}=R_{4}$. The equation above is reduced to
    $V_{C}=V_{i}(1-{\frac {R_{2}}{R_{2}+R_{1}}})$
When R$_1$ = 0 or R$_2$ = 0,
    $V_{C}=V_{i}$ . Transistor operates like a closed switch
When R$_2$ >> R$_1$
    $V_{C}=0$ . Transistor operates like an opened switch
With the right biased voltage at the base, the transistor can be operated like a mechanical switch.
# Electronics Handbook/Circuits/RC Series
## Circuit Analysis
### Circuit's Impedance

In Polar coordinate
    $Z=Z_{R}+Z_{C}$
    Z = R /_0 + ( 1 / ωC ) /_ - 90
    Z = = |Z|/_θ = ${\sqrt {R^{2}+({\frac {1}{\omega C}})^{2}}}$ /_ Tan$^{-1}$ ${\frac {1}{\omega RC}}$
In Rectangular coordinate
    $Z=Z_{R}+Z_{C}$
    Z = $R+{\frac {1}{j\omega C}}={\frac {1+j\omega RC}{j\omega C}}$
    $Z={\frac {1}{X_{C}}}(1+j\omega T$)

### Phase Angle Difference Between Voltage and Current

There is a difference in angle Between Voltage and Current . Current leads Voltage by an angle θ
    $Tan\theta ={\frac {1}{\omega RC}}={\frac {1}{f}}{\frac {1}{2\pi RC}}=t{\frac {1}{2\pi RC}}$
The difference in angle between Voltage and Current relates to the value of R , C and the Angular of Frequency ω which also relates to f and t . Therefore when change the value of R or C , the angle difference will be changed and so are ω , f , t
    $\omega ={\frac {1}{RC}}{\frac {1}{Tan\theta }}$
    $f={\frac {1}{2\pi }}{\frac {1}{RC}}{\frac {1}{Tan\theta }}$
    $t=2\pi RCTan\theta$

### Natural Response

    $C{\frac {dV}{dt}}+{\frac {V}{R}}=0$
    ${\frac {dV}{dt}}=-{\frac {1}{RC}}V$
    ${\frac {1}{V}}dV=-{\frac {1}{RC}}dt$
    $\int {\frac {1}{V}}dV=-\int {\frac {1}{RC}}dt$
    ln V = $-{\frac {1}{RC}}+C$
    $V=e^{-}({\frac {1}{RC}})t+C$
    $V=Ae^{-}({\frac {1}{T}})t$
    $A=e^{C}$
    T = RC

## Summary

In summary, RL series circuit has a first order differential equation of voltage
    ${\frac {d}{dt}}f(t)+{\frac {t}{T}}=0$
Which has one real root
    $V(t)=Ae^{\frac {-t}{T}}$
    $A=e^{c}$
# Electronics Handbook/Circuits/NPN Transistor Configurations
## Amplifiers

* Transistor Amplifier
* Transistor Digital Logic Gates
* Transistor Computation
# Guide to Game Development/Miscellaneous/In-game power sources and electricity

The idea of this page is to anaylise what other develops have done well, and what they have not done so well (learn from their mistakes).

## Minecraft Redstone

| Advantages | Disadvantages | I/O | Things that could be improved |
| Complex - can do a variety of things, limitless possibilities Logic gate implementation This also teaches people | Confusing hard to pick-up Takes up a lot of space inside the game Logic gates: You have to know how to make these logic gates | Input: Buttons Levers Pressure Plates Hoppers Output: Pistons/Sticky Pistons Lamps/Lights Dispencers Droppers Functional: Repeaters (signal delays) Torches (toggle boolean state) Comparators (comparison of voltage levels) Command blocks (runs in game commands) Slime blocks (can move lumps of blocks) | Make the computer do the confusing parts to make it easier for users to pick up. Should use PCBs and terminal blocks for IO Make a compact logic gate chip rather than making it Hopper should be swapped for pipes (multi-directional) |

## Minecraft computercraft mod

| Advantages | Disadvantages | I/O | Things that could be improved |
| Good for programmer Gets people into programming | Not good for non-programmers | Input: Floppy disk to store programs Output: Screen Write floppy disks Functional: Virtual computer with all of their inputs and outputs | Would be better to have two modes Programmer mode User interface mode - drag and drop Put tutorials inside the computers |

## Minecraft redpower mod

| Advantages | Disadvantages | I/O | Things that could be improved |
| Bundled cable: Compact lets the computer handle a little bit more Less confusing Allows for wire buses like a computer has Can then split into individuals | | Input: Output: Functional: | |

## Terraria multi-coloured wires

| Advantages | Disadvantages | I/O | Things that could be improved |
| Compact 3 colour wires Simple easy - no tutorial needed | limited to only 3 wires. There's no way to convert from one colour to another Very basic, can't really do much. | Input: Output: Functional: | |

## Garry's Mod

| Advantages | Disadvantages | I/O | Things that could be improved |
| Simple Click on one, then click on the other to join it up | | Input: Output: Functional: | |

## Garry's mode - wire mod

| Advantages | Disadvantages | I/O | Things that could be improved |
| | | Input: Output: Functional: | |
# Guide to Game Development/Miscellaneous/List of advice
## Advice from user: CallumPoole (discuss • contribs) 02:21, 3 July 2014 (UTC)

* Work on side projects alongside your main project, this will help you relax.
* When stuck on a problem, use a pen and paper to write down and try and solve the problem.
* Loops are your friends, avoid copy and pasting.
* Use a decent IDE that will help speed up development.
* Learn binary, useful for all types of programming.
* Get others to test your game, what seems intuitive to you might not be intuitive to others.
* If you have an idea for a game that's really big and you've just started game development, you first game will be badly developed; this is why it's important to make lots of small projects rather than building a massive project on your mistakes. Only when you're good enough to perfect the starting layout should to start making a large game.
* Teach other, you might learn from it yourself as you need to make sure everything you know is 100% correct.
* Look outside the box, see Where do I begin?.
* Comments don't just help others, they help you for when your code gets really large or when you've not touched the project for a while.
* Ask on forums, have a go to place to go to ask questions.
* Make friends with people that also do programming/game development.

## References

* 1 2 https://www.youtube.com/watch?v=3hMYF2CRFRo
* ↑ https://en.wikibooks.org/wiki/Guide_to_Game_Development/Miscellaneous/Project_ideas
# Guide to Game Development/Miscellaneous/Planning out your game
## How to plan your game out

This a rough guide for you to follow when you're planning your game out.
* Break your planning note document into different levels of indentation, for example: plan a world, then increase your indentation to plan the level, then increase your indentation to plan each part of the level, then increase the indentation to plan the aesthetics of that part. Note: if the document gets too large, it might be a good idea to swap a level of indentation into a different file or directory.
* Plan with images, this will help you and others visualise what you mean to get a better understanding.
* Plan out:
** Mechanics
** Worlds/locations/levels
** Aesthetics
** Character
*** Movement
*** Inventory
*** Attacks
** GUI
** Storyline/objectives

## Things to think about when you plan a new feature

* "Replayability"
       Is this new feature worth replaying?
* Enjoyment
       Is this new feature fun?
* Understandable
       How easy is it for someone to pick up?
* Unique
       How unique is this feature? Is it typical and too expected?
* Hard or frustrating?
       It's good for games to be hard, it can make it challenging, but no one wants to play a frustrating game.
# Guide to Game Development/Rendering and Game Engines

The tool/framework/engine that you're going to use to create the game.

## Categories
### Rendering engines/Framework

* DirectX
          A rendering engine that only works on Windows (as well as Modern), Windows Phone, Xbox 360 and Xbox One.
* OpenGL
          A rendering engine that works on all platforms, except for Windows Phone, Xbox 360 and Xbox One.
          This page contains many Sister Projects.
* WebGL
          A rendering engine based upon OpenGL designed to work on the web.
* Three.js
          A Javascript webrenderer.
* XNA
          Used to make games for Windows (as well as Modern).
* Allegro
* Default programming language graphics renderer
          The default graphics system that you programming language uses to draw basic graphics to the screen (2D only, unless you're a mathematical bad-ass).

#### Extra tool libraries

* SDL
          Simple DirectMedia Layer - provides low level access to audio, input devices, and graphics hardware via OpenGL and Direct3D.

### Game Engines

* GameMaker
          A tool for making games aimed at beginners that requires little to no programming.
* Scratch
          A tool for making games aimed at beginners of a young age that requires no programming.
* Unity
          A tool that allow for easy programming, allowing you to interact with public members with a visual interface.
* Unreal Development Kit (UDK)
          The engine used to make Unreal games such as Gears of War.
* Quake Engine
          The engine used to make Quake.
* Cry Engine
          The engine used to make Crysis, Far Cry and many more games.
* FPS Creator
          A simple first-person-shooter creator

### Programming built-in languages

See Game-only programming languages.

## References

* ↑ https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer