After getting weapon and defensive systems working in the last two weeks, this week it was time to give some love to user interface and get a little start on AI ship behaviors.
I started out by adding a player information panel in the lower right hand corner which displays what weapons you have available and what the remaining cooldown time is on them. This panel also displays shield and hull strength information. The hull breach system shown off last week also was updated so that every time a hull breach appears a screen shake would occur. It's not really final as I need to discover what the appropriate use of screen shake really is.
Thanks to Mastodon user @coolpowers for suggesting that even if I do get the screen shake to feel good there are still many users who are just not going to want it, as a result I have added a toggle to the gameplay section of the settings menu.
I also took a first shot at AI ship behaviors, turns out testing using a twenty gun battleship just off my left and a corvette just off my right can be a bit overwhelming in the amount of lasers incoming 😆
Next up was a target information panel just above the player information panel, this panel gives hull/shield/name information on the currently selected ship. I've also added a crosshair that helps identify further what object you're looking at and what the closest point on that object is relative to you. Provided the selected item is also a ship declaring itself an enemy to you it will become the new target for any turrets/missiles on your ship.
Finally I ended the week by giving the player control over what zoom factor they will be playing at. This can zoom out far enough that even the biggest battleships fill fully in frame, or in enough that you can take a good look at your tiny fighter (though don't actually try playing this far zoomed in or the camera won't be able to keep up 😉).
This next week I am going to continue working on the user interface, primarily working on a context sensitive menu that provides special actions depending on what ship you're targeting and what the current status is.