[flokk-checkins] documentation almost done
Status: Pre-Alpha
Brought to you by:
dshipton
From: Stuart T. <dis...@us...> - 2004-12-10 09:32:05
|
<html> <head> <style><!-- body {background-color:#ffffff;} .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;} .pathname {font-family:monospace; float:right;} .fileheader {margin-bottom:.5em;} .diff {margin:0;} .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;} .tasklist ul {margin-top:0;margin-bottom:0;} tr.alt {background-color:#eeeeee} #added {background-color:#ddffdd;} #addedchars {background-color:#99ff99;font-weight:bolder;} tr.alt #added {background-color:#ccf7cc;} #removed {background-color:#ffdddd;} #removedchars {background-color:#ff9999;font-weight:bolder;} tr.alt #removed {background-color:#f7cccc;} #info {color:#888888;} #context {background-color:#eeeeee;} td {padding-left:.3em;padding-right:.3em;} tr.head {border-bottom-width:1px;border-bottom-style:solid;} tr.head td {padding:0;padding-top:.2em;} .task {background-color:#ffff00;} .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd} .error {color:red;} hr {border-width:0px;height:2px;background:black;} --></style> </head> <body> <table cellspacing="0" cellpadding="0" border="0" rules="cols"> <tr class="head"><td colspan="4">Commit in <b><tt>flokk/doc/latex</tt></b><span id="info"> on MAIN</span></td></tr> <tr><td><tt><a href="#file1"><span id="added">conclusion.tex</span></a></tt></td><td align="right" id="added">+46</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr class="alt"><td><tt><a href="#file2"><span id="added">relatedwork.tex</span></a></tt></td><td align="right" id="added">+8</td><td></td><td nowrap="nowrap" align="right">added <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr> <tr><td><tt><a href="#file3">background.tex</a></tt></td><td align="right" id="added">+1</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.11&r2=1.12">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a></td></tr> <tr class="alt"><td><tt><a href="#file4">design.tex</a></tt></td><td align="right" id="added">+16</td><td align="right" id="removed">-16</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></td></tr> <tr><td><tt><a href="#file5">flokk-docs.tex</a></tt></td><td align="right" id="added">+3</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex.diff?r1=1.9&r2=1.10">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a></td></tr> <tr><td></td><td align="right" id="added">+74</td><td align="right" id="removed">-18</td><td></td></tr> </table> <small id="info">2 added + 3 modified, total 5 files</small><br /> <pre class="comment"> documentation almost done </pre> <hr /><a name="file1" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader" id="added"><big><b>conclusion.tex</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/conclusion.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N conclusion.tex --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ conclusion.tex 10 Dec 2004 08:32:11 -0000 1.1 @@ -0,0 +1,46 @@ </small></pre><pre class="diff" id="added">+\chapter{Conclusion} +FLOKK solves the problem of a lack of an open source API for creating +an autonomous multi-agent hierarchical task network for real-time +graphics applications. Much time was devoted to designing the system +to allow for flexibility on both the programmers part and the +extensibility of the API. Because so much time was devoted to designing +the API, design flaws were few. Thus, the implementation closely +follows the original design. + +FLOKK began as a solution to dealing with flocks of animals in +graphical real-time applications, but grew to be much more +flexible. In non-graphical applications, developers could subclass the +abstract classes to do data simulations using the hierarchical task +network FLOKK provides. + +\section{Future Work} +The motion solver could be extended to include more real-world physics +such as gravity. + +More samples will be added to the library. The samples will involve +more complex examples of how to use the FLOKK library. + +\section{Division of Labor} +Stuart +API design +website +documentation +modelling fish, fishbowl +programming problems for fishbowl sample +presentation + +Daniel +API design +API Implementation + motion solver + collision detection +Documentation +Build System/CVS + +Andres +API design +API Implementation + setup domain +Fishbowl sample coding +Fish model +\newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <hr /><a name="file2" /><div class="file"> <span class="pathname" id="added"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader" id="added"><big><b>relatedwork.tex</b></big> <small id="info">added at <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/relatedwork.tex?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div> <pre class="diff"><small id="info">diff -N relatedwork.tex --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ relatedwork.tex 10 Dec 2004 08:32:11 -0000 1.1 @@ -0,0 +1,8 @@ </small></pre><pre class="diff" id="added">+\chapter{Related Work} +The closest type of systems to FLOKK are systems used by commercial +games which are closed source. For example, games known as ``God +sims'' such as SimCity where the user ``plays God'' by setting up an +environment and having some control over an otherwise autonomous group +of agents. Unfortunately, there exist no open source projects which +provide a library for doing this. +\newpage </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <hr /><a name="file3" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>background.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.11&content-type=text/vnd.viewcvs-markup">1.11</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex.diff?r1=1.11&r2=1.12">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/background.tex?rev=1.12&content-type=text/vnd.viewcvs-markup">1.12</a></small></div> <pre class="diff"><small id="info">diff -u -r1.11 -r1.12 --- background.tex 10 Dec 2004 05:31:11 -0000 1.11 +++ background.tex 10 Dec 2004 08:32:11 -0000 1.12 @@ -77,7 +77,7 @@ </small></pre><pre class="diff" id="context"> that they are taking over the city. A particular platoon might be given this information along with the subgoal of capturing a particular building. The platoon figures out how to achieve this goal, </pre><pre class="diff" id="removed">-and by further division of the goal, <span id="removedchars">with</span> instructions to individual </pre><pre class="diff" id="added">+and by further division of the goal, <span id="addedchars">gives</span> instructions to individual </pre><pre class="diff" id="context"> soldiers to carry out tasks. \newpage </pre></div> <hr /><a name="file4" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>design.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex.diff?r1=1.3&r2=1.4">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/design.tex?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div> <pre class="diff"><small id="info">diff -u -r1.3 -r1.4 --- design.tex 10 Dec 2004 07:26:46 -0000 1.3 +++ design.tex 10 Dec 2004 08:32:11 -0000 1.4 @@ -7,7 +7,7 @@ </small></pre><pre class="diff" id="context"> is a member of a flokk. An agent is (in our case) an animal, human, or some dynamic character. The idea of the flokk is to control multiple agents that interact together. Examples include a herd of sheeps, pigs </pre><pre class="diff" id="removed">-in a pig pen, birds in flight (in formation), <span id="removedchars">and</span> an army of soldiers. </pre><pre class="diff" id="added">+in a pig pen, birds in flight (in formation), <span id="addedchars">or</span> an army of soldiers. </pre><pre class="diff" id="context"> \section{Basis} \acrodef{GMTL}{General Math Template Library} </pre><pre class="diff"><small id="info">@@ -32,35 +32,35 @@ </small></pre><pre class="diff" id="context"> applications to which the problem statement (Section~\ref{sec:ps}) refers. </pre><pre class="diff" id="removed">-\section{<span id="removedchars">The </span>Agent}\label{sec:agent} </pre><pre class="diff" id="added">+\section{Agent}\label{sec:agent} </pre><pre class="diff" id="context"> The term agent is defined in Section~\ref{sec:what} of this document. </pre><pre class="diff" id="removed">-\subsection{Characteristics of an <span id="removedchars">a</span>gent} </pre><pre class="diff" id="added">+\subsection{Characteristics of an <span id="addedchars">A</span>gent} </pre><pre class="diff" id="context"> Each agent has characteristics which depends on the current problem of the agent. A problem, defined below in detail, determines an agents behavior as the agent tries to solve it. Possible characteristics of an agent include the size of the agent geometry, the distance to keep </pre><pre class="diff" id="removed">-from other agent, position of the agent in the environment, <span id="removedchars">and t</span>e </pre><pre class="diff" id="added">+from other agent, position of the agent in the environment, <span id="addedchars">or th</span>e </pre><pre class="diff" id="context"> velocity (speed and direction) of the agent. </pre><pre class="diff" id="removed">-\subsection{Structure of <span id="removedchars">the</span> Agent} </pre><pre class="diff" id="added">+\subsection{Structure of <span id="addedchars">an</span> Agent} </pre><pre class="diff" id="context"> An agent has a list of problems it needs to solve for. The agent solves for path to desired solution given a problem. An agent asks parent for any available problems to solve. If the list of problems is empty, the agent solves its default problem (i.e., a problem defined by the programmer for an agent to solve when in an idle state). </pre><pre class="diff" id="removed">-\subsection{Locational Agent<span id="removedchars">s</span>}\label{subsec:locag} </pre><pre class="diff" id="added">+\subsection{Locational Agent}\label{subsec:locag} </pre><pre class="diff" id="context"> \ac{FLOKK} defines a special type of agent called a locational agent. Locational agents solve for their desired location when given a locational problem. A locational problem simply refers to a problem in which an agent needs to move in the environment. Since practically any </pre><pre class="diff" id="removed">-system will need agents to move, \ac{FLOKK} already has it built -in. Locational agents know how to move among other agents and -obstacles in the environment. They detect collisions and possibly try -to avoid them. </pre><pre class="diff" id="added">+graphically represented system will need agents to move, \ac{FLOKK} +already has it built in. Locational agents know how to move among +other agents and obstacles in the environment. They detect collisions +and possibly try to avoid them. </pre><pre class="diff" id="context"> </pre><pre class="diff" id="removed">-\section{<span id="removedchars">The </span>Flokk} </pre><pre class="diff" id="added">+\section{Flokk} </pre><pre class="diff" id="context"> The term flokk is defined in Section~\ref{sec:what} of this document. \vspace{10.0pt} </pre><pre class="diff"><small id="info">@@ -71,15 +71,15 @@ </small></pre><pre class="diff" id="context"> system. Note that because a flokk is an agent it inherits the characteristics and structure as noted in Section~\ref{sec:agent} </pre><pre class="diff" id="removed">-\subsection{Motion Flokk<span id="removedchars">s</span>} </pre><pre class="diff" id="added">+\subsection{Motion Flokk} </pre><pre class="diff" id="context"> Is a flokk that holds locational agents as defined in Subsection \ref{subsec:locag}. The idea is that a motion flokk already has the intelligence to handle moving agents. It does this using a motion solver that \ac{FLOKK} has built in. The motion solver deals with motion conflicts such as collision detection. It also aims to deal with path finding, and spline interpolation. </pre><pre class="diff" id="removed">-\section{The Problem} </pre><pre class="diff" id="context"> </pre><pre class="diff" id="added">+\section{Problem} </pre><pre class="diff" id="context"> A problem causes an agent to behave in a manner in which the problem is solved. The problem could be that the agent needs to move to a certain position. Then the agent solves the problem by getting to that </pre><pre class="diff"><small id="info">@@ -90,9 +90,9 @@ </small></pre><pre class="diff" id="context"> programmer defines problems and how to solve them. Problems may be given to an agent in one of three ways: the flokk assigns a problem to one/many of its agents, an agent asks the flokk for any available </pre><pre class="diff" id="removed">-problems to solve, or the agent solves its own problems. A problem, -when given to an agent, performs the solving with the agent following -the instructions from the solver. </pre><pre class="diff" id="added">+problems to solve, or the agent generates new problems as it tries to +solve the current problem. A problem, when given to an agent, performs +the solving with the agent following the instructions from the solver. </pre><pre class="diff" id="context"> As mentioned earlier, the programmer subclasses {\tt Problem} from the \ac{FLOKK} library. The programmer overrides the {\tt solve( float dt )}, </pre></div> <hr /><a name="file5" /><div class="file"> <span class="pathname"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk">flokk</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc">doc</a>/<a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex">latex</a><br /></span> <div class="fileheader"><big><b>flokk-docs.tex</b></big> <small id="info"><a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.9&content-type=text/vnd.viewcvs-markup">1.9</a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex.diff?r1=1.9&r2=1.10">-></a> <a href="http://cvs.sourceforge.net/viewcvs.py/flokk/flokk/doc/latex/flokk-docs.tex?rev=1.10&content-type=text/vnd.viewcvs-markup">1.10</a></small></div> <pre class="diff"><small id="info">diff -u -r1.9 -r1.10 --- flokk-docs.tex 10 Dec 2004 07:30:43 -0000 1.9 +++ flokk-docs.tex 10 Dec 2004 08:32:11 -0000 1.10 @@ -32,6 +32,8 @@ </small></pre><pre class="diff" id="context"> \tableofcontents \include{background} \include{design} </pre><pre class="diff" id="removed">-\include{examples} </pre><pre class="diff" id="added">+<span id="addedchars">%</span>\include{examples} +\include{relatedwork} +\include{conclusion} </pre><pre class="diff" id="context"> \include{references} \end{document} </pre><pre class="diff"><small id="info">\ No newline at end of file </small></pre></div> <center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.10</small></center> </body></html> |