Hello to our followers, we had a fairly good month in progress for Space Crusade in comparison to previous months. If you want the short version of what has changed check the change log on the wiki page later on today (maybe in two to three hours so I can get all of the changes modified for the article there).
To start off I wanted to change the way the main game menu operated to better reflect how it might work in a real world situation. So instead of magically being able to go to the nearest planet you will now have to scan for any planets that might be nearby. You can then choose, on the starter ships, one of up to five planets, that appear in a list, to travel to.
Ships under cruiser class can only detect up to 5 planets but can be increase via upgrades to 8 maximum while cruiser and higher can scan for 10 and then 15 maximum with upgrades. This does open a bit of an issue with the fact that we have no static galaxy. This means that a planet which would be outside of the imaginary range of the scanner can show up in a list twice since it is all done via randoms at this time. When we get to a graphical version this small issue will be fixed as we will move to a randomly generated, yet static, map
I also did some work with the planet class and split it into two different classes. One class, planet processing, will handle all of the global processes such as placing a destroyed planet into the destroyedPlanets array. It will also deal with loading found planets into the list as mentioned in paragraph two and three. The second class will contain all of the other information that was originally included in the planet class. I just wanted to separate out the mechanical code from the setup code for planets so that the code could look a bit cleaner and more organized.
I have also added many new variables to the planet class that will deal with population growth factors like the gravity, yearly radiation totals, different gas and element levels in the atmosphere, landmass and planetary water coverage, as well as a variable for biological diversity. Each of these elements will play a part in just how fast a colonized planet will expand its population. Obviously some of those values are detrimental to population growth.
For example if yearly radiation totals are too high it can sterilize a certain percentage of the populations or kill off a certain percent through cancers leading to decreased population growth. While a planet with a high biological diversity will increase the population expansion rate by a small percentage. Terraforming will be possible but there is going to be sometime of restriction in place or technology needed before the play will be able to terraform a plant. I am still working out the details.
I added some basic colonization variables to the planet processing class as well as an array that will be check each "turn" to see if the play have any colonized planets and then run the processes that control population growth for those planets. Each turn will be equal to one month in game.
I added the navigation menus operations for the main menu and planet scanning. While they are not complete just yet the ground work has been laid. I also added references for both of the game and new planet processing class to the main implementation file.
A new function to start the game was added to the game class.
I then went on to add twenty or so each of the 'get' and 'set' functions to the player class for all of the different variables for both the player and the player ship. Next I added functions and variables for the new ranking system to the player class as well.
The way this new system will work is that the game will track your specific ship class kills and combat experience (another new feature). Here is a list of how the new system will work (as of now, it can still change and does not include any of the recently added weapons or ships):
None, starting rank
Private First Class-
Combat Experience Level > 5
Frigate > 5
Combat Experience Level > 10
Frigate > 8
Destoyer > 0
Combat Experience Level > 18
Frigate > 14
Destroyer > 3
Combat Experience Level > 26
Frigate > 20
Destroyer > 8
Cruiser > 0
Combat Experience Level > 45
Frigate > 25
Destroyer > 12
Cruiser > 4
Combat Experience Level > 62
Frigate > 35
Destroyer > 18
Cruiser > 10
Battlecruiser > 0
Battleship > 0
Combat Experience Level > 80
Frigate > 50
Destroyer > 23
Cruiser > 18
Battlecruiser > 8
Battleship > 6
Combat Experience Level > 102
Frigate > 75
Destoyer > 38
Cruiser > 25
Battlecruiser > 16
Battleship > 20
Command Ship > 0
Mothership > 0
Now combat experience is something new that I also just added this dev cycle. It is replacing the old ranking system in favor of a more RPG-ish mix between the two. Here is the formula used to calculate combat experience and some examples as to how it will work:
Current Level = 2
TNL = (2 · 1250) · 1000 · 1000 · 2 / (2 / ((1000 · (2 · 1250)) / 2))
TNL = (2 · 1250) · 1000 · 1000 · 2 / (2 / ((1000 · 2500) / 2))
TNL = (2 · 1250) · 1000 · 1000 · 2 / (2 / (2500000 / 2))
TNL = (2 · 1250) · 1000 · 1000 · 2 / (2 / 1250000)
TNL = 2500 · 1000 · 1000 · 2 / 625000
TNL = 5000000000 / 635000
TNL = 8000
Current Level = 50
TNL = (50 · 1250) · 1000 · 1000 · 50 / (2 / ((1000 · (50 · 1250)) / 2))
TNL = (50 · 1250) · 1000 · 1000 · 50 / (2 / ((1000 · 62500) / 2))
TNL = (50 · 1250) · 1000 · 1000 · 50 / (2 / (62500000 / 2))
TNL = (50 · 1250) · 1000 · 1000 · 50 / (2 / 31250000)
TNL = 62500 · 1000 · 1000 · 50 / 15625000
TNL = 3125000000000 / 15625000
TNL = 196232
That concludes all of the code changes made this cycle. I also began working on fleshing out the universe that SC is set in. A while back I mentioned creating a wiki article containing all of the corporations and what their products were. Well I have started that now, it is not finished but you can see what is done over here: Lmpgames.com
I will be doing on for both all of the weapons and ships as well as for the individuals listed in both the back story, in the corporation/weapon/ship pages and others. It is going to be a long process so do not expect it all to be done anytime soon. It may take seven to nine months to get everything for that area done while juggling everything else I have to do.
Thanks for following the project and I look forward to comments and critique of the ideas I have written above.