"Very Difficult Choice" Mod, irc channel: irc.quakenet.org/vdc

Information, How-to's, and discussion about mod'ing Master of Orion II.
Catalyst_Kh
Posts:119
Joined:Sat Aug 25, 2012 7:49 pm

Postby Catalyst_Kh » Tue Mar 05, 2013 8:20 pm

But the time is not wasted for nothing, that is the essence of the idea. :) You already have extra pop, because first you will house each planet to next +1 pop and only then switch to accumulation of prod for RLs, and many races needs early freither(s) as well. Planets, which already got +1 will just store folks and do science, until ~20%. If, after all planets are accumulated enough (to buy from half), it didn't hit yet - again housing and CS. :) After RL finally will hit, extra pop will regain lost time very soon, the more time to wait - the more extra pop, and the faster CS will regain everything as well, extra pop will fly to 3rd system sooner. And that extra pop not only creates more res points to catch up, but will increase pop growth by it's presence only. It works better with tolerant or uni of course, sub lith probably is the worst to do that. It doesn't garantee you will get ahead for 1 or 2 turns from "normal" line, but it gives a good chance for it to happen for no cost. And of course no need to stall for too long, once it didn't hit when you stored enough - you may put some pop to science again. :)

Biocide
Posts:1
Joined:Wed Mar 06, 2013 11:25 pm

Postby Biocide » Wed Mar 06, 2013 11:44 pm

I guess in MOO2 was a population limit 42 billion colonists. In VDC mod (ver. 43e) i played for subterranian+lithovore. On huge gaia planet with biospheres i have 43/44 colonists and when born 44th, vdcor crashes. Also 43th colonist was Android. I'm don't make android but programm show me this 43th colonist like android with all properties of android. When i watched save in Corion2, on this planet was 43 colonists and 0 androids. May be possibly to correct this bug?

Catalyst_Kh
Posts:119
Joined:Sat Aug 25, 2012 7:49 pm

Postby Catalyst_Kh » Thu Mar 07, 2013 12:14 am

It is ingame bug, because 42 is hardcoded somewhere as the maximum pop for a planet, while in VDC all planets have +2 pop limits. There are two simple solutions:

1) sell biospheres at 42 planet, so it wouldn't be 44;
2) once 44 planet reached 42 - put/transport two more folks (43 and 44) manually from other planets;

Bug hits only when 43th or 44th pop is born, but when it just resides there - no problem. You may even grow 43th and 44th as default, but the turn before birth just put someone out, so it would be 41 and 42th would be born, the next turn put folks back, if needed. Or constantly ship away 42th out before next birth. But all that is too much of unnecessary routine during turn management, which has almost zero influence at your race development, so you may prefer just to pick option (1) or (2) and forget about that problem till the game ends.

User avatar
Overlord2
Posts:661
Joined:Wed Jun 13, 2007 5:25 pm

Postby Overlord2 » Fri Mar 08, 2013 2:49 pm

I guess in MOO2 was a population limit 42 billion colonists. In VDC mod (ver. 43e) i played for subterranian+lithovore. On huge gaia planet with biospheres i have 43/44 colonists and when born 44th, vdcor crashes. Also 43th colonist was Android. I'm don't make android but programm show me this 43th colonist like android with all properties of android. When i watched save in Corion2, on this planet was 43 colonists and 0 androids. May be possibly to correct this bug?
This bug has been mentioned on the front page. To ensure it doesn't happen I recommend to keep max pop at 42 (don't build biosphere at huge gaia planets with advanced city planning technology researched). As for fixing the bug, as soon as it becomes possible I'll do it.
Btw, AI may aslo crash due to this bug...

Catalyst_Kh
Posts:119
Joined:Sat Aug 25, 2012 7:49 pm

Postby Catalyst_Kh » Fri Mar 08, 2013 3:43 pm

To ensure it doesn't happen I recommend to keep max pop at 42 (don't build biosphere at huge gaia planets with advanced city planning technology researched).
This is superfluous. Since VDC ~13 or so, i never ever had a crash once i put 43th+44th pop manually from neighbour planet and left it there. It is also not a problem, if planet will be blockaded and starving, since bug hits only at birth of pop, not at death from starving.

User avatar
Overlord2
Posts:661
Joined:Wed Jun 13, 2007 5:25 pm

Postby Overlord2 » Fri Mar 08, 2013 4:12 pm

I recommend to do it to avoid crashes. What you will do is your decision...

Semmelbaecker
Posts:39
Joined:Sat Sep 15, 2012 4:11 pm

Postby Semmelbaecker » Sun Mar 10, 2013 5:29 pm

Having a hardcoded limit of 42 probably meens, that there is an array with 42 elements. Writing to element 43 and 44 probably means, that the memory behind the array is altered in a way how it is not supposed to. Whether or not this creates crashed depends on many things. For example if the memory is read and thus misinterpreted, or if it is overwritten to an undefined state. So there are plenty of reasons not to trust "it didnt happen before, it will never happen".

Cheers,
Semmel

Catalyst_Kh
Posts:119
Joined:Sat Aug 25, 2012 7:49 pm

Postby Catalyst_Kh » Sun Mar 10, 2013 6:14 pm

Good advice about array. It is interesting then, why i had no crashes for hundreds of games? It couldn't be a coincidence of such a scale. Maybe there is no hardcoded limit for planet pop size, but there is only a problem in procedure of birth of new pop only? I remember there was some old bug with regular moo, which could be exploited to make hundreds of androids at a planet, thus it shouldn't be the array problem then.

Semmelbaecker
Posts:39
Joined:Sat Sep 15, 2012 4:11 pm

Postby Semmelbaecker » Mon Mar 11, 2013 9:38 am

Array overflows are very unpredictable. I assume (better: wild guess) is, that the memory is allocated using the same rules every time you start the game or generate a map. So if there is no situation that typically occurs in your games, then the game doesnt crash. I wouldnt count on that though. Especially because you never know what causes the crash if it occurs because if you read it in a totally unrelated way to the array (the memory is not semantically allocated. Its totally unpredictable from the users perspective). So you might for example begin to encounter crashes whenever you use a specific ship design. Naturally, you would tie the crashes to the ship design because thats the obvious connection. However, the shipdesign is fine and the _real_ cause of the problem is the array overflow. This is a nightmare to debug.

I had such a situation once. We did some programming on a medium size project (5 people, 1 year) and didnt notice an array overflow at one particular part of the program. Everything continued normally until month later, we encountered weired crashes. Of course I thought its because the new code was wrong.. but it was totally fine. I started to doubt my sanity until 2 days of constant debugging, I found the error after demolishing half the project (and a lot of luck). This was a fantastically painful experience and I am sure, almost all programmers had it at least once in their lifetime. Do not generate array overflows.. ever. Its like playing Russian Roulette.

User avatar
Overlord2
Posts:661
Joined:Wed Jun 13, 2007 5:25 pm

Postby Overlord2 » Mon Mar 11, 2013 4:52 pm

The crash occurs on emergence of 43d pop. But its difficult to keep attention to all your planets monitoring current pop to prevent the bug. However all players prefer keeping their planets underpopped for pop growing purposes. Hence its better to have 42 pop limit. I am not sure why it doesn't crash when you manually put 43rd pop though...I will be looking into this bug sometime later.

Catalyst_Kh
Posts:119
Joined:Sat Aug 25, 2012 7:49 pm

Postby Catalyst_Kh » Tue Mar 12, 2013 3:40 am

Thanks for explanation Semmel, i never thought about that deep enough. Then it was probably a big luck all the time. Now i for sure will just sell biospheres and will breathe with confidence.

---
The crash occurs on emergence of 43d pop. But its difficult to keep attention to all your planets monitoring current pop to prevent the bug. However all players prefer keeping their planets underpopped for pop growing purposes. Hence its better to have 42 pop limit. I am not sure why it doesn't crash when you manually put 43rd pop though...I will be looking into this bug sometime later.
It also crashes at birth of 44th often, so I was used either to put +2 pop, once a planet reached 42, thus there was no need to put any attention to pop growth later, either kept 39-42 at 44 planet, removing newcomers, but that is constant attention of course. Probably you are right, it doesn't worth it.

angra
Posts:25
Joined:Wed Aug 29, 2012 12:34 pm

Postby angra » Wed Mar 13, 2013 1:12 pm

Version 43e. Game created in 43e. Leader Bork still has no skills

User avatar
Overlord2
Posts:661
Joined:Wed Jun 13, 2007 5:25 pm

Postby Overlord2 » Wed Mar 13, 2013 8:58 pm

Hi Angra,

Sorry about that. It hasn't been fixed in 43e, though I thought it was fixed. I am about to release new update, where it will be fixed, this time definitely.

angra
Posts:25
Joined:Wed Aug 29, 2012 12:34 pm

Postby angra » Sat Mar 16, 2013 5:43 pm

Could you please elaborate Artemis System Net mechanic?
"New damage ranges from 3 to 43 mines; Each mine inflicts 105 points of damage (plus ESD) lessened by the shield or damper field; Chances to hit were revised too: frigate - 10%; destroyer - 20%; cruiser - 30%; battleship-50%; titan-70%; doomstar - 100%"
Let's take batlleship without shields/dumper. Does it means that it has 50% chance to avoid damage completely and if failed will receive (3+rnd(40))*105*2 damage? Or 50% is not evasion chance but chance to hit for each mine, so damage will be rnd(43/2)*105*2?

Catalyst_Kh
Posts:119
Joined:Sat Aug 25, 2012 7:49 pm

Postby Catalyst_Kh » Sat Mar 16, 2013 5:48 pm

Why *2 ?


Return to “Game Modifications”

Who is online

Users browsing this forum: No registered users and 172 guests