It’s been a while since I posted one of these, mainly because I’ve been working more on the Sooper Seecret Tank Project than on Shipyard over the last couple weeks. However, as Shipyard is still the primary focus of this site at the moment, I figured I had better share what I have done.
A close friend of mine, who also happens to be an aspiring game developer (you can find his work here), suggested that I add this. He thought the current mouse controls were clunky (I didn’t mind because I mostly use WASD), and proposed an auto-move or auto-path system to set your ship to move to the selected tile. So, that’s what I added. In version 0.8.1, if you hold shift and right click, your ship will automatically move to the selected tile taking as many turns as it needs to do so. You can also cancel auto-move before it’s finished by hitting space.
Toggleable Map Grid
Another suggestion from my friend, he said the grid in the navigation screen was visually distracting. However, I argued that it was useful to know exactly how far away objects are from your ship. So, the solution? Make it optional. From now on, it is off by default but can be toggled with F2. F1, by the way, takes screenshots while F12 opens the debug screen. Speaking of which…
Currently, the debug window is only an output log used to see what the game is doing at any given time. However, I’ve added a new functionality for the coming version: commands. Most games have them in some form, and I figured that Shipyard would benefit from than as well. The current commands are as follows:
- help — Lists available commands.
- describe <string> — Describes a specific command.
- givecreds <int> — Gives the player credits equal to the given number.
- givescrap <int> — Gives the player scrap equal to the given number.
- tp <int> <int> — Teleports the player to the given tile. First number is X, second is Y coordinate.
- warp <int> — Warps the player to the given sector by ID number.
- repair — Repairs the player’s ship to max HP.
- fillcrew — Fills the players crew to capacity, but does not allocate them to systems.
The size limit that I talked about a while ago in my outline for 0.8.1 has also been implemented. Now, while in the interior view of the shipbuilding screen, there is a border that dynamically adjusts whenever you add or remove systems, regardless of where in the 48×48 grid you start your ship. As stated in the outline, the Class 1 ships have a size limit of 16×16, Class 2 ships can go up to 32×32, and the soon-to-be-added Class 3 will be able to use the entire 48×48 grid.
With shuttles on the way (though still not currently functional), I decided to implement light and heavy armor types. All weapons have a preferred armor type, and will receive penalties for attacking the wrong type. Currently, only the Twin Autocannon prefers light armor, while every other weapon prefers heavy. Ships are classified as heavily armored, while shuttles will be lightly armored. This means that, due to type penalties, the Twin Autocannon is more effective at dealing with fighters than some weapons with higher base damage. It has also had its base damage doubled to 24, making it just as (in)effective against ships but giving it a purpose in dealing with enemy fighters.
As I’ve already said, shuttles are still in progress and are not functional in-game items yet. However, I have made the sprites for a couple of them:
On the left is the Trans-Atmospheric shuttle, which will be used to send away teams down to the surface of planets as it can function both as a spacecraft and an atmospheric craft. On the right is the Light Fighter, a basic attack vessel which prefers lightly-armored targets (see above), making it ideal for intercepting enemy shuttles and fighters.
Right now, I am continuing to work on shuttles and hopefully I’ll have something usable in-game for the next one of these development posts.