Author Topic: DNA Obfuscation Contest  (Read 2624 times)

Offline PhiNotPi

  • Bot Builder
  • **
  • Posts: 64
    • View Profile
DNA Obfuscation Contest
« on: February 07, 2014, 08:42:24 PM »
This contest is similar in style to the "Obfuscated-C" programming contests.   The main idea is to take a simple robot, say Animal_Minimalis or something not-too-complex, and re-write its DNA such that it is unreadable yet similarly functioning.

  • Your goal is to cause onlookers to ask "How does that even work?!"  Try to take advantage of "hidden" functionality.  Impress people with your knowledge.
  • The DNA should be hard to understand, yet not too long.  It is relatively easy to write a humongous unreadable math expression, but your submission should not rely on sheer size to create unreadability.
  • The underlying robot behavior ("phenotype") should be relatively simple.  Write super-complex DNA for a simple bot.
  • Basic ideas include substituting numbers with their associated Sysvar names, or messing around with the data stack, or making certain things "conditionless."

For your submission, simply include the "before and after" of the obfuscation. 

There's not going to be an official judging/awards process, but I'm simply interested in seeing what people can write.  It's somewhat open-ended. Have fun!
I am biased neither towards nor against any single mathematical constant.

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #1 on: February 08, 2014, 06:55:59 AM »
This sounds like fun. Do evobots count? Or just hand-authored?
To być albo nie być, oto jest ze pytanie

Offline PhiNotPi

  • Bot Builder
  • **
  • Posts: 64
    • View Profile
Re: DNA Obfuscation Contest
« Reply #2 on: February 08, 2014, 08:28:58 AM »
I prefer that the bots be handwritten.  I think it is more challenging that way.
I am biased neither towards nor against any single mathematical constant.

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #3 on: February 08, 2014, 08:34:46 AM »
OK. Is there a specific limit to size? I want to use oculus III, but it is 500+ bp long.
To być albo nie być, oto jest ze pytanie

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Re: DNA Obfuscation Contest
« Reply #4 on: February 08, 2014, 09:26:33 AM »
I would prefer a hard limit on the size. In a way that you're doing a lot of complicated stuff, but it doesn't take a lot of room. The way it works also needs to be explained.

A good example is this: http://perl.plover.com/obfuscated/
Only 312 characters, and you don't have a clue what it is doing. Read the explanation and still you're overblown.
« Last Edit: February 08, 2014, 09:30:53 AM by Peter »
Oh my god, who the hell cares.

Offline PhiNotPi

  • Bot Builder
  • **
  • Posts: 64
    • View Profile
Re: DNA Obfuscation Contest
« Reply #5 on: February 10, 2014, 08:25:43 PM »
Do you think that 200 BP is enough, or should that be reduced to 100 BP?
I am biased neither towards nor against any single mathematical constant.

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #6 on: February 11, 2014, 03:35:49 PM »
I would just go with as short as possible (ASAP)  :P
To być albo nie być, oto jest ze pytanie

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #7 on: February 11, 2014, 04:02:05 PM »
I got a bot- you have to run it in a toroidal sim.
'A bot with confuscated code
'Forms lots of tiny little bots that spread around a large sim
'SG bot, for xtra confuscation!

'Actions:
'Reproduce (alot)
'"Play footbal" w/ food using -1 shoots
'Once finished playing with food, fling away!

start
800 inc *310
 500 sub sgn         0 floor
5 mult 300        store   *9 1
sub                        ' '
sgn abs - ++ 467 mult inc *9 1
 
                           sub sgn abs
-                          '   '   '
++                         '   '   '
614 mult 19 store
                     *510 0 sub sgn abs                     *689 *690 angle
    mult 19 store    *510 0 sub sgn abs - ++ 50 mult abs 3 store *810
                     *510 0 sub sgn abs       mult       '   '
*689 *690 dist mult -- abs                               1 store
*728
*708 sub sgn abs *510 10 sub 1 add
sgn 0 floor and 7 mult dec
stop
To być albo nie być, oto jest ze pytanie

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: DNA Obfuscation Contest
« Reply #8 on: February 11, 2014, 04:13:09 PM »
lol, that looks awesome  8)

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #9 on: February 11, 2014, 04:22:25 PM »
It is. It creates diagonally moving bands of tiny bots that go psychotic once they see something. After a while, this pattern disappears, but they reproduce like fruitflies- 800+ alive, 1000 born in about 600 cycles.
To być albo nie być, oto jest ze pytanie

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #10 on: February 18, 2014, 05:50:29 PM »
As I am the only contestant, looks like I won!  8)
To być albo nie być, oto jest ze pytanie

Offline PhiNotPi

  • Bot Builder
  • **
  • Posts: 64
    • View Profile
Re: DNA Obfuscation Contest
« Reply #11 on: February 19, 2014, 07:15:54 AM »
Here is my current entry, although it is pretty short.  Just let it loose in an area with some veggies.  (tested in 2.46.02beta)

Code: [Select]
start
  ++ *.refeye = *.eye5 = .setaim 300 *.refvelsx .tieval 6 or
 store
 not &
 store
 *.refvelup
 *.eyef dup sgn 50 mult *.eyef >
 add dup sgn store -
 not 7 and store
 1000 mult *.nrg <
 store
end
I am biased neither towards nor against any single mathematical constant.

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Re: DNA Obfuscation Contest
« Reply #12 on: February 19, 2014, 09:25:29 AM »
Shoot. I like winning by default. However, mine kicks their butts in a balanced sim.
To być albo nie być, oto jest ze pytanie

Offline PhiNotPi

  • Bot Builder
  • **
  • Posts: 64
    • View Profile
Re: DNA Obfuscation Contest
« Reply #13 on: February 19, 2014, 05:55:04 PM »
Try and figure out how my bot works.  It's probably not that hard, since it's pretty short.  I did use some different techniques than you.

Here is my attempt at understanding your bot's DNA:

Code: [Select]
cond
start
 .out1 inc
stop

cond
 *.nrg 500 >
start
 5 .repro store
stop

cond
 *.robage 1 =
start
 .deltie inc
 614 .setaim store
stop

cond
 *.eye5 0 >  'eyef and eye5 are the same since focuseye has not changed
start
 *.refxpos *.refypos angle .setaim store
stop

cond
 *.eye5 0 =
start
 50 .sx store
stop

cond
 *.in1 0 >
 *.eye5 0 > and
start
 *.refxpos *.refypos dist -- abs .up store
stop

cond
 *.eye5 9 >  'an error in your code made the *.refeye *.myeye part go unused
start
 .shoot dec
stop
end

I did find one error in your code, which is that 'and' should be 'mult' in the second-to-last line.  Overall, you did a pretty good job.
I am biased neither towards nor against any single mathematical constant.

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 656
    • View Profile
    • OurIllogicalWorld Blog
Re: DNA Obfuscation Contest
« Reply #14 on: January 13, 2015, 01:22:15 PM »
OK. if you want to find a judge to de-confuse the code (to judge who's was hardest)
Go to shadowgod2.

If you don't believe he is the best
Look at Aggressive dwarfs, and try to understand and simplify the code without changing the functionality. He did this, allowing mk2 to be made
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.