Posted on Leave a comment

We’re active and alive! New development post

Hey everyone! This is Steve, with the first episode of ‘Sundays with Steve’. Since I always have Sundays off, I will try to update at least once a week, and probably more. Here’s the first installment of what we have been working on!

This last month has been mainly me learning Unity and C#. The C# hasn’t been bad at all (you learn one .NET language, you learn ’em all more or less) and I have to say that after an initial ‘WTF’ feeling about how Unity’s workflow works, I have gotten not only used to it, but I have to say that I’m in love with it! Prototyping what I have been sending internally to Pavlos and Travis has been much easier, and making changes is really quick and easy. I can’t say enough times how I wish I’d started with Unity. It’s really a great, powerful, and flexible way to build games, and though I can’t say that it was designed expressly for a TBS game, it’s quite adaptable. I don’t regret my decision one bit at this point, and am so excited!

Anyway, while I’ve been thrashing with Unity, Pavlos has been working on a comprehensive reboot of the planet and star systems. We’re going to be changing the economic system slightly, and to do that we needed to make planets more ‘real’, as well as their star systems. This will impact not only the economy, but things like rare materials and even how war is fought in certain systems! But let’s not get ahead of ourselves…

So Pavlos has essentially rebooted the stellar generation system to be much more realistic. Stars are now generated with up to 17 different spectral classes, from OB to WR (Wolf-Rayet). There are now binary and trinary systems that can effect how planets are generated, and what kinds. The size, age, metallicity, and planetary material (p-material) that systems generated when they are ‘born’ determine what planets are created, and where. Specials also play a part. For example, a Red Giant (RG) is a huge, old star, that has burned long and hot and is about to coalesce into a dwarf star (or worse). Since it is so huge, it is possible that spots 1 and 2 closest to the star will have been swallowed up! Spot 3 might have an irradiated, barren, or lava planet, and the farther away from the star you get the more ice and jovian-type planets are likely. There are probability tables that are actually editable as text documents so that testers can tweak the values as we play with the generation system.

As cool as that is, the planet system is even more detailed! Planets now have 16 different types (Imperia XNA had 6) and they have the following values:

Size (0-100) – Determines habitability area. In Imperia Unity, it will be possible to have multiple civilizations of different empires living on the same planet! Each ‘point’ of size represents an area of the planet that is unoccupied, occupied, or in contention. This not only makes the concept of ‘total development level’ easier to understand, but it will allow for ground warfare to be visualized and you will be able to see and track what territory you take. Terraforming will increase the probability that any given point that is not available will be habitable and available.

Bio Rating (0-100) – Similar to Imperia XNA.

Industrial Modifier % – This is sort of a catch-all modifier that incorporates how easy or difficult it is to sustain industrial operations on a planet. A high modifier will give bonuses to production and mining, while a low modifier will adversely affect it.

Rings – If a planet has rings, they will be more likely to have valuable materials in them. Also good for tourism. Yes, tourism. :)

Moons – Affects the bio rating positively if there are moons (no tidal lock) and also is a source of additional materials.

Alpha Materials (0-100) – A new concept in Imperia Unity, Alpha Materials are the fundamental materials needed to build everything in the game. These are equivalent to the original materials in Imperia XNA.

Heavy Materials (0-100) – Used for weapons, armor, research projects, and some buildings, Heavy Materials are a different sort of material, and somewhat more rare.

Rare Materials (0-100) – Used mainly for starships and science buildings, and some special projects. Rare Materials are, well, very rare.

Energy (0-100) Energy is another new concept in Imperia Unity. Energy represents a synthetic index of all the energy sources that might be present on a planet, including photonic, fission, fusion, and clean fusion. It is generated by a base of the kind of planet, but is modified by industry, production, and special buildings. It won’t be something you micromanage, but it will be something that you will need to keep an eye on, particularly for planets that you want to dedicate to a war or heavy production footing – it will be possible to transfer energy between planets in a system, but not between systems!

Planets will also have different specials, in order to further differentiate them. Currently we have 25 different special traits, and are working on more. Terraforming or developing a planet can either generate a new trait or ‘wipe out’ an existing one.

Currently, we are on build .0007. While that seems tiny, we already have a working galaxy UI and a system view, and a fully-generated quadrant with all stars, planets, etc. You will see a lot more progress updates soon. Testers, be ready to start getting some builds as we continue to refine the stellar generation engine parameters. Our goal is to have the most realistic stellar universe in any 4X type game ever(except for perhaps Aurora). We hope that you guys will appreciate the time being taken to get the fundamentals right and tight, and we’re making some great progress! I hope to have some additional screenshots up soon once we have some clarity on the UI design. That will actually be the topic of our next ‘Sundays with Steve’… until then… Ad Astra!

-Steve

Posted on Leave a comment

Imperia Unity Developer Journal #1: Realistic Universes, and Planets that Make Sense…

Hello all!

Well, we’re hard at work on Imperia Unity (IU). We’re already got 3 very early alpha builds out the door, and Pavlos has been instrumental in creating a realistic universe for your emperor and his annoying sidekicks to play in! I highlight some of his work below.

In Imperia XNA, star development was very basic; while the overall distribution was more or less accurate, the stellar generation process, especially with planets, was very random and had nothing to do with the actual star. This will be completely different in IU. Stars will be generated procedurally, and realistically, including size, age, stellar class, secondary stellar class, special traits, and more importantly, stars will have metallicity which will (along with other factors) generate a quantity of pmaterial that will determine both the type and amount of planets on a star. Stars can also now be binary or trinary, and have additional specials depending on that. Here are the different types of stars that will be in IU:

O-B blue giants
A (white green)
F (white)
G (yellow)
K (orange)
M (red dwarfs)
L (hot brown dwarfs, deuterium fusion)
T (cold brown dwarfs)
C (carbon stars)
SG (Sub-Giant, early red giants, red, orange or yellow)
RG (Red Giants)
D (Degenerate, or White Dwarfs)
Neutron (Neutron Star)
BH (Black Hole)
WR (Wolf Rayet)
SP (Special)
SP2 (Special 2)

And the specials (incomplete list)

variable
highly variable
material shedding, nebula
accretion disk
nova
strong solar winds
flares

As you can see, a much more complex and realistic galaxy to play with! Systems will still have from 0-6 planets, but the planets (and their distance from their star) will be realistically determined by a combination of planetary material, the type of star, the age, companions, and the size. Planets have been expanded from the prior 6 types to 16(!) Here they are:

0, no planet
1, asteroid belt
2, barren
3, greenhouse
4, desert
5, terran
6, ice
7, dwarf jovian
8, jovian
9, ice belt
10, lava
11, irradiated
12, super-earth
13, ocean
14, brown dwarf
15, organic
16, dust ring
17, city

Here’s an example of a probability table for a planet on the above table to be in one of 6 positions for a fun star, a neutron star:

spectral class 13, Neutron star

– spot 1: 0% chances of having a planet
– spot 2: 0% chances of having a planet
– spot 3: 5%+( Pmaterial x1)-(# of companions*10) chances of having a planet
1-90%: planet-type=2
91-100%: planet-type=6

– spot 4: 20%+( Pmaterial x2)-(# of companions*10) chances of having a planet
1-45%: planet-type=2
46-60%: planet-type=7
61-80%: planet-type=8
81-100%: planet-type=6

– spot 5: 30%+( Pmaterial x2)-(# of companions*10) chances of having a planet
1-30%: planet-type=2
31-50%: planet-type=7
51-65%: planet-type=8
66-100%: planet-type=6

– spot 6: 40%+( Pmaterial x2)-(# of companions*10) chances of having a planet
1-30%: planet-type=2
31-70%: planet-type=6
71-90%: planet-type=7
91-100%: planet-type=8

And here’s the table for a more common star, a yellow (G) star:

Spectral class 4, G

– spot 1: 50%+( Pmaterial x4)-(# of companions*15) chances of having a planet
1-10%: planet-type=1
11-60%: planet-type=2
61-75%: planet-type=4
76-85%: planet-type=3
86-90%: planet-type=10
91-95%: planet-type=11
96-100%: planet-type=7

– spot 2: 70%+( Pmaterial x2)-(# of companions*10) chances of having a planet
1-5%: planet-type=1
6-30%: planet-type=2
31-50%: planet-type=4
51-70%: planet-type=3
71-80%: planet-type=5
81-90%: planet-type=12
95-100%: planet-type=7

– spot 3: 65%+( Pmaterial x3)-(# of companions*10) chances of having a planet
1-10%: planet-type=2
11-20%: planet-type=3
21-30%: planet-type=4
31-60%: planet-type=5
61-70%: planet-type=12
71-80%: planet-type=13
81-90%: planet-type=7
91-97%: planet-type=8
98-100%: planet-type=6

– spot 4: 60%+( Pmaterial x3)-(# of companions*10) chances of having a planet
1-10%: planet-type=2
11-15%: planet-type=3
16-20%: planet-type=4
21-40%: planet-type=5
41-50%: planet-type=12
51-60%: planet-type=13
61-75%: planet-type=7
76-91%: planet-type=8
92-100%: planet-type=6

– spot 5: 50%+( Pmaterial x3)-(# of companions*5) chances of having a planet
1-10%: planet-type=2
11-15%: planet-type=5
16-20%: planet-type=12
21-50%: planet-type=7
51-80%: planet-type=8
81-95%: planet-type=6
96-100%: planet-type=14

– spot 6: 50%+( Pmaterial x3)-(# of companions*5) chances of having a planet
1-5%: planet-type=2
6-10%: planet-type=12
11-35%: planet-type=7
36-60%: planet-type=8
61-85%: planet-type=6
86-100%: planet-type=9

The more ‘fertile’ the star the better chances of a planet that is suitable for human life. This is stark contrast to the previous game, where it was more or less totally random. This will make surveying systems more of a calculated gamble if you know your astronomy!

More to come…