Sorted out document structure.

This commit is contained in:
Ryan "Lofenyy" Medeiros 2023-07-03 12:07:38 -06:00
parent 74359dee4d
commit e358d04a08
12 changed files with 313 additions and 331 deletions

View File

@ -1,303 +0,0 @@
% This file is part of LibreWands.
% LibreWands is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
% LibreWands is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
% You should have received a copy of the GNU General Public License along with LibreWands. If not, see https://www.gnu.org/licenses/.
% ---
\part{Developer Manual}
\chapter{Work Timeline}
\section{Development cycles}
\subsection{Monthly Themes}
\begin{description}
\item[Jun] Initial planning. Announce on Diode Zone, Venera Social, Lemmy and the Trisquel forums. Get a Fediverse Blog page in circulation. Finally, announce on r/linux.
\item[Jul] World Design, classic. Announce on r/worldbuilding.
\item[Aug] World Design, implementation. Announce on r/programming\_ideas.
\item[Sep] World Design, testing. Announce on r/betatests.
\item[Oct] Battle mechanics design and implementation. Announce on r/gamedesign.
\item[Nov] Battle mechanics implementation and testing. Announce on r/betatests.
\item[Dec] Polish and Publish. Announce on r/freesoftware.
\end{description}
Finally, ideally once the new year rolls around, we'll be finished. Announce this beautiful game on r/linux.
\subsection{Monthly}
Create a new kanban project. Don't forget to review all major files in the project.
\begin{description}
\item[Week 1] Advance the project with new features.
\item[Week 2] Improve quality through feature freezing, bug hunting, quality tools and lowering the barrier of contribution.
\item[Week 3] Package the software for as many distributions as possible.
\item[Week 4] Advertise through carefully chosen media.
\end{description}
\subsection{Weekly}
On Mondays, plan out our week in the newly created monthly kanban project description on Gitea. Check our LiberaPay account for contributions.
\subsection{Daily}
\begin{itemize}
\item Check for issues and pull requests.
\item Check our Peertube channel and Lemmy community for notifications.
\item Work on our project.
\item Push all changes to Gitea when we're finished.
\end{itemize}
\chapter{Battle}
\section{Elemental Damage}
\begin{tabular}{ l | c c c c c }
X vs Y & Water & Fire & Wind & Earth & Aether \\
\hline
Water & 1.0 & 0.3 & 0.5 & 2.0 & 3.0\\
Fire & 3.0 & 1.0 & 0.3 & 0.5 & 2.0\\
Wind & 2.0 & 3.0 & 1.0 & 0.3 & 0.5\\
Earth & 0.5 & 2.0 & 3.0 & 1.0 & 0.3\\
Aether & 0.3 & 0.5 & 2.0 & 3.0 & 1.0\\
\end{tabular}
\section{Possible Monster Types}
\begin{itemize}
\item Pure Water
\item Water Wind
\item Water Earth
\item Pure Fire
\item Fire Earth
\item Fire Aether
\item Pure Wind
\item Wind Water
\item Wind Aether
\item Pure Earth
\item Earth Water
\item Earth Fire
\item Pure Aether
\item Aether Fire
\item Aether Wind
\end{itemize}
\chapter{Engine Design}
To initialize the game engine, fist run \texttt{initEngine()}. This sets up the graphics, at the very least.
\section{Controls}
The controls used in this engine are based solely on the original Gameboy controls for simplicity and compatibility reasons, particularly with the Pinephone. Support for controllers is planned, but can currently be achieved through keybinding. Keyboard controls include the arrow keys, along with the \texttt{Z} and \texttt{X} buttons, as the primary and secondary buttons respectively. Instead of arrow keys, users of exotic keyboards such as on the Pinephone may use the \texttt{IJKL} keys instead of the arrow keys.
To get output from a controller, use \texttt{joycon()}. The possible outputs are as follows.
\begin{description}
\item['w'] The player pressed 'up' on the directional pad.
\item['s'] The player pressed 'down' on the directional pad.
\item['a'] The player pressed 'left' on the directional pad.
\item['d'] The player pressed 'right' on the directional pad.
\item['\\n'] The player pressed the 'start' key.
\item['\\\\'] The player pressed the 'select' key.
\item['z'] The player pressed the 'primary' key.
\item['x'] The player pressed the 'secondary' key.
\end{description}
\section{Maps}
The best way to understand how maps work in this engine, is to look at the source code, as found in \texttt{engineMaps.h} and \texttt{engineMaps.c} respectively. Maps are stored in a struct array, and each map contains five types of tiles. Every tile has an \texttt{X} and \texttt{Y} coordinate, as well as a \texttt{T} and \texttt{C} attribute, which record the printable character representing the tile, and color code, respectively. See the five types of tiles in the \texttt{Map Editor} chapter in this book. Each tile then contains additional attributes, along with its type.
\subsection{Tile Types and Attributes}
It should be noted that all of these tiles contain an \texttt{active} attribute, that notes whether or not the tile is in use. This is only done in memory, and is to simplify memory management. These states \textit{should not} be saved to external files. For information on color codes, see the \texttt{Color Codes} section of this book.
\subsubsection{Basic Tiles}
Basic tiles are the funamental building blocks of any level. They'll certainly be used the most. They're used for anything that one cannot use another tile type for. They're usede for things such as walls and walkable tiles. These include one-way walls.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[walk] Whether one can walk on this tile or not.
\end{description}
\subsubsection{Information Signs}
Information signs are used to give information to a player.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[dialog] The information that should be displayed to the player.
\end{description}
\subsubsection{Object}
An item on the ground that a player can collect.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[ID] The item ID number.
\end{description}
\subsubsection{Door}
A tile that, if steped on, transports the player to a new place.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[ID] The map number that the player gets transported to.
\item[nx] The X coordinate that the player gets transported to.
\item[nx] The Y coordinate that the player gets transported to.
\end{description}
\subsubsection{Character}
A tile that represents a person. Every person is either passive or aggressive. They may walk or they may not. If they are aggressive, they'll battle the player using the monsters that they have in their inventory.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[type] Whether this character is aggressive or not.
\item[move] Whether this character moves or not.
\item[name] The characters name.
\item[dialog1] What the character says when they are aggressive.
\item[dialog2] What the character says when they are passive.
\item[mon] The monsters that this character carries.
\end{description}
The monsters that a character carries are strored in a struct array with five elements. Each element includes the following attribues.
\begin{description}
\item[type] The ID number of the monster. 0 means there is no monster in this slot.
\item[level] The level of the monster in this slot.
\end{description}
\subsection{Functions}
For the following functions, see \texttt{engineMaps.c} for details.
\begin{description}
\item[addBase()] Add a base tile to our map.
\item[addInfo()] Add a info tile to our map.
\item[addItem()] Add a item tile to our map.
\item[addDoor()] Add a door tile to our map.
\item[addChar()] Add a character tile to our map.
\item[delTile()] Delete all tiles at a specific location on the map.
\item[newMap()] Allocate memory for our maps. (misnomer)
\item[saveMaps()] Save our maps from internal memory to an external file.
\item[loadMaps()] Load our maps from an external file into internal memory.
\end{description}
\chapter{World Design}
The information in this chapter are merely suggestions. I've designed the engine to allow for as much creative freedom as possible. Feel free to break the rules, if it creates a more fun and/or interesting gaming experience.
The main concept of the game revolves around the idea of people carrying powerful monsters with them as they travel. They may choose to battle these monsters. The objective of this game is to collect all magic wands, which can be obtained from monster champions. To collect them all, is to become the best monster coach in the region. We focus mainly on early modern Southern European culture, including tarot cards, classical elements, rennaissance and baroque culture.
\section{Cities and Towns}
For every city except the first, the following should be present and accessible.
\begin{itemize}
\item Heal Center per city.
\item Item center per city.
\item Wand Center per city.
\item Storyline quest.
\item Dungeon quest.
\item Amenity quest.
\end{itemize}
\chapter{Finished Design}
The region of our map is called Botan, and consists of the following elements.
\begin{figure}
\centering
\includegraphics[scale=1.75]{../Build/Botan Map.png}
\end{figure}
\subsection{Coffee City}
Coffee City is a mining city located in the far Southwest. It's very sandy, dirty and when it rains, muddy. Nothing really grows out here. Inspired by Eterna City and Jak III.
\begin{itemize}
\item Heal Center
\item Storyline fetch quest
\item Home
\item friends house
\end{itemize}
\subsection{Route 5}
Route 5 doesn't have a name besides this. It connects Coffee City to Bay City. It's muddy, and swampy. Inspired by Unova Route 8.
\subsection{Bay City}
Bay city is a city surrounded by dense forestry. It's inspired by Violet City.
\begin{itemize}
\item Heal Center
\item Item center
\item Wand Center
\item Quest that unlocks dungeon and Wand Center to player.
\item Enemy Hideout Dungeon
\item Town Map Quest
\end{itemize}
\subsection{Bay Forest}
Bay Forest connects Bay City to Cardamom City. Highly dense and cryptic. Trees become ash as one approaches the Cardamom city. Inspired by Eterna Forerst.
\subsection{Cardamom City}
A city located next to the volcanic Mt. Cardamom. It's vey ashy from a previous eruption. Inspired by Sootopolis City.
\subsection{Mt. Cardamom}
A cryptic and dark cave system that connects Cardamom City to the much cleaner air of Vanilla City. Inspired by Mt. Moon.
\subsection{Vanilla City}
The windy Vanilla City is the powerhouse of the region, with its many wind turbines. Inspired by Goldenrod City.
\subsection{Route 2}
Route 2 doesn't have a name. It connects Vanilla City to Cumin City. It is inspired by RSE Route 119.
\subsection{Cumin City}
The port city of Cumin has an excellent, thriving economy. It's inspired by Mossdeep City.
\subsection{Rosemary Garden}
Rosemary Garden connects Cumin City to Rosemary City. It's a massive garden created by and taken care of by the Rosemary monestary. Inspired by Kalos Route 4.
\subsection{Rosemary City}
Home of the Rosemary Monestary. A very bittersweet, hard to describe city. It has a small town feel overall despite having the amenities of a proper city. Should carry an almost nostalgic feel. Inspired by Lavender Town.
\section{Planned Features}
Shiny Monsters
Legendary Monsters
Monster encyclopedia

View File

@ -0,0 +1,38 @@
\chapter{Battle}
\section{Elemental Damage}
\begin{tabular}{ l | c c c c c }
X vs Y & Water & Fire & Wind & Earth & Aether \\
\hline
Water & 1.0 & 0.3 & 0.5 & 2.0 & 3.0\\
Fire & 3.0 & 1.0 & 0.3 & 0.5 & 2.0\\
Wind & 2.0 & 3.0 & 1.0 & 0.3 & 0.5\\
Earth & 0.5 & 2.0 & 3.0 & 1.0 & 0.3\\
Aether & 0.3 & 0.5 & 2.0 & 3.0 & 1.0\\
\end{tabular}
\section{Possible Monster Types}
\begin{itemize}
\item Pure Water
\item Water Wind
\item Water Earth
\item Pure Fire
\item Fire Earth
\item Fire Aether
\item Pure Wind
\item Wind Water
\item Wind Aether
\item Pure Earth
\item Earth Water
\item Earth Fire
\item Pure Aether
\item Aether Fire
\item Aether Wind
\end{itemize}

View File

@ -0,0 +1,94 @@
\chapter{World Design}
The information in this chapter are merely suggestions. I've designed the engine to allow for as much creative freedom as possible. Feel free to break the rules, if it creates a more fun and/or interesting gaming experience.
The main concept of the game revolves around the idea of people carrying powerful monsters with them as they travel. They may choose to battle these monsters. The objective of this game is to collect all magic wands, which can be obtained from monster champions. To collect them all, is to become the best monster coach in the region. We focus mainly on early modern Southern European culture, including tarot cards, classical elements, rennaissance and baroque culture.
\section{Cities and Towns}
For every city except the first, the following should be present and accessible.
\begin{itemize}
\item Heal Center per city.
\item Item center per city.
\item Wand Center per city.
\item Storyline quest.
\item Dungeon quest.
\item Amenity quest.
\end{itemize}
\chapter{Finished Design}
The region of our map is called Botan, and consists of the following elements.
\begin{figure}
\centering
\includegraphics[scale=1.75]{../Build/Botan Map.png}
\end{figure}
\subsection{Coffee City}
Coffee City is a mining city located in the far Southwest. It's very sandy, dirty and when it rains, muddy. Nothing really grows out here. Inspired by Eterna City and Jak III.
\begin{itemize}
\item Heal Center
\item Storyline fetch quest
\item Home
\item friends house
\end{itemize}
\subsection{Route 5}
Route 5 doesn't have a name besides this. It connects Coffee City to Bay City. It's muddy, and swampy. Inspired by Unova Route 8.
\subsection{Bay City}
Bay city is a city surrounded by dense forestry. It's inspired by Violet City.
\begin{itemize}
\item Heal Center
\item Item center
\item Wand Center
\item Quest that unlocks dungeon and Wand Center to player.
\item Enemy Hideout Dungeon
\item Town Map Quest
\end{itemize}
\subsection{Bay Forest}
Bay Forest connects Bay City to Cardamom City. Highly dense and cryptic. Trees become ash as one approaches the Cardamom city. Inspired by Eterna Forerst.
\subsection{Cardamom City}
A city located next to the volcanic Mt. Cardamom. It's vey ashy from a previous eruption. Inspired by Sootopolis City.
\subsection{Mt. Cardamom}
A cryptic and dark cave system that connects Cardamom City to the much cleaner air of Vanilla City. Inspired by Mt. Moon.
\subsection{Vanilla City}
The windy Vanilla City is the powerhouse of the region, with its many wind turbines. Inspired by Goldenrod City.
\subsection{Route 2}
Route 2 doesn't have a name. It connects Vanilla City to Cumin City. It is inspired by RSE Route 119.
\subsection{Cumin City}
The port city of Cumin has an excellent, thriving economy. It's inspired by Mossdeep City.
\subsection{Rosemary Garden}
Rosemary Garden connects Cumin City to Rosemary City. It's a massive garden created by and taken care of by the Rosemary monestary. Inspired by Kalos Route 4.
\subsection{Rosemary City}
Home of the Rosemary Monestary. A very bittersweet, hard to describe city. It has a small town feel overall despite having the amenities of a proper city. Should carry an almost nostalgic feel. Inspired by Lavender Town.
\section{Planned Features}
Shiny Monsters
Legendary Monsters
Monster encyclopedia

View File

@ -0,0 +1,40 @@
\chapter{Work Timeline}
\section{Development cycles}
\subsection{Monthly Themes}
\begin{description}
\item[Jun] Initial planning. Announce on Diode Zone, Venera Social, Lemmy and the Trisquel forums. Get a Fediverse Blog page in circulation. Finally, announce on r/linux.
\item[Jul] World Design, classic. Announce on r/worldbuilding.
\item[Aug] World Design, implementation. Announce on r/programming\_ideas.
\item[Sep] World Design, testing. Announce on r/betatests.
\item[Oct] Battle mechanics design and implementation. Announce on r/gamedesign.
\item[Nov] Battle mechanics implementation and testing. Announce on r/betatests.
\item[Dec] Polish and Publish. Announce on r/freesoftware.
\end{description}
Finally, ideally once the new year rolls around, we'll be finished. Announce this beautiful game on r/linux.
\subsection{Monthly}
Create a new kanban project. Don't forget to review all major files in the project.
\begin{description}
\item[Week 1] Advance the project with new features.
\item[Week 2] Improve quality through feature freezing, bug hunting, quality tools and lowering the barrier of contribution.
\item[Week 3] Package the software for as many distributions as possible.
\item[Week 4] Advertise through carefully chosen media.
\end{description}
\subsection{Weekly}
On Mondays, plan out our week in the newly created monthly kanban project description on Gitea. Check our LiberaPay account for contributions.
\subsection{Daily}
\begin{itemize}
\item Check for issues and pull requests.
\item Check our Peertube channel and Lemmy community for notifications.
\item Work on our project.
\item Push all changes to Gitea when we're finished.
\end{itemize}

View File

@ -0,0 +1,120 @@
\chapter{Engine Design}
To initialize the game engine, fist run \texttt{initEngine()}. This sets up the graphics, at the very least.
\section{Controls}
The controls used in this engine are based solely on the original Gameboy controls for simplicity and compatibility reasons, particularly with the Pinephone. Support for controllers is planned, but can currently be achieved through keybinding. Keyboard controls include the arrow keys, along with the \texttt{Z} and \texttt{X} buttons, as the primary and secondary buttons respectively. Instead of arrow keys, users of exotic keyboards such as on the Pinephone may use the \texttt{IJKL} keys instead of the arrow keys.
To get output from a controller, use \texttt{joycon()}. The possible outputs are as follows.
\begin{description}
\item['w'] The player pressed 'up' on the directional pad.
\item['s'] The player pressed 'down' on the directional pad.
\item['a'] The player pressed 'left' on the directional pad.
\item['d'] The player pressed 'right' on the directional pad.
\item['\\n'] The player pressed the 'start' key.
\item['\\\\'] The player pressed the 'select' key.
\item['z'] The player pressed the 'primary' key.
\item['x'] The player pressed the 'secondary' key.
\end{description}
\section{Maps}
The best way to understand how maps work in this engine, is to look at the source code, as found in \texttt{engineMaps.h} and \texttt{engineMaps.c} respectively. Maps are stored in a struct array, and each map contains five types of tiles. Every tile has an \texttt{X} and \texttt{Y} coordinate, as well as a \texttt{T} and \texttt{C} attribute, which record the printable character representing the tile, and color code, respectively. See the five types of tiles in the \texttt{Map Editor} chapter in this book. Each tile then contains additional attributes, along with its type.
\subsection{Tile Types and Attributes}
It should be noted that all of these tiles contain an \texttt{active} attribute, that notes whether or not the tile is in use. This is only done in memory, and is to simplify memory management. These states \textit{should not} be saved to external files. For information on color codes, see the \texttt{Color Codes} section of this book.
\subsubsection{Basic Tiles}
Basic tiles are the funamental building blocks of any level. They'll certainly be used the most. They're used for anything that one cannot use another tile type for. They're usede for things such as walls and walkable tiles. These include one-way walls.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[walk] Whether one can walk on this tile or not.
\end{description}
\subsubsection{Information Signs}
Information signs are used to give information to a player.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[dialog] The information that should be displayed to the player.
\end{description}
\subsubsection{Object}
An item on the ground that a player can collect.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[ID] The item ID number.
\end{description}
\subsubsection{Door}
A tile that, if steped on, transports the player to a new place.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[ID] The map number that the player gets transported to.
\item[nx] The X coordinate that the player gets transported to.
\item[nx] The Y coordinate that the player gets transported to.
\end{description}
\subsubsection{Character}
A tile that represents a person. Every person is either passive or aggressive. They may walk or they may not. If they are aggressive, they'll battle the player using the monsters that they have in their inventory.
\begin{description}
\item[x] The X coordinate where it appears.
\item[y] The Y coordinate where it appears.
\item[t] The printable character that represents this tile.
\item[c] The color code of the tile.
\item[type] Whether this character is aggressive or not.
\item[move] Whether this character moves or not.
\item[name] The characters name.
\item[dialog1] What the character says when they are aggressive.
\item[dialog2] What the character says when they are passive.
\item[mon] The monsters that this character carries.
\end{description}
The monsters that a character carries are strored in a struct array with five elements. Each element includes the following attribues.
\begin{description}
\item[type] The ID number of the monster. 0 means there is no monster in this slot.
\item[level] The level of the monster in this slot.
\end{description}
\subsection{Functions}
For the following functions, see \texttt{engineMaps.c} for details.
\begin{description}
\item[addBase()] Add a base tile to our map.
\item[addInfo()] Add a info tile to our map.
\item[addItem()] Add a item tile to our map.
\item[addDoor()] Add a door tile to our map.
\item[addChar()] Add a character tile to our map.
\item[delTile()] Delete all tiles at a specific location on the map.
\item[newMap()] Allocate memory for our maps. (misnomer)
\item[saveMaps()] Save our maps from internal memory to an external file.
\item[loadMaps()] Load our maps from an external file into internal memory.
\end{description}

View File

@ -0,0 +1 @@
\chapter{Game Design}

View File

@ -0,0 +1 @@
\chapter{Item Encyclopedia}

View File

@ -0,0 +1 @@
\chapter{Game Manual}

View File

@ -1,14 +1,3 @@
% This file is part of LibreWands.
% LibreWands is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
% LibreWands is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
% You should have received a copy of the GNU General Public License along with LibreWands. If not, see https://www.gnu.org/licenses/.
% ---
\part{User Manual}
\chapter{Map Editor}
If these instructions are insufficient, a lot of information can be gathered from the \texttt{Maps} section of the \texttt{Engine Design} chapter of this book. If you do find the information in this section to be lacking, please create an issue in the bug tracker of this project, or contact the developer using the information in the project \texttt{ReadMe} file.

View File

@ -0,0 +1 @@
\chapter{Monster Encyclopedia}

View File

@ -1,15 +1,4 @@
% This file is part of LibreWands.
% LibreWands is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
% LibreWands is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
% You should have received a copy of the GNU General Public License along with LibreWands. If not, see https://www.gnu.org/licenses/.
% ---
\part{Packaging Manual}
\chapter{Operating System Priority Levels}
\chapter{Packaging Guide}
The priority levels listed here are merely suggestions. If you're able to help with packaging for any system, it's highly appreciated.

View File

@ -1,7 +1,7 @@
\documentclass[final]{book}
\usepackage{graphicx}
\begin{document}
\title{LibreWands}
\title{LibreWands Encyclopedia}
\author{Ryan "Lofenyy" Medeiros}
\maketitle
@ -17,10 +17,21 @@ Copyright © 2023 Ryan "Lofenyy" Medeiros.
\tableofcontents
\input{../Documentation/1-User.tex}
\input{../Documentation/2-Packager.tex}
\input{../Documentation/3-Developer.tex}
%\input{../Documentation/4-minimal.tex}
\part{LibreWands User Manual}
\input{../Documentation/Articles/LibreWands Game Manual.tex}
\input{../Documentation/Articles/Packaging Guide.tex}
\part{LibreWands Contributor Manual}
\input{../Documentation/Articles/Development Cycle.tex}
\input{../Documentation/Articles/Game Design.tex}
\input{../Documentation/Articles/Battle.tex}
\input{../Documentation/Articles/Botan Encyclopedia.tex}
\input{../Documentation/Articles/Monster Encyclopedia.tex}
\input{../Documentation/Articles/Item Encyclopedia.tex}
\input{../Documentation/Articles/Map Editing.tex}
\part{The Fool Engine Documentation}
\input{../Documentation/Articles/Engine Design.tex}
\end{document}