Euflorium: The Eufloria Community

Eufloria => Eufloria Classic => Eufloria Classic Mods => Topic started by: DeathByNukes on October 17, 2009, 01:40:23 AM

Title: What Hardcoded Limits Exist in Dyson?
Post by: DeathByNukes on October 17, 2009, 01:40:23 AM
What sorts of limitations are there in the Dyson demo?
I know there's some upper limit in agents per level and there can be no more than 24 enemy factions. I suspect there's a limit to number of agents in transit at once and I'm also wondering how the AI handles these limits.

I'm asking because I'm trying to make a large level but I've gotten random crashes during play. (some sort of out of bounds error, maybe ArgumentOutOfRangeException)
This is a level that caused a crash:
Code: [Select]
<?xml version="1.0"?>
<DysonSettings version="0.3">
  <colour r="255" g="250" b="235" />
  <dir name="ASTEROIDS">
    <dir name="MAXTREES" type="int" value="3" />
    <dir name="MINSENDDISTANCE" type="int" value="1600" />
    <dir name="MAXSENDDISTANCE" type="int" value="10000" />
  </dir>
  <dir name="AI">
    <dir name="MINTICK" type="int" value="16" />
    <dir name="MAXTICK" type="int" value="32" />
    <dir name="GRACE" type="int" value="60" />
  </dir>
  <dir name="GAME">
    <dir name="ENEMYFACTIONSMIN" type="int" value="24" /> <!-- any more and it crashes on startup -->
    <dir name="ENEMYFACTIONSMAX" type="int" value="24" />
    <dir name="BELTRADIUS" type="int" value="50000" />
    <dir name="BELTWIDTH" type="int" value="20000" />
    <dir name="ASTEROIDS" type="int" value="500" />
    <dir name="MINASTEROIDSEPARATION" type="int" value="1500" />
    <dir name="STARTINGSEEDLINGS" type="int" value="20" />
    <dir name="MAXASTEROIDNEIGHBOURDIST" type="int" value="6000" />
    <dir name="GREYSPROBABILITY" type="int" value="15" />
    <dir name="GREYSMIN" type="int" value="10" />
    <dir name="GREYSMAX" type="int" value="45" />
  </dir>



  <greeting text="Level 6: FREE SPACE."/>
  <greeting text=""/>
  <greeting text="Conquer this entire asteroid belt."/>
  <greeting text="Tree numbers are limited."/>

  <wintext text="Huge success!"/>

  <losetext text="You fail it!"/>
  <losetext text=""/>
  <losetext text="Your skill is not enough"/>
  <losetext text="See you next time"/>
  <losetext text="Bye bye!"/>

  <win if="team 1 owns all asteroids"/>
  <lose if="team 1 owns 0 asteroids"/>

  <!-- This one given to the player and has 50 seedlings -->
  <asteroid pos="51000,0" attribs="0.4,1,1" owner="1" trees="1,0" seedlings="50" static="false"/>

</DysonSettings>
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: Alex on October 17, 2009, 09:46:21 PM
I'm surprised you don't get crashes with 24 teams - I thought the max would be however many rows there are in the teams.png file. Try editing that to make it bigger and see if that works...
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: Rudolf on October 18, 2009, 01:30:20 AM
Can't wait to get the LUA stuff out :-D
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: Melly on October 28, 2009, 12:12:33 AM
Another limit I found is on number of planted dyson trees, at least in a single asteroid. Edited a file to allow me to plant 99 trees in each asteroid. Started planting over and over until I reached around 70+ trees, I think, in a single asteroid and the game crashed.

Should this limitation only happen in a single asteroid, or is that a limit to all trees in the level?
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: Alex on October 28, 2009, 01:12:00 AM
I will investigate the crash at some point; there's no reason I can think of that it might happen.
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: adrolak on January 01, 2010, 08:51:33 AM
What file did you edit to get the # of allowed trees edited? I wanna make it a tad higher then it is atm, ( 4 right? )
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: HKK on January 02, 2010, 12:56:22 AM
What file did you edit to get the # of allowed trees edited? I wanna make it a tad higher then it is atm, ( 4 right? )
The number of trees per asteroid is a level-dependent variable. Even though there are many levels with a maximum of 4, that is not the only value. In the campaign level Badlands, for example, you can only build 1 tree per asteroid.
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: annikk.exe on January 24, 2010, 01:28:42 AM
I found planting more than about 200 trees on an asteroid induces a crash.  I assumed it was just the game trying to grab too much memory too quickly or something, heh.  I think I would almost have been disappointed if I couldn't crash it :P


Does anyone know if there is a limit to the number of If loops you can have in each While loop?
Title: Re: What Hardcoded Limits Exist in Dyson?
Post by: annikk.exe on January 25, 2010, 06:01:46 AM
I have discovered that putting beyond about 20 Ifs in a While loop generally causes things to stop working.  It seems better to use While to create delays between actions, and just use the sequential nature of Function Level Logic to sequence the events in your level.

So that is a hard limit, sort of.


Another I have discovered today is a hard limit on send range.  I don't seem to be able to get the send range of an asteroid below 500.  It seems like 500 is the minimum.