Users 

Seek help here, ask others and help if you can. Before asking questions, please search this site and read available documentation.

Implementing Destructive Collisions

I have been working on predator-prey systems for a little while and have
become convinced that more interesting behaviors could arise if destructive
collisions were possible (rather than predators automatically assimilating
prey on any collision). The website shows examples of this in movies, and it
is referred to in several places, but I can't find any examples of how to
implement destructive collisions in an expdef file. I have been trying to
learn to write scripts myself, but since I have zero experience with any
programming language I have had limited success so far. I would greatly
appreciate it if someone could post the relevant portions of their own
expdefs and/or explain how the scripting of destructive collisions works.
Thanks in advance.

Forums: 

Virtual World

Earlier in this forum there was talk of using multiple computers over the
net to simulate a very large virtual world in which genotypes would
"migrate," perhaps allowing for specialization and niche-ing. I was
wondering if this was being done or could be done?

Forums: 

New version - when?

When new version will be released? I am anxious to get it.
best
Marcin

Forums: 

I think I'm going to try batches.

I have this idea that we can try breaking up different size ranges for a
specific goal, then compare the designs by size. I bet there's some
interesting results waiting to be found under this particular proverbial
rock.

Any suggestions on a range of settings for the varibles? And are there
exponet/power and root functions that I'm not aware of for the fitness
functions? I'd love a cap or range ability. The method I use is really
just a hack involving some algebraic equations' properties. Even an
absolute value, signum, or modulas function would be great!

Thanks for the great program, and hope to hear from you soon - Joe

Forums: 

Using a randomized terrain with special goals.

If you try this formula for your Genetype settings instead of using the
Fitness settings you can do some neat things:
return
this.velocity*5000+-(this.strsiz-90.0)*(this.strsiz-120)*6+this.distance*100
00.0+this.vertvel*5000.0+(this.nnsiz-200.0)*(this.nnsiz-200.0)*0.0001;
Make sure if you copy and paste this formula, that you make it one line in
the program.

Doesn't this.distance=100*this.velocity? If it does, then I can remove it,
and just change the other settings. The number being subtracted inside the
paratheses is to make it so that as you get away from 0 inside the
paratheses, the fitness is decreased at an exponetial rate.
(x-a)*(x+a)=x*x-a*a ---> quadratic equation.

My goal was to see how well I could try to find a high speed for narrow
ranges of complexity. I made the map have both positive and negative
heights, and until just this morning, used terrain height instead of blocks.
I'll see what happens with the blocks. There's water at a reasonable level
to add a little bit of a challenge to the contest. This should produce
some very interesting creatures.

PS I sure wish there was a better way to set goals. Maybe I can write a
program to generate the Genetype function to get a range of sizes.

Forums: 

A quick generator of M XX YY maps writen for QBASIC.EXE

Hope you have your old Windows 98 disks handy! :) Or you can just use the
PowerBASIC lite demo with a little bit of modifications.
Just copy everything from inbetween the start and snip lines. Anyone tried
Photoshop or Paintshop Pro filters? I know this is basically a floating
point bitmap stored as a series of values. The current settings generate a
16 KB text file that you can copy and paste into your World parameters.

RANDOMIZE
size = 40
PRINT "M"; STR$(size); STR$(size); " ";
X = RND * 5 + 2.5
DIM Y(size, size)
DIM Z(size, size)
FOR i = 1 TO size
FOR j = 1 TO size
Y(i - 1, j - 1) = X + RND * 5 - RND * 5
NEXT j, i

REM Adds some extreme points.
i = RND * size
j = RND * size
Y(i, j) = 9
i = RND * size
j = RND * size
Y(i, j) = 9
i = RND * size
j = RND * size
Y(i, j) = -1
i = RND * size
j = RND * size
Y(i, j) = -1

REM Copy to buffer. C does this very easily, hehe. Redundant for now...
FOR i = 0 TO size - 1: FOR j = 0 TO size - 1: Z(i, j) = Y(i, j): NEXT j, i

REM Average out nearby points.
FOR i = 2 TO size - 2: FOR j = 2 TO size - 2
Y(i, j) = Z(i - 1, j - 1) + Z(i, j - 1) + Z(i + 1, j - 1) + Z(i - 1, j)
Y(i, j) = Z(i, j) + Z(i + 1, j) + Z(i - 1, j + 1) + Z(i, j + 1)
Y(i, j) = (Z(i, j) + 3 * Z(i, j) + Z(i + 1, j + 1)) / 6 - 6
NEXT j, i

REM Copy to buffer for 2nd smoothing.
FOR i = 0 TO size - 1: FOR j = 0 TO size - 1: Z(i, j) = Y(i, j): NEXT j, i

REM Average out nearby points.
FOR i = 2 TO size - 2: FOR j = 2 TO size - 2
Y(i, j) = Z(i - 1, j - 1) + Z(i, j - 1) + Z(i + 1, j - 1) + Z(i - 1, j)
Y(i, j) = Z(i, j) + Z(i + 1, j) + Z(i - 1, j + 1) + Z(i, j + 1)
Y(i, j) = (Z(i, j) + 3 * Z(i, j) + Z(i + 1, j + 1)) / 6 - 6
NEXT j, i

REM Makes sure the points wrap around perfectly. Left and right edges.
j = size - 1: FOR i = 1 TO size - 2
Z(i, j) = (Z(i, 0) + Z(0, j)) / 2: Z(i, j) = Z(i, 1)
NEXT i

REM Top and bottem edges.
i = size - 1: FOR j = 1 TO size - 2
Z(i, j) = (Z(i, j) + Z(0, j)) / 2: Z(0, j) = Z(i, j)
NEXT j

REM Fixes corners.
Z(0, 0) = (Z(0, 0) + Z(0, size - 1) + Z(size - 1, 0) + Z(size - 1, size -
1)) / 4
Z(0, size - 1) = Z(0, 0): Z(size - 1, 0) = Z(0, 0): Z(size - 1, size - 1) =
Z(0, 0)

REM Show results on screen.
FOR i = 1 TO size: FOR j = 1 TO size: PRINT Z(i - 1, j - 1); : NEXT j, i

REM Save results to file for use in FramSticks as a size-by-size terrain
map.
OPEN "fs_rnd.txt" FOR OUTPUT AS #1
PRINT #1, "M"; STR$(size); STR$(size); " ";
FOR i = 1 TO size: FOR j = 1 TO size: PRINT #1, Z(i - 1, j - 1); : NEXT j, i

Forums: 

.neuros

I have looked everywhere I can think of and cannot find the bend muscle or
rotate muscle .neuro files.

looked on the developers site
looked around the programs files
looked at main frams.alife.pl

checked the developer and user newsgroups with no luck

I am notoriously unobservant however so am I missing something?

Forums: 

mathematic formulas and I

Thanks ;-)))
Yes I know this posts but can anybody tell me what this mathematic formulas
mean? Which sentence (marked as "a" - "f") is right? I have suspicion, but I
am just not sure...
Can anybody just type correct letter ? ;-).

best
Marcin

Forums: 

I and i

How does "I" and "i" work?
a) "I" - increases ingestion and "i" decreases?
or
b) "I" - increases ingestion and "i" increases less?
or
c) "I" - increases ingestion and "i" increases more?
or
d) "I" - decresses ingestion and "i" decreases less?
or
e) "I" - decresses ingestion and "i" decreases more?
or
f) "I" - decreases ingestion and "i" increases?

and bonus question:
why, after adding many "I" creature moves worse? It should not, if "I" is
only about ingestion...
best
Marcin

Forums: 
Maciej Komosinski's picture

Syntax highlighting for FramScript

Dear users,

Although syntax highlighting for FramScript scripts is similar
to JavaScript, it would be nice to create rules of highlighting
dedicated to FramScript. This would concern *.script, *.neuro,
*.expdef, *.show and *.style files.

I know two free text editors that allow to easily add
new rules of syntax highlighting:

http://www.crimsoneditor.com/ - unfortunately, for Windows only
http://www.jedit.org/ - a little more difficult to use and
requires Java, but available for all platforms

Is anyone willing to create highlighing rules for those editors?
FramScript keywords and classes can be found at

http://www.framsticks.com/common/script/framscript-lang.html
http://www.framsticks.com/common/script/docs/menu.html

MacKo

Forums: 

Pages

Subscribe to RSS - Users