summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-08-13 19:10:55 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-08-13 19:10:55 +0200
commit5fc352517d82a11fa619a349af9985ae5dffbacf (patch)
treeac3f57657509e3fdcd8515d2d4f1c28836ff43a4
parentf64ce434d014b389ebb028c5df64443965a113b0 (diff)
downloadtacticians-design-5fc352517d82a11fa619a349af9985ae5dffbacf.zip
tacticians-design-5fc352517d82a11fa619a349af9985ae5dffbacf.tar.bz2
...
-rw-r--r--Makefile65
-rw-r--r--headers/math.tex5
-rw-r--r--headers/tikz.tex11
-rw-r--r--main.tex17
-rw-r--r--src/game_design.tex4
-rw-r--r--src/game_design/attributes.tex14
-rw-r--r--src/game_design/damage_types.tex18
-rw-r--r--src/game_design/magical_elements.tex30
-rw-r--r--src/implementation.tex0
9 files changed, 164 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a48ac73
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,65 @@
+################################################################################
+## Document Parameters #########################################################
+################################################################################
+# Name of the main file, without the .tex extension.
+DOCUMENT_FILENAME ?= main
+
+################################################################################
+## Binaries ####################################################################
+################################################################################
+PDFLATEX ?= pdflatex
+
+################################################################################
+## Deducing Main Target ########################################################
+################################################################################
+ifeq ($(strip $(PDFVIEWER)),)
+main_target: compile
+
+else
+main_target: view
+
+endif
+
+################################################################################
+## Basic Makefile Shenanigans ##################################################
+################################################################################
+COMMA =,
+
+################################################################################
+## Localising Relevant Files ###################################################
+################################################################################
+TEX_FILES = $(shell find ${CURDIR} -iname \*.tex)
+
+################################################################################
+## Making the Actual PDF #######################################################
+################################################################################
+$(DOCUMENT_FILENAME).pdf: $(TEX_FILES) Makefile
+ $(PDFLATEX) $(DOCUMENT_FILENAME).tex
+ $(PDFLATEX) $(DOCUMENT_FILENAME).tex
+ grep -i "\\(Reference\\|Citation\\).*undefined" \
+ $(DOCUMENT_FILENAME).log || true
+
+################################################################################
+## Secondary Targets ###########################################################
+################################################################################
+view: compile
+ $(PDFVIEWER) $(DOCUMENT_FILENAME).pdf
+
+compile: $(DOCUMENT_FILENAME).pdf
+ $(MAKE) clean_mess
+
+edit:
+ $(EDITOR) $(TEX_FILES)
+
+clean:
+ rm -f \
+ $(filter-out $(DOCUMENT_FILENAME).tex,$(wildcard $(DOCUMENT_FILENAME).*))
+
+################################################################################
+clean_mess:
+ rm -f \
+ $(filter-out $(DOCUMENT_FILENAME).tex, \
+ $(filter-out $(DOCUMENT_FILENAME).pdf, \
+ $(wildcard $(DOCUMENT_FILENAME)\.*) \
+ ) \
+ )
diff --git a/headers/math.tex b/headers/math.tex
new file mode 100644
index 0000000..2be116e
--- /dev/null
+++ b/headers/math.tex
@@ -0,0 +1,5 @@
+\usepackage{amsmath}
+\usepackage{amssymb}
+
+%\newtheorem{definition}{Definition}
+%\newtheorem{example}{Example}
diff --git a/headers/tikz.tex b/headers/tikz.tex
new file mode 100644
index 0000000..d921034
--- /dev/null
+++ b/headers/tikz.tex
@@ -0,0 +1,11 @@
+\usepackage{tikz}
+
+\usetikzlibrary{arrows}
+\usetikzlibrary{automata}
+\usetikzlibrary{backgrounds}
+\usetikzlibrary{calc}
+\usetikzlibrary{decorations.pathreplacing}
+\usetikzlibrary{matrix}
+\usetikzlibrary{patterns}
+\usetikzlibrary{positioning}
+\usetikzlibrary{shapes,shapes.arrows,shapes.callouts,shapes.symbols}
diff --git a/main.tex b/main.tex
new file mode 100644
index 0000000..af55d88
--- /dev/null
+++ b/main.tex
@@ -0,0 +1,17 @@
+\documentclass[a4paper]{scrartcl}
+\usepackage[english]{babel}
+\usepackage{microtype}
+
+\input{headers/tikz}
+\input{headers/math}
+
+\title{Tacticians Online}
+\subtitle{Design Document}
+
+\begin{document}
+\maketitle
+
+\input{src/game_design}
+\input{src/implementation}
+
+\end{document}
diff --git a/src/game_design.tex b/src/game_design.tex
new file mode 100644
index 0000000..ed614d5
--- /dev/null
+++ b/src/game_design.tex
@@ -0,0 +1,4 @@
+\section{Game Design}
+\input{src/game_design/attributes}
+\input{src/game_design/damage_types}
+\input{src/game_design/magical_elements}
diff --git a/src/game_design/attributes.tex b/src/game_design/attributes.tex
new file mode 100644
index 0000000..ad193de
--- /dev/null
+++ b/src/game_design/attributes.tex
@@ -0,0 +1,14 @@
+\subsection{Attributes}
+\label{character-attributes}
+\begin{description}
+\item[Accuracy] \ldots
+\item[Critical Hit Chance]
+ Likeliness for each attack to be a critical hit (see~\ref{critical-hit}).
+ From 0 to 100\%.
+\item[Damage Modifier] \ldots
+\item[Dodge Chance] \ldots
+\item[Double Hit Chance] \ldots
+\item[Health Points] \ldots
+\item[Movement Points] \ldots
+\item[Parry Chance] \ldots
+\end{description}
diff --git a/src/game_design/damage_types.tex b/src/game_design/damage_types.tex
new file mode 100644
index 0000000..fedbb26
--- /dev/null
+++ b/src/game_design/damage_types.tex
@@ -0,0 +1,18 @@
+\subsection{Damage Types}
+\label{damage-types}
+There are \textbf{3} damage types: \textit{slashing}, \textit{bludgeoning}, and
+\textit{piercing}. Additionally, the term \textit{base} damage is used when
+describing damage applied to all three at the same time. Each damage type is
+independent, in the sense that an attack of type \textit{A} will only be
+affected by the defense of type \textit{A} (and \textit{base} defense). This
+encourages players to diversify both their attack and defense types so that they
+are able to exploit weaknesses in their opponents' defenses all while trying to
+avoid their adversaries doing the same. By limiting the types of damage types to
+3, there should be enough depth for players to create interesting team
+compositions without the complexity that might lead them to just not bother
+taking it into consideration in their planning. It's very much like the
+\textit{rock–paper–scissors} or Fire Emblem's \textit{Weapon Triangle}, except
+that you are not limited to a single type, and that the type(s) you use for
+attack do not have to match the one(s) you use for defense.
+
+Magical elements (Subsection~\ref{magical-elements}) are not damage types.
diff --git a/src/game_design/magical_elements.tex b/src/game_design/magical_elements.tex
new file mode 100644
index 0000000..c2b6f86
--- /dev/null
+++ b/src/game_design/magical_elements.tex
@@ -0,0 +1,30 @@
+\subsection{Magical Elements}
+\label{magical-elements}
+\begin{figure}
+\begin{center}
+\begin{tikzpicture}[auto,>=stealth']
+ \tikzstyle{primary} = [draw,rectangle];
+ \tikzstyle{secondary} = [draw,diamond];
+ \node[primary] (WIND) {Wind};
+ \node[secondary,below right of = WIND] (SNOW) {Snow};
+ \node[primary,below right of = SNOW] (WATER) {Water};
+ \node[secondary,below left of = WATER] (PLANT) {Plant};
+ \node[primary,below left of = PLANT] (EARTH) {Earth};
+ \node[secondary,above left of = EARTH] (METAL) {Metal};
+ \node[primary,above left of = METAL] (FIRE) {Fire};
+ \node[secondary,above right of = FIRE] (LIGHTNING) {Lightning};
+
+ \draw (WIND) -- (LIGHTNING);
+ \draw (WIND) -- (SNOW);
+ \draw (WATER) -- (SNOW);
+ \draw (WATER) -- (PLANT);
+ \draw (EARTH) -- (PLANT);
+ \draw (EARTH) -- (METAL);
+ \draw (FIRE) -- (METAL);
+ \draw (FIRE) -- (LIGHTNING);
+\end{tikzpicture}
+\end{center}
+\caption{Magical Elements Wheel}
+\label{magical-elements-wheel}
+\end{figure}
+
diff --git a/src/implementation.tex b/src/implementation.tex
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/implementation.tex