I've overhauled the fleet/ship system in the game so that it's now data driven. In the data file, I've specified three ships for the first system, and two ships for the second system, and no other ships. You can see that two systems have a fleet adjacent to them, but no other systems. This matches the data files exactly.
Not shown, but in the design screen, when you open it for the first time, you see the design of the first ship in the data file.
Now, how does data work with ships? There's an element named "StartShips" that contains all the ship designs (note, if your StartSystem references to a ship that's not listed, it will give you an error)
Each Ship have four attributes:
addToBlueprints - Should this design be added to the list of available designs for the player to build? If you want to create a game where a race starts off with an ancient but advanced ship, but can't build more of those until they've researched all the required technologies, you can do so!
name - This is also used in StartSystem that references to a particular ship
size - Must be one of the available sizes, or it will throw an error
style - Must be within range of available styles for that size, or an error is thrown
Each ship have a list of Equipment, with each equipment containing four attributes:
mainItem
mountItem
modifierItems - This is one value, with each item separated by a comma.
count - amount of this
You can create the classic two scout and 1 colony ship starting scenario by specifying this in the home system (with the corresponding ship designs already specified in list of ships):
[Ship name="Scout" count="2" /]
[Ship name="Colony Ship" count="1" /]
In fact, that's what's shown above in the screenshot.
There are some bugs and stuff that I need to refactor, then I'll start on the production screen.
Edit: Forgot it don't like the special characters for XML code...
Idea: a method of drawing different colored lind on the map to simulate border agreements. like a "Neutral Zone" "Demilitarized Zone" "etc." and some way to draw it on a separate "proposal" map to send to other empires, and when the agree and confirm it, it shows up on the main map.
ReplyDeleteHappy New Year! ;-)
ReplyDelete