So this week I was meant to be focusing on the A.I. instead I procrastinated and spent the first half of this week on the U.I.
I always hate coding A.I. For all my previous games the A.I. has always been disappointing, to me anyway. I always have this idea of creating a nice simple, robust, but difficult to beat A.I. but I always feel the end result falls short. So this I wasn't looking forward to coding this part of my game. So I've approached the A.I. differently this time and I've started with a state diagram and how the different states are connected. Each A.I. has effectively four states: IDLE, DEAD, MOVE or SHOOT. Some A.I. are fixed to DEAD (expired spacecraft, asteroids) while others will not shoot until shot at. So at the moment I've only just started coding the movement state, but part of that delay was because I had to re-code how the game was hanling A.I. data. I had made the mistake of limiting the game to handling only one enemy, but then I had the idea that you could capture unmanned probes by reprogramming them and then this thought made me think you could have a number of probes following you about as protection and this would mean the code would have to handle more than one enemy. also fighting a fleet of enemy craft will be much more fun than just single enemies all the time.
Anyway the U.I. was annoying me so I distracted myself by repositioning the resources to the left wall and collecting the action buttons along the bottom. I also moved the time acceleration and thrust icons to the top of the screen. I think it looks much better now:
<a href="<img src=" http:="" s1156.photobucket.com="" user="" christopher_chetwood="" media="" screenie-1_zpsfhfjwv3p.png.html"="" target="_blank"></a>
I also changed the player's trail and future path markers from dots to a line, which i also think looks much better:
<a href="<img src=" http:="" s1156.photobucket.com="" user="" christopher_chetwood="" media="" screenie-2_zpsnlx3p6zn.png.html"="" target="_blank"></a>
In other news my Steam controller arrived today so I'm a little bit excited about using it. I'm planning to add a number of control methods to my game. It current has Keys+Mouse (which will be the Win and Linux defaults) and the Android version will have touch controlls, but I'm also adding support for 360 controller and (obviously) the Steam controller.