Game Design and Artificial Intelligence - Bournemouth University
Game Design and Artificial Intelligence - Bournemouth University
Game Design and Artificial Intelligence - Bournemouth University
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Game</strong> <strong>Design</strong> <strong>and</strong> <strong>Artificial</strong> <strong>Intelligence</strong><br />
David Hopkins<br />
Implementation<br />
When starting development of the game, a lot of time was spent designing the character <strong>and</strong> crew<br />
AI side of the program but most of the coding time was involved with the space combat system, as<br />
this was pivotal to getting a functioning <strong>and</strong> fun product. It required these visuals for underst<strong>and</strong>ing<br />
what the player is attempting to achieve. The main factor proved to be time <strong>and</strong> learning. At the<br />
end of this project, there was an emphasis on producing something that was fun to play <strong>and</strong><br />
interactive with the player but could still carry across much of the concept work. Once the space<br />
combat system was developed, there was little time left to spend on the crew FSM system, however<br />
some items have been implemented to indicate what could have been if more time was available.<br />
H<strong>and</strong>ling data<br />
When designing a skeleton structure of the game engine, the file system was split into three main<br />
sections. One of the sections would be dedicated to the interior of the ship, checking on the<br />
conditions of each of the crew members <strong>and</strong> working out the respective work rates. The second<br />
section consists of the ship fighting, updating <strong>and</strong> drawing all objects in the world space. The final<br />
section is the main section where everything must be h<strong>and</strong>led including the opengl setup <strong>and</strong> calls<br />
to the other two sections.<br />
This was the first time I had attempted to do a programming project using multiple files, <strong>and</strong><br />
therefore it was key that I passed the correct data around for the game engine to operate. The main<br />
pivotal point for this was between the ship combat <strong>and</strong> the ship interior. The player ship<br />
information needs to be passed to the heads up display, the crew work rates need to be sent to the<br />
combat system <strong>and</strong> both sections need to be able to h<strong>and</strong>le key presses. The first attempts at<br />
producing the space combat system were flawed due to a lack of cohesion when attempting to pass<br />
data to <strong>and</strong> from the space combat file. After learning the uses of object orientation, this problem<br />
was simplified. Object orientation allows information that previously couldn’ t be shared from<br />
specific modular files (eg. shipCombat.cpp does not know of objects in crew.cpp) to be accessible<br />
by the use of placing the data in sets of interacting objects [macey00]. Using classes to contain the<br />
data, through inheritance <strong>and</strong> the use of the STL(st<strong>and</strong>ard template library) [bateman00] I was able<br />
to format a much neater <strong>and</strong> more accessible system.<br />
Page 12 of 22