\relax \select@language{english} \@writefile{toc}{\select@language{english}} \@writefile{lof}{\select@language{english}} \@writefile{lot}{\select@language{english}} \@writefile{toc}{\contentsline {chapter}{Abstract}{i}} \@writefile{toc}{\contentsline {chapter}{Preface}{1}} \@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {1.1}About the real-time strategy genre}{2}} \@writefile{toc}{\contentsline {section}{\numberline {1.2}Why JWars?}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Flaws in contemporary real-time games}{3}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Military hierarchy}{3}} \@writefile{toc}{\contentsline {section}{\numberline {1.3}Report overview}{3}} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Features of JWars}{4}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {2.1}Game dynamics}{4}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Technical features}{4}} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Overview}{6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {3.1}Development plan}{6}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Modular overview}{6}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}Event handling}{7}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {4.1}Types of events}{7}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}Performance considerations}{8}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}Queueing system}{8}} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Networking}{9}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Choosing a network model}{9}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Synchronization}{10}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Interactivity: player instructions}{10}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Synchronization instructions}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Conclusion}{11}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}The networking API}{12}} \@writefile{toc}{\contentsline {chapter}{\numberline {6}World of JWars}{13}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {6.1}Coordinate systems}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Floating point versus integers}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}List of coordinate systems}{14}} \@writefile{toc}{\contentsline {section}{\numberline {6.2}Data management}{14}} \@writefile{toc}{\contentsline {section}{\numberline {6.3}Terrain}{14}} \@writefile{toc}{\contentsline {chapter}{\numberline {7}Collision detection}{15}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {7.1}Basics of collision detection}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Divide and conquer approach}{15}} \citation{algo} \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Tile registration strategy}{16}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Shapes and sizes of colliding entities}{17}} \@writefile{toc}{\contentsline {section}{\numberline {7.2}Design of the collision detector}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}The checking routine}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}The collision grid}{18}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}Further features}{19}} \@writefile{toc}{\contentsline {section}{\numberline {7.3}Efficiency and optimization}{19}} \@writefile{toc}{\contentsline {section}{\numberline {7.4}Conclusion}{20}} \@writefile{toc}{\contentsline {chapter}{\numberline {8}Pathfinding}{21}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \citation{algorithms} \@writefile{toc}{\contentsline {section}{\numberline {8.1}Vision}{25}} \@writefile{toc}{\contentsline {chapter}{\numberline {9}Unit organization}{26}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {chapter}{\numberline {10}Unit AI}{27}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {10.1}Hierarchical structure}{27}} \@writefile{toc}{\contentsline {section}{\numberline {10.2}Design considerations}{28}} \@writefile{toc}{\contentsline {section}{\numberline {10.3}Overview of AI structure}{29}} \@writefile{toc}{\contentsline {chapter}{\numberline {11}Combat}{30}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {11.1}Analysis of combat dynamics}{30}} \@writefile{toc}{\contentsline {section}{\numberline {11.2}Weapons, armour and damage}{30}} \@writefile{toc}{\contentsline {section}{\numberline {11.3}Spotting and targetting}{30}} \@writefile{toc}{\contentsline {chapter}{\numberline {12}Control}{31}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {chapter}{\numberline {13}Graphics}{32}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {chapter}{\numberline {14}Conclusion}{33}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \bibcite{pygame}{1} \bibcite{algo}{2} \@writefile{toc}{\contentsline {section}{References}{34}}