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 />
loading, this was ruled out.<br />
When I switched machine I realized that all the starships were moving at a much faster speed. I<br />
realized later on that this was due to the ship update function not incorporating a timer amount when<br />
calculating the velocity. This was easily fixed by editing the speed values <strong>and</strong> multiplying the<br />
velocity by the timer to get the new ship position.<br />
Once I had discovered about casting down inherited objects into a global list of the base class, I had<br />
an issue with occasionally needing to be able to access items only in the inherited classes. By<br />
including a function called getType, which returns the name of the object type, I could cast a new<br />
pointer of the inherited type to the same data as the base class pointer. I have Leigh Mcloughlin to<br />
thank for this!<br />
if(gunman>getType() == "crewAI")<br />
{<br />
crewAI *NPC = (crewAI*) gunman;<br />
...<br />
}<br />
The main problem involved with this project was purely the time limit. I ended up being so<br />
distracted by the space combat side of the program, <strong>and</strong> left only a small amount of time on the<br />
crew AI. This is a huge shame as I had done a lot of research into this, but have little to show for it.<br />
Further Development<br />
On a personal note on this project, there is so much more that I would like to achieve with this<br />
game, as the current demo does not do the concept justice <strong>and</strong> I intend to continue this work at a<br />
later stage. I have already mentioned that I would like to take this game into the third dimension at<br />
some point (properly! not just pseudo 3d), but for the moment I'mlooking to continue developing<br />
the twodimensional version.<br />
Space Combat <br />
• Develop FSM for ships, give the enemy better AI. Have different styles of attack runs for the<br />
enemy ships <strong>and</strong> evasion manoeuvres (eg. 3 point turn, barrel rolls, ship banking)<br />
• Have specific areas to target, allowing ships to be disabled through damaging specific areas,<br />
rather than simply being destroyed. Shields could also be implemented<br />
• Capital ships. Having giant sized ships would be quite an interesting feature, although this is<br />
more of a chrome feature at the moment (ie. It would be nice, but not necessary)<br />
• Group AI tactics for enemies <strong>and</strong> allies alike. This would involve having formations, <strong>and</strong><br />
enemies can judge on attacking <strong>and</strong> retreating based on a group strength.<br />
• Radar. Either having a small radar on the screen, or an option to switch to an overview of all the<br />
ships in the area (similar to “ Homeworld” )<br />
The Crew<br />
• Allow movement for the crew, using the A* path finding system. They would then be able to<br />
move <strong>and</strong> switch between jobs <strong>and</strong> in the case of the engineer, he would be able to move to<br />
repair the damage around the ship.<br />
• Create more emotions for the characters. Currently only a few are implemented, more emotional<br />
Page 19 of 22