Code center > Bug reports

Working on 2.42.0

<< < (3/7) > >>

Endy:
How'd you manage 5K? I was having some really oddball effects at about 2000 :sad2:  not to mention it begins running in real time.

Numsgil:
As a school project I'm implementing an algorithm in the C++ source (which I started in the VB version, which I called "buckets") that should change the core program from an O(n^2) complexity to an O(n) complexity.  Those huge sims should run incredibly faster.

Most of the really complicated math is mine.  I'm a math major you see.  Like the shot decay log function, etc.

Feel free to add comments to the code around any code block you had to spend time figuring out.  I try to add mucho comments but I'm not always as forthright as I should be.

EricL:

--- Quote ---How'd you manage 5K? I was having some really oddball effects at about 2000
--- End quote ---
I recently bought a new machine.  3Ghz P4 with a Gig of ram (and a totally wicked 24" screen!).  Even on the biggest, slowest sims it seems to stay above 1 cycle per second and just flys with the bot count below 1000.  Haven't seen any really oddball stuff, but I have fixed a lot of things in my fork and also, with the crazy mutation rates I'm using (mostly to test stuff) I may not notice weird stuff anyway...  :)


--- Quote ---As a school project I'm implementing an algorithm in the C++ source (which I started in the VB version, which I called "buckets") that should change the core program from an O(n^2) complexity to an O(n) complexity.
--- End quote ---
 
I've seen some of that in the VB source.  Most execellent sir.  Hashtables are your friend! :clap:

EricL:

--- Quote ---How'd you manage 5K?
--- End quote ---

Also, I don't like hitting (or having) the artifical bot limit.  This is a problem a lot of programs like this have I.e. how to keep numbers reasonable when there is an abundnace of energy in the sim.  Microsft's Terrarium had the same problem and used "sickness" to randomly kill off bots when populations got too high for the machine to handle simulating in reasonable time.  Of course, when there is no darwinian selection invovled in which bots live or die, it makes evolution difficult...  

I prefer using environmental conditions that increase selective pressures as a mechanism for keeping populations under control and not having any built in limits.  Someday I'll do some work here.  (The current limit of 5000 is a pretty fundemental artifact of the way the VB code is currently written using arrays instead of linked lists or other more dynamic structures.  Changing this would be a major piece of work and this is exactly what Nums is doing in the C++ fork, though the thigns you do for speed, such as using hashtables are not always compatable with the thigns you do for having no upper bounds...)

Anyway, I limit the energy in the system by using a small number (like 4) of really big, high energy veggys that rarely die (start with one in each corner with it's own little starting bot species and you get isolated populations evolving separatly for a time that evlove to stay near their food source but eventually start to venture and come into contact with the other populations once their populations get large enough).  I also raiseg costs on bots so that they die off if they don't eat fairly regularly.   Adding even a small cost to Flow commands will accomplish this well...

PurpleYouko:

--- Quote ---I recently bought a new machine. 3Ghz P4 with a Gig of ram
--- End quote ---
How did you manage to find a P4 that fast? :blink:
It is my understanding that P4s only go about as high as 2Ghz
Anything faster than that is a newer generation of chipsets such as Sempron or Athlon.
Semprons run from about 2400 up to 3200(nominal speed) or so and Athlons run up to about 4 Ghz

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version