28.10.2014 Views

Game Design and Artificial Intelligence - Bournemouth University

Game Design and Artificial Intelligence - Bournemouth University

Game Design and Artificial Intelligence - Bournemouth University

SHOW MORE
SHOW LESS

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 two­dimensional 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!