Author Topic: Graphic Enhancements. Development suspended.  (Read 8179 times)

Jon Micheelsen

  • Contributor
  • Sentient
  • *
  • Posts: 76
  • Karma: +19/-0
    • View Profile
As a matter of fact this mod is NOT dead. I just got very busy all of a sudden, starting in a new school and getting on some other projects in addition. But, I did actually work on it a little just a few days ago.

There are some bugs, not catastrophic in any way, but highly annoying. As previously mentioned I made some new stats, for temperature, atmospheric pressure and gravity - so far just for show. They together with the building slot count and terraform slot count yields a total planet quality score. The goal of this score is to make one easy number, for both the player, and ideally the ai to go planet hunting with.
The homeworld is always 100%, some planets can be more than a 100%. A rare bug can however give a 0% score, which should not be possible, on some of the poor types - though only sometimes. I have been unable to sort it out, and it kinda made me put it aside for awhile, as it would be silly to make things dependent on it while buggy.

But, with GA stopped. Any scripters out there, wanna give it a try?

Rostiro

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: Graphic Enhancements. Wanna help make it happen?
« Reply #31 on: October 14, 2013, 02:55:09 PM »
Thank you for information. Its good that the mod is still development. The pictures looks awesome. I look forward to the release.
Nice day and good lock.. Rostiro (I hate the spell check) :D

Star Raruron

  • Sentient
  • **
  • Posts: 114
  • Karma: +1/-0
  • Supreme MindLord Of The Incogniti Hive
    • View Profile
Re: Graphic Enhancements. Wanna help make it happen?
« Reply #32 on: October 16, 2013, 11:03:33 AM »
I was at point to ask Jon how things were going. Nice that someone anticipated me and he replied with good news.

Quote
But, with GA stopped. Any scripters out there, wanna give it a try?

Do you mean give a try on continuing the development of GA or help with yours Graphic supermegauberfantabulousEnhancement?
what's an Incognito? A devilish ninja undead being with a technorganic replicative venom symbionte

Jon Micheelsen

  • Contributor
  • Sentient
  • *
  • Posts: 76
  • Karma: +19/-0
    • View Profile
Re: Graphic Enhancements. Wanna help make it happen?
« Reply #33 on: October 16, 2013, 04:31:15 PM »
The latter. Though, I actually haven't got the time right now, I couldn't resist taking a look at the code yesterday, and ended up getting rid of the three major bugs. There's still one, that's moderately annoying. That, and a lot of the new stuff is still just for show without any actual gameplay mechanical implications.

Star Raruron

  • Sentient
  • **
  • Posts: 114
  • Karma: +1/-0
  • Supreme MindLord Of The Incogniti Hive
    • View Profile
Re: Graphic Enhancements. Wanna help make it happen?
« Reply #34 on: October 17, 2013, 03:21:21 AM »
Which is the last bug? In what does it consist if i may ask?

and what are the new stuff :3

I'M CURIOUS FEED MMMEEEEE
what's an Incognito? A devilish ninja undead being with a technorganic replicative venom symbionte

Jon Micheelsen

  • Contributor
  • Sentient
  • *
  • Posts: 76
  • Karma: +19/-0
    • View Profile
Re: Graphic Enhancements. Wanna help make it happen?
« Reply #35 on: October 19, 2013, 08:09:05 AM »
It consists of the homeworld appearing in wrong orbits. I've introduced much more detailed temperature falloff generation of planets - that works like a charm. The homeworld however does not always generate in the goldilock zone, where planets of it's type appears. About 50% of the time it's either too close to the star or so far away making the system so large, that the zoom is broken. The other half of the time it generates perfect. The same applies for the secondary planet starting option.

This is the code for it.

Code: [Select]
// {{{ Homeworld Generation
int[] playerTeams;
vector[] playerPositions;
Planet@ setupStandardHomeworld(System@ sys, Empire@ emp) {
if(!emp.isValid() || emp.ID < 0)
return null;

Empire@ space = getEmpireByID(-1);
float homeworldYear = 0.f;
Planet@ planet = null;

int team = int(emp.getStat("Team"));
int redos = 50;
int pass = 4;
do {
Planet@ newPlanet = getRandomPlanet(sys);
bool livable = sys.toObject().getStat(space, strLivable) > 0.f;

if (pass > 0 && livable) {
// Player distance
float glxRadius = getGalaxy().toObject().radius;
float minPlayerDist = 1.f * glxRadius * 2.f;
float maxAllyDist = 0.f;
float fuzz = 1.f / float(5 - pass);
vector pos = sys.toObject().getPosition();

uint playerCnt = playerTeams.length();
for (uint i = 0; i < playerCnt; ++i) {
int otherTeam = playerTeams[i];
float otherDist = playerPositions[i].getDistanceFrom(pos);

if (otherTeam == team && team != 0)
maxAllyDist = max(maxAllyDist, otherDist);
else
minPlayerDist = min(minPlayerDist, otherDist);
}

livable = (minPlayerDist > playerDist * glxRadius * 2.f * fuzz)
&& (maxAllyDist < allyDist * glxRadius * 2.f * fuzz);
}

if(livable && !(newPlanet is null)) {
@planet = @newPlanet;
break;
}
System@ newSys = getRandomSystem();
if(newSys is null)
continue;
@sys = @newSys;
@planet = @newPlanet;

if (pass >= 0 && redos == 1) {
if (pass == 1)
warning("Couldn't find a fitting system for "+emp.getName()+" in the first passes.");
redos = 25;
pass -= 1;
}
} while(redos-- > 0);

// Record this player's position
uint n = playerTeams.length();
playerTeams.resize(n+1);
playerPositions.resize(n+1);
playerTeams[n] = team;
playerPositions[n] = sys.toObject().getPosition();

updateLoadScreen(emp.getName()+" born.");

if(sys.hasTag("JumpSystem") && balancedStart)
sys.removeTag("JumpSystem");

Orbit_Desc orbDesc;

sys.toObject().setStat(space, strLivable, 0.f);
Planet_Desc plDesc;
float pRad = homeworldPlanetRadius;
plDesc.PlanetRadius = pRad;
plDesc.RandomConditions = false;
string@ name = "";

orbDesc.Eccentricity = 1.f;
if (planet is null) {
// Just creating a new planet, this may cause colliding planet syndrome. Right smack in the greenzone
orbDesc.Radius = (tempFalloffRadius * starDesc.Temperature * starDesc.Radius) / 850.f;//784.f;
}
else {
// We are swapping a random planet from the system with our own
orbDesc.Radius = (tempFalloffRadius * starDesc.Temperature * starDesc.Radius) / 850.f; //784.f;

Object@ plObj = planet.toObject();
disregardPlanets.insert(plObj.uid);
name += plObj.getName();

// Destroy the planet without showing an explosion
planet.eradicate();
}


float YYawOffset = 0;
float YPitchOffset = 0;
if(randomf(1.f) < 0.5f)
orbDesc.Eccentricity += randomf(0.05f, 0.1f);
else
orbDesc.Eccentricity -= randomf(0.05f, 0.1f);
orbDesc.Yaw = randomf(-0.11f,0.11f);
YYawOffset += sin(orbDesc.Yaw * (180/Pi)) * orbDesc.Yaw * orbDesc.Radius;
orbDesc.Offset.z += (orbDesc.Yaw * orbDesc.Radius) - (YYawOffset * cos(orbDesc.Yaw * (180/Pi)));
orbDesc.Pitch = randomf(-0.11f,0.11f);
YPitchOffset += sin(orbDesc.Pitch * (180/Pi)) * orbDesc.Pitch * orbDesc.Radius;
orbDesc.Offset.x += (orbDesc.Pitch * orbDesc.Radius) - (YPitchOffset * cos(orbDesc.Pitch * (180/Pi)));
orbDesc.Offset.y += YYawOffset + YPitchOffset;

//Change for random OLD terran
plDesc.setPlanetType( getPlanetTypeID( "gaianterran1" ));
// plDesc.setPlanetType(getPlanetTypeID("rock"+rand(1, 16)));

//Setup orbit information based on the star
SysObjList children; children.prepare(sys);
if(children.childCount > 0) {
Object@ child = children.getChild(0);
Star@ star = @child;
if(@star != null) {

//float radiusGrab = orbDesc.Radius;
//orbDesc.Radius += -1.f * radiusGrab;
orbDesc.Radius = (tempFalloffRadius * starDesc.Temperature * starDesc.Radius) / 784.f;
orbDesc.MassRadius = sqrt(sqrt(child.radius)) * 100.f;
orbDesc.Mass = sqrt(sqrt(child.radius)) * starMassFactor * 100.f;

float YYawOffset = 0;
float YPitchOffset = 0;
if(randomf(1.f) < 0.5f)
orbDesc.Eccentricity += randomf(0.05f, 0.1f);
else
orbDesc.Eccentricity -= randomf(0.05f, 0.1f);
orbDesc.Yaw = randomf(-0.11f,0.11f);
YYawOffset += sin(orbDesc.Yaw * (180/Pi)) * orbDesc.Yaw * orbDesc.Radius;
orbDesc.Offset.z += (orbDesc.Yaw * orbDesc.Radius) - (YYawOffset * cos(orbDesc.Yaw * (180/Pi)));
orbDesc.Pitch = randomf(-0.11f,0.11f);
YPitchOffset += sin(orbDesc.Pitch * (180/Pi)) * orbDesc.Pitch * orbDesc.Radius;
orbDesc.Offset.x += (orbDesc.Pitch * orbDesc.Radius) - (YPitchOffset * cos(orbDesc.Pitch * (180/Pi)));
orbDesc.Offset.y += YYawOffset + YPitchOffset;
}
}
children.prepare(null);

plDesc.setOrbit(orbDesc);
Planet@ pl = sys.makePlanet(plDesc);
Object@ obj = pl.toObject();
obj.setOwner(emp);

Jon Micheelsen

  • Contributor
  • Sentient
  • *
  • Posts: 76
  • Karma: +19/-0
    • View Profile
Re: Graphic Enhancements. Wanna help make it happen?
« Reply #36 on: October 21, 2013, 02:37:34 PM »
Okay, got it fixed as well. Had a test game running, colonizing a 200 star galaxy, around 1230 planets in total, and found a few small bugs that needs adjustments. A release is soon to be expected.

Star Raruron

  • Sentient
  • **
  • Posts: 114
  • Karma: +1/-0
  • Supreme MindLord Of The Incogniti Hive
    • View Profile
Re: Graphic Enhancements. Almost there!
« Reply #37 on: October 22, 2013, 06:07:58 AM »
Glad you did it
sorry for being absolutely of no help but planet radius and position in systems are something i didn't get
i remember when putting my dirty little hands in galacty armory and advanced spiral universe i always made mess with those parameters... having abnormal orbits or homeplanets pulled two times the most external one from the star ._. (not to mention planet tornadoes with binary systems lol)

waiting with patience :)

regards
what's an Incognito? A devilish ninja undead being with a technorganic replicative venom symbionte

Jon Micheelsen

  • Contributor
  • Sentient
  • *
  • Posts: 76
  • Karma: +19/-0
    • View Profile
Re: Graphic Enhancements. Almost there!
« Reply #38 on: October 24, 2013, 07:35:28 AM »
Back in January I couldn't make any sense of the code. Lots and lots of trial and error(!!!) and a little help from Azalrion and Thy Reaper, and all of a sudden things started making sense. I can read almost everything in the map_generation related scripts now and quite a lot of the ones dealing with the interface as well. It's an awesome feeling when you sorted out why a crash happened for the first time, even more awesome when you can implement full features exactly as you want them - in one go.

Speaking of new features, I've added display of terraformable slots in the mouse-over of uncolonized planets. Further I'm adding a few nifty little things for mouse-over of whole systems, like total slot count of all present colonizable planets, as well as their total of terraformable slots and something as simple, but useful, as a count of colonizable planets in the system. There will also be a notion on the presence of valuable planets, like a gaian with lots of readily available slots.

My plan was to make the new quality scores have an effect on productivity. I will release before I implement that - it's quite a process to do. The new features would be key with this implemented. Just spamming colony ships early on could give you lots of really poor planets draining on your economy.

Star Raruron

  • Sentient
  • **
  • Posts: 114
  • Karma: +1/-0
  • Supreme MindLord Of The Incogniti Hive
    • View Profile
Re: Graphic Enhancements. Almost there!
« Reply #39 on: October 28, 2013, 10:14:08 AM »
Basically you're making colonization more realistic by making poor planet more expensive to mantain and forcing the player to search for rich and enviromentally pleasant planets more accurately???

The problem with this (once implemented) will be only one... will AI do the same?
what's an Incognito? A devilish ninja undead being with a technorganic replicative venom symbionte

Jon Micheelsen

  • Contributor
  • Sentient
  • *
  • Posts: 76
  • Karma: +19/-0
    • View Profile
Re: Graphic Enhancements. Development suspended.
« Reply #40 on: December 24, 2013, 05:06:13 AM »
Note on 24/12-2013, I haven't got the time to get this where it should be, so I'm suspending it indefinately. That said, some of the knowhow aquired making it is being used on a future project ;)

Star Raruron

  • Sentient
  • **
  • Posts: 114
  • Karma: +1/-0
  • Supreme MindLord Of The Incogniti Hive
    • View Profile
Re: Graphic Enhancements. Development suspended.
« Reply #41 on: December 30, 2013, 05:29:36 AM »
mmm (T.T)
what's an Incognito? A devilish ninja undead being with a technorganic replicative venom symbionte

Thy Reaper

  • BMS Lead Developer
  • BMS Administrator
  • Hopeless
  • *
  • Posts: 3237
  • Karma: +397/-8
    • View Profile
    • Blind Mind Studios
Re: Graphic Enhancements. Development suspended.
« Reply #42 on: December 31, 2013, 03:42:30 PM »
Don't be upset, Jon is making tons of art for Star Ruler 2, so you'll get to see even more from him in the future. You can see an early planet he's produced here: http://starruler2.com/media/the_biggest_resolution.png

Star Raruron

  • Sentient
  • **
  • Posts: 114
  • Karma: +1/-0
  • Supreme MindLord Of The Incogniti Hive
    • View Profile
Re: Graphic Enhancements. Development suspended.
« Reply #43 on: January 04, 2014, 10:06:06 AM »
I knew there was something behind it,
the sr2 graphics looked a lot like his graphic improvements ^_^

Oh well, i guess i've to wait for the new game to come out >_<
what's an Incognito? A devilish ninja undead being with a technorganic replicative venom symbionte