Reply to Thread
Results 1 to 4 of 4

Thread: Merry Xmas Settlers!

  1. #1
    Enlightened Sage
    Join Date
    Jan 2012
    Posts
    867
    World
    Northisle

    Merry Xmas Settlers!

    I always make a digital/electronic xmas card rather than sending out paper ones. I modified my card this year to send a special message out to the settlers!



    It was produced using the free POV-Ray raytracer. You can make your own using this file!

    // PoVRay 3.7 Scene File
    #version 3.7;
    global_settings{ assumed_gamma 1.0
    radiosity{}
    }
    background {rgb <0.1,0.1,0.25>*0.25}
    #default{ finish{ ambient 0.0 diffuse 0.9 }}

    // camera ------------------------------------------------------------------
    #declare mclock=clock;

    #declare endflyink=1;
    #declare starttextk=1.3;
    #declare endtextk=18;
    #declare maxk=endtextk-starttextk;
    #declare flyoutstartk=20;
    #declare endk=21;
    #declare rotx=1;
    #declare roty=-1;
    #declare rotz=1;
    #declare rotatenum=maxk*(1-cos((mclock-starttextk)*pi/maxk))/2;

    camera {perspective angle 50
    location <0 , 0 ,-9>
    right x*image_width/image_height
    look_at <0.0 , 0 , 0.0>
    }

    // sun ----------------------------------------------------------------------

    light_source{< 100,100,-200> color rgb 0.5 }

    // sky/snowflakes------------------------------------------------------------------

    #declare n=0;
    #declare maxn=1000; //default: 1000
    #declare R1=seed(0);

    #while(n<maxn)
    sphere{ <0,0,0>, .07
    pigment { colour rgb 1}
    finish { diffuse 0 ambient 0 emission 0.75 }
    no_shadow
    no_radiosity

    translate <(rand(R1)+2)*4,3*sin(4*pi*mclock/21),3*cos(4*pi*mclock/21)>
    rotate<rand(R1)*360,rand(R1)*360,rand(R1)*360>

    }

    #declare n=n+1;
    #end

    //---------------------------------------------------------------------------
    //---------------------------- objects in scene ----------------------------
    //---------------------------------------------------------------------------

    #include "shapes.inc"
    #declare edgenum=0.075;
    #declare startblock=object{ Round_Box(<-2,-1,-1>,<2,1,1>, edgenum , 1) }

    #declare chipsize=1;
    #declare chipover=0.01;
    #declare cutbox=object{ box{<-chipover,-chipover,-chipover>,<chipsize+chipover,chipsize+chipover,chi psize+chipover>} }
    #declare chippiecebox=object{ Round_Box(<-chipsize/2,-chipsize/2,-chipsize/2>,<chipsize/2,chipsize/2,chipsize/2>,0.035,1) }
    #declare chipremove=object{cutbox translate 1000}
    #declare chiparraysize=16;

    #declare chiparray=array[chiparraysize]{
    <-2,-1,-1>,<-1,-1,-1>,<0,-1,-1>,<1,-1,-1>,
    <-2,0,-1>,<-1,0,-1>,<0,0,-1>,<1,0,-1>,

    <-2,-1,0>,<-1,-1,0>,<0,-1,0>,<1,-1,0>,
    <-2,0,0>,<-1,0,0>,<0,0,0>,<1,0,0>
    }

    #macro Sort_Swap_Data(Array, IdxA, IdxB)
    #local Tmp = Array[IdxA];
    #declare Array[IdxA] = Array[IdxB];
    #declare Array[IdxB] = Tmp;
    #end

    #declare n=0;
    #declare R2=seed(1);

    #while(n<10000)
    Sort_Swap_Data(chiparray, floor(rand(R2)*0.9999999*dimension_size(chiparray, 1)), floor(rand(R2)*0.9999999*dimension_size(chiparray, 1)))
    #declare n=n+1;
    #end

    #declare starttimearray=array[2][chiparraysize]{
    {0, 2.5, 4, 4.9, 5.75, 6.5, 7, 7.5, 8.5, 9, 9.75, 11, 12, 13, 14.5, 16}
    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
    }

    #declare n=0;
    #while(n<chiparraysize)
    #declare starttimearray[1][n]=maxk*(1-cos(starttimearray[0][n]*pi/maxk))/2;
    #declare starttimearray[0][n]=starttimearray[0][n]+starttextk;
    #if(mclock>=starttimearray[0][n])
    #declare currentn=n;
    #end
    #declare n=n+1;
    #end

    #if(mclock>=starttimearray[0][0])
    #if(mclock>=starttimearray[0][chiparraysize-1])
    #declare chipremove=object{box{<-3,-2,-2>,<3,2,2>}}
    #else
    #declare chipremove=
    union{
    object{cutbox translate 1000}
    #while(currentn>=0)
    object{cutbox scale 1 translate chiparray[currentn]}
    #declare currentn=currentn-1;
    #end
    }
    #end
    #end



    #declare mainmat=
    material{
    texture{
    normal{bumps 0.15 scale 0.1}

    pigment{ color rgbt <0.65,0.65,1,0.85> }
    finish {
    emission 0.5
    ambient 0.5 // ambient surface reflection color [0.1]
    diffuse 0.6 // amount [0.6]
    brilliance 1.0 // tightness of diffuse illumination [1.0]
    specular 0.99 // amount [0.0]
    roughness 0.00005 // (~1.0..0.0005) (dull->highly polished) [0.05]

    reflection {
    0.25 // minimal reflection value (for variable reflection)
    0.6 // reflection amount (maximum for variable reflection)
    fresnel on // realistic variable reflection
    falloff 1.0 // falloff exponent for variable reflection
    exponent 1.0 // influence surface reflection characteristic
    }
    conserve_energy // more realistic
    } // finish
    }
    interior { ior 1.3 dispersion 1.1}
    }


    #declare simplemat=
    material{
    texture{
    normal{bumps 0.15 scale 0.1}

    pigment{ color rgbt <0.65,0.65,1,0.85> }
    finish {
    emission 0.5
    ambient 0.5 // ambient surface reflection color [0.1]
    // (---diffuse lighting---)
    diffuse 0.6 // amount [0.6]
    brilliance 1.0 // tightness of diffuse illumination [1.0]
    specular 0.99 // amount [0.0]
    roughness 0.00005 // (~1.0..0.0005) (dull->highly polished) [0.05]
    reflection { 0.6 }
    } // finish
    }
    interior { ior 1.3 }//dispersion 1.1}
    }

    #declare mymat1=
    material{texture{
    pigment{colour rgb <0.65, 0.65, 1>}
    finish{emission 0.5}
    }}

    #declare thick=0.2;
    #declare letscale=0.6;

    #declare settlers=
    text { ttf "tramp.ttf", "MERRY XMAS", thick/letscale, 0.0
    scale letscale translate<-1.9,0.2,0.5> }

    #declare letscale=0.76;
    #declare xmas= text { ttf "tramp.ttf", "SETTLERS", thick/letscale, 0.0
    scale letscale translate<-1.85,-0.6,-0.9> }

    object{
    merge{
    difference{
    object{startblock}
    object{chipremove}
    }// end diff
    object{settlers}
    object{xmas}
    }//end merge
    material{mainmat}

    #if(clock<endflyink)
    translate 6.6*x*(1-clock/endflyink)
    #end

    #if(clock>=starttextk & clock<=endtextk)
    rotate <rotatenum*360*rotx/maxk,rotatenum*360*roty/maxk,rotatenum*360*rotz/maxk>
    #end

    #if(clock>=flyoutstartk)
    translate -x*6.5*(clock-flyoutstartk)/(endk-flyoutstartk)
    #end
    }

    #declare n=0;
    #while(n<chiparraysize)

    #declare R1=seed(n+10);
    #declare exps1=1+1*rand(R1); //speed of pieces
    #declare exps1a=1.75; //variation between pieces
    #declare exps2=0.8+.08*rand(R1); //speed of centre of mass
    #declare exps3=1+1*rand(R1); //speed of rotation of mass
    #declare exps4=5+5*rand(R1); //speed of rotation of pieces
    #declare expd=2+2*rand(R1); //number of clocks explosion lasts

    #declare ntime=starttimearray[0][n];
    #declare noffset=starttimearray[1][n];

    #declare randdirection=vrotate(vnormalize(chiparray[n]),<noffset*360*rotx/maxk,noffset*360*roty/maxk,noffset*360*rotz/maxk>);

    #if(mclock>=ntime & mclock-ntime<=expd)

    union{
    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate <-chipsize/4,-chipsize/4,-chipsize/4>
    translate <-chipsize/4,-chipsize/4,-chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate < chipsize/4,-chipsize/4,-chipsize/4>
    translate < chipsize/4,-chipsize/4,-chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate <-chipsize/4, chipsize/4,-chipsize/4>
    translate <-chipsize/4, chipsize/4,-chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate < chipsize/4, chipsize/4,-chipsize/4>
    translate < chipsize/4, chipsize/4,-chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate <-chipsize/4,-chipsize/4, chipsize/4>
    translate <-chipsize/4,-chipsize/4, chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate < chipsize/4,-chipsize/4, chipsize/4>
    translate < chipsize/4,-chipsize/4, chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate <-chipsize/4, chipsize/4, chipsize/4>
    translate <-chipsize/4, chipsize/4, chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }

    object{chippiecebox scale 0.5-0.499*(mclock-ntime)/expd rotate <90*rand(R1),90*rand(R1),90*rand(R1)>*(mclock-ntime)*exps4/expd translate < chipsize/4, chipsize/4, chipsize/4>
    translate < chipsize/4, chipsize/4, chipsize/4>*(mclock-ntime)*(exps1+exps1a*rand(R1))
    }
    material{mymat1}
    translate <chipsize/2,chipsize/2,chipsize/2>+chiparray[n]
    rotate<noffset*360*rotx/maxk,noffset*360*roty/maxk,noffset*360*rotz/maxk>
    translate randdirection*(mclock-ntime)*exps2

    }

    #end //end if

    #declare n=n+1;
    #end //end while

    Are you a casual or part-time player? Don't want a chatty guild or expect lots of support?
    And do you want the chance to earn a few guild coins but don't want to be forced to do guild quests on a daily basis?

    Then join GQS (Guild Quests (STILL!) Suck) on Northisle!
    Mail Gerontius here or in game for an invite.

  2. #2
    Ruler of the Land Thejollyone's Avatar
    Join Date
    Jul 2012
    Location
    in absentia
    Posts
    2,072
    World
    Sandycove
    Happy Xmas smart ass x

  3. #3
    Pathfinder
    Join Date
    May 2013
    Posts
    1
    World
    Newfoundland
    Nice,

    where is tramp.ttf path defined, parse error

  4. #4
    Enlightened Sage
    Join Date
    Jan 2012
    Posts
    867
    World
    Northisle
    Copy the font (probably from Windows directory) into your include directory or change it to a different font if you don't have tramp. I only used that font because it had nice curves that could have been chipped from ice.

    Are you a casual or part-time player? Don't want a chatty guild or expect lots of support?
    And do you want the chance to earn a few guild coins but don't want to be forced to do guild quests on a daily basis?

    Then join GQS (Guild Quests (STILL!) Suck) on Northisle!
    Mail Gerontius here or in game for an invite.

Reply to Thread

Similar Threads

  1. Merry Xmas Settlers & BB Team!
    By quartex in forum Creative Area
    Replies: 2
    Last Post: 24.12.15, 11:12
  2. Merry Christmas
    By Dragonsmile in forum Creative Area
    Replies: 0
    Last Post: 04.01.15, 19:12
  3. Merry Xmas and a Happy New Year
    By needtoplay in forum Creative Area
    Replies: 0
    Last Post: 25.12.14, 12:22
  4. Merry Christmas The Settlers!
    By quartex in forum Creative Area
    Replies: 0
    Last Post: 24.12.14, 18:25
  5. Merry Christmas
    By lulu10093 in forum General Discussion
    Replies: 4
    Last Post: 24.12.13, 20:27

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Ubisoft uses cookies to ensure that you get the best experience on our websites. By continuing to use this site you agree to accept these cookies. More info on our privacy.