Space Crusade Features

From Laughing Man Productions² Wiki
Revision as of 18:19, 31 July 2014 by Geowil (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Preface

This page will be dedicated to the discussion of the various features and system functions that will be found in the game. Some might seem obvious while others are very unnoticeable in the game. This is to promote a better understanding of how the game works while we are conducting alpha and beta trials as well as so players have a reference to check in case something seems off or they do not understand how an object in the game is affected.

We will cover nearly all topics from within the game including battles, planetary colonization, planetary attributes, the new ranking system, and many other things as we add them to the game.


Planets

Enhanced Kardashev Scale

Background

The Kardashev scale was created in 1964 my Russian astronomer Nikolai Kardashev. The scale is an objective means of determining the technological advancement of a species by examining the amount of energy available for consumption by that species. To put things into scale, 21st Century Earth has not progressed past a Type I civilization yet, we are somewhere near 0.72 at the moment. For more information see *The Kardashev Scale on Wikipedia.

Our scale is loosely based upon the real scale present in the above article however ours is representative more of the actual size of the planet and its own resources available then the power consumed by the species inhabiting the planet. There will be an explanation for this created later on along with some back story surrounding how the change came about and by whom.


Planetary Classifications

0-0.9 = Class 0

Class 0 planets are planets with a low tecnological advancment, low amounts of resources can be found but the more exotic resources will not be present. These planets, when conqured, do not produce much income, resources when mines, or forces. They are generally small and varying in habitiablity, many have little to no population and need some level of terraforming to sustain a stable population.


1-1.9 = Class 1

Class 1 planets are more advanced then 0's, but not by much. Slightly higher technological level than 21st Century Earth. Less exotic resources can be plentiful and even some exotic resources can be found in quantity on these planets. Generally great planets for colonization, they will produce stable, yet small, income streams and can support moderate levels of population, leading to increased troop output.


2-2.9 = Class 2

Class 2 planets are kind of in the middle between very profitable planets and very unprofitable. They can go either way however they usually have large amounts of resources on the surface. Exotics in lesser quanities but still present. Will provide with a, moderate, yet unstable, stream of income and troops. Planetary defenses of these planet classes start to pick up some bite.


3-3.9 = Class 3

Class 3 planets are of average technological level for the current age. Many resource types can be found in abundance and the exotics are more common on these worlds. Populations on these worlds are large and can be highly advanced. Planetary defenses will present unprepared attackers with significant trouble. These planets will provide a stead stream of income, resources, and troops. Terraforming will have less effect on these worlds.


4-4.9 = Class 4

Class 4 planets are above average in technological advancement. 62nd century Earth was of this class. Class 4's have significant populations and are more advanced then Class 3's. Defenses can be quite powerful and will block most raiders and pirates from doing any damage; they usually combine offensive towers with a shield matrix. These planets present a large source of income, both in Xarn and resources. They can support huge populations and are good worlds to use for troop recruitment.


4.9< = Class 5

Class 5 planets are the most highly advanced planets in the galaxy. As there is no Class 6 defined as of yet these planets can be impregnable to anything but large fleets. These planets can sustain massive populations and will provide the rulers with a large stream of income and resources. Due to populations sizes, population growth will be limited so over recruiting can lead to a large population die off or even extinction. Terraforming has no effect on these worlds.


Further Explanation

Planet class will be determined by randomization of a number between 1 and 5,500.

   1-1999 = Class 1
   2000-2999 = Class 2
   3000-3999 = Class 3
   4000-4999 = Class 4
   5000-5500 = Class 5

All values will be multiplied by 0.001


Planetary Attributes

In the latest version of Space Crusade you will be able to colonize planets that you have bombarded. This is a new feature that just entered into the development idea pool over the past year and has not have too much time to percolate. As such it may be changed at anytime if I, or a tester, feels that something can be done to improve it. However this is how planetary colonization will work.

After clearing a planet of its original inhabitants you will be given an option to recolonize it. This will not be free and will take many resources. Note that if you find this planet again, I will explain in a second, you will be given the option to colonize it so you do not have to colonize right after doing the deed. If you do choose to you will be given a list of different attributes about that planet. These attributes include:

   *Enhanced Kardashev Scale value
   *Gravity
   *Planetary Revolution time (time for the planet to rotate once or the length for one day/night cycle)
   *Solar Revolution time (time for the planet to rotate once around the star or the length or one year)
   *Gaseous element prevalence within the atmosphere
   *Strength of atmosphere and planetary coverage
   *Colonizable Landmass
   *Oceanic Coverage
   *Biological Diversity
   *Population Growth Estimates per year
   *Current Population (after colonized)
   *Population change from last year(after colonized)
   *Estimate population change next year (after colonized)
   *Amount of resources and estimated yearly production versus consumption
   *An overall rating on the colonizability of the planet


As a planet grows some of these values will decrease leading to stagnated population growth. In game each turn will represent one month of game time. So one year would be twelve turns. A turn is defined as taking an action that leads you away from the main game menu. Later on we may tailor this to the distance traveled during completion of the player's menu choices and eventually there will be a real-time version where a certain amount of time will equal x amount of game time.

In a much later version of the game we may include an edicts system where you can control various aspects of your colonized planets daily operations in order to keep population growth at a stabilized rate.

You will also have the option of terraforming your planets at some point during development to make the planets more hospitable. This terraforming would take place before you have colonized it and would take a set amount of time in-game depending on several factors.

In a much later version of the game colonized planets will allow for production of more ships by using available materials as well as population to pilot the ships. Note that over production of ships in an unbalanced way can lead to the inhabitants dying out.

Now for that explanation way up there that I said I would give in a second. Due to the current way the game finds planets you will not be able to travel directly to planets you have been to before or if we create a system to do this it will take a random amount of time to complete the journey. This is because it is done via random selection at the moment so planets can turn up in two lists even if they are outside of the imaginary range of the scanners. Since we have no static galaxy yet, this function does not work as intended but is considered as in-prep for static universe locations in a much later version of the game.


Population

Calculation

Population calculation has now been implemented and I wanted to go through how this works. The more information you, the player, knows the more you will be able to understand how to maniuplate the various features that can control population growth and how likely it is that you can end up with lower or higher populations.

So first of all population generation is very randomized. It is based off of five random values and one static value which will probably become dependent on the difficulty level. The planet size, planet EKS value, and there randomized population values. These values are as follows:

  • popRand1- A random value between 1 and 60
  • popRand2- A random value between 1 and 100
  • popRand3- A random value between 1 and 260

Right now the static value is 8000.


Examples

Here is the formula used to calculate populations and three examples (it will differ from what you see in the Dev Vlog 6 videos):

   ((((((8000 * popRand1) * popRand2) * pERand) * pSRand) * popRand3) / 6)


Example 1:

pEKS = 3.54

pSize = 5.22

popRand1 = 10

popRand2 = 89

popRand3 = 65

   ((((((8000 * 10) * 89) * 3.54) * 5.22) * 65) / 6)
   Max Default Population for this Planet: 1,425,331,440


Example 2:

pEKS = 4.88

pSize = 7.9

popRand1 = 8

popRand2 = 25

popRand3 = 49

   ((((((8000 * 8) * 25) * 4.88) * 7.90) * 49) / 6)
   Max Default Population for this Planet: 503,746,133


Example 3:

pEKS = 1.21

pSize = 2.31

popRand1 = 40

popRand2 = 2

popRand3 = 170


   ((((((8000 * 40) * 2) * 1.21) * 2.31) * 170) / 6)
   Max Default Population for this Planet: 50,684,480


Hopefully this gives you an idea of how much variety there will be with population totals. The way this is achieved is by not only using this formula but also locking certain planet sizes into certain EKS ranges. All planet sizes above corresponded to a particular EKS range. To see how that was brought into being see the 6th Developer's VLog videos (to be uploaded in August).

Features

This is a new area of discussion I have been having with my self. This development cycle (June 2013) has brought about resource production and consumption based on the population totals of a planet. This will mean that if the population outstrips the production possible that your population will die off until production can meet consumption assuming you do nothing in the interm to increase production. This idea has lead me to this venue of deliberations.

So, features you might ask. What types of features? Well what I am talking about here is the drilling down into complexity of micromanaging your planets. Being able to build certain objects to increase production of minerals, food, water, increase storage capacity, trading bandwidth, and government buildings that can be used to enact edicts, alter taxes, manage immigration, and can be used for voluntary or forced recruitment of citizens for crew. This would also include structures to improve the happiness of the citizens on your planets.

Nothing would be based on sliders like you have seen in other games. You cannot directly set your production, population, growth, or research rate. These are determined by your population, their happiness, and the buildings and their bonuses. Building certain types of buildings will not decrease other areas of planetary output either unless an event causes your population to start decreasing and your workforce to shrink.

Population will also be micromanaged in-code. Kids will require educational facilities to learn (increase in research), adults will require jobs which will be able to produce everything, while senior citizens will require healthcare facilities. All will require entertainment facilities. The type of citizen will also determine how many resources are used per turn (kids use the least, adults are in the middle, and older citizens use the most). Some edicts will be able to directly influence some of the things surrounding these sub-sections of the population like increasing the birth rate, decreasing it, rationing food or water, etc.


Player Ranking System

Combat Experience System (CES)

This has changed from Alpha version 0.4. In the previous version each successful planet bombing or ship attack added to a value which was then used to determine if you had ranked up. We are moving further away from this because it is too static and moving toward a hybrid system combining that method with a traditional RPG EXP system.

In this system you must not only gain experience by fighting like in the other version, but you must also destroy certain numbers of ships in order to qualify for the promotion. Later on we may also include more rankings based on the number of colonized planets, total population of all colonized planets under your control, and fleet size.

Here is the formula used to calculated CEXP:

   -To Next Level = (Current Level • 1250.0) • 1000000.0 • Current Level / (((1000.0 • (Current Level • 1250.0)) / 2) / 2.3)


Examples

Here are two examples of how this system will work:

   -Current Level = 2
   TNL = (2 • 1250.0) • 1000000.0 • 2 / (((1000.0 • (2 • 1250.0)) / 2) / 2.3)
   TNL = (2 • 1250.0) • 1000000.0 • 2 / (((1000.0 • 2500.0) / 2) / 2.3)
   TNL = (2 • 1250.0) • 1000000.0 • 2 / ((2500000.0 / 2) / 2.3)
   TNL = (2 • 1250.0) • 1000000.0 • 2 / (1250000.0 / 2.3)
   TNL = 2500.0 • 1000000.0 • 2 / 543478.26087
   TNL = 5000000000 / 543478.26087
   TNL = 9199
   -Current Level = 50
   TNL = (50 • 1250.0) • 1000000.0 • 50 / (((1000.0 • (50 • 1250.0)) / 2) / 2.3)
   TNL = (50 • 1250.0) • 1000000.0 • 50 / (((1000.0 • 62500.0) / 2) / 2.3)
   TNL = (50 • 1250.0) • 1000000.0 • 50 / ((62500000.0 / 2) / 2.3)
   TNL = (50 • 1250.0) • 1000000.0 • 50 / (31250000 / 2.3)
   TNL = 62500.0 • 1000000.0 • 50 / 13586956.52174
   TNL = 3125000000000 / 13586956.52174
   TNL = 229999

Ranking Requirements

These are the currently used requirements for obtaining a promotion. These do not include any of the new ship types just yet and they can change at any time:


Private

   Requirements
          None, starting rank


Private First Class

   Requirements
          Combat Experience Level > 5
   
       Ship Kills
              Frigate > 5
   Unlocks
       Weapons
              All 6-10


Sub Lieutenant

   Requirements
          Combat Experience Level > 10
   
       Ship Kills
              Frigate > 8
              Destoyer > 0
   Unlocks
       Weapons
              All 11-15
       Ships
              Destroyers


Lieutenant

   Requirements
          Combat Experience Level > 18
   
       Ship Kills:
              Frigate > 14
              Destroyer > 3
   Unlocks
       Weapons
              All 16-24


Lieutenant Commander

   Requirements
          Combat Experience Level > 26
   
       Ship Kills
              Frigate > 20
              Destroyer > 8
              Cruiser > 0
   Unlocks
       Weapons
              All 25-28
       Ships
              Cruisers


Commander

   Requirements
          Combat Experience Level > 45
   
       Ship Kills
              Frigate > 25
              Destroyer > 12
              Cruiser > 4
   Unlocks
       Weapons
              All 29-38


Captain

   Requirements
          Combat Experience Level > 62
   
       Ship Kills
              Frigate > 35
              Destroyer > 18
              Cruiser > 10
              Battlecruiser > 0
              Battleship > 0
   Unlocks
       Weapons
              All 39-45
       Ships
              Battlecruisers
              Battleships


Commodore

   Requirements
          Combat Experience Level > 80
   
       Ship Kills
              Frigate > 50
              Destroyer > 23
              Cruiser > 18
              Battlecruiser > 8
              Battleship > 6
   Unlocks
       Weapons
              All 46-55


Admiral

   Requirements
          Combat Experience Level > 102
   
       Ship Kills
              Frigate > 75
              Destoyer > 38
              Cruiser > 25
              Battlecruiser > 16
              Battleship > 20
              Command Ship > 0
              Mothership > 0
  Unlocks
      Weapons
             All 56-73
      Ships
             Command Ships
             Motherships
             Titans


Storage System

The storage system is a feature restricted to the RPG sections of the game.

Player Inventory

The player inventory, rather ship cargo hold, will be able to contain any type of item in the game, even other ships, so long as there are enough slots and enough space for them to be stored. The cargo space of a ship is predetermined and cannot be changed, the number of cargo slots however can be changed at a station for some Xarn and other resources.


Station Storage

Station storage behaves a lot like the player's however you can buy more space as well. Your station inventory can also be transmitted instantly to any station you are currently docked at so any items you have spread throughout the universe can be accessed at any time from any station and transported to you for a fee. Your storage will also incur a monthly fee based on the amount of storage space your items take up among all stations. If you should not have enough resources to pay for items at a station they go into a holding procedure where you have another week to pay the bill or your items are at risk of being auctioned off. Debts can be paid from any station.


Changes to the Storage System

As of version 0.5 Build 4 the storage system has changed. Slots are no longer being used and instead have been replaced by a more Eve-Online-esque system where items all have a specific weight and the limiting factor in whether or not an item can be stored is if there is enough room to store the item. All of the other station related storage features still apply to storage space.

Non-Game Features

This section is reserved for features that are not related directly to the gameplay but are a part of the game in some way. An example would be the engine.


Data Storage

Over the past few months (May to June 2013) I have been toying around with the idea of having some kind of external data storage for the game so that everything would not be hard coded. Stuff like the ship data being hard coded means that allowing mod support would be a chore and saving/loading data also requires several extra steps in order to make the data workable. This was going to use too much CPU power and also be very mod-unfriendly so over the past couple of days (June 28th - July 1st 2013) I have been messing around with SQLite. It first came to my attention when playing Sword of the Stars II because it uses SQLite for its save files. So I went about getting a test program working and when that was completed I knew I could get it into the game.

So, I would like to proudly announce that SC will now provide external data storage via SQLite. What does this mean for you? It means that modding will now be very easy. Adding in new missions, items, planet names, sectors, systems, ships, and even new races will be quite easy. All you will need is SQLite Manager and the ability to edit a .ini file that will deal with the load order of databases. You will also be able, whether to cheat or just test things out, mod your save files and give yourself more resources and such.

I will talk more about the modding process once I have the details hammered down, I am still in the process of creating the databases for all of our information and changing the code to be able to work with these databases. Expect to hear more by the end of the next development month (August).