New games every week!
Meanwhile... Blog
14th December 2022
Not much progress on the puzzles, yesterday, but I did make a planet, so that's ok.

-=-=-

It's not much, and is in reality just a very simple redrawing of a bunch of circles, but the result is really quite nice.
Of course, it's also far too slow to do anything with, other than render it and look at it, but .. You know.. Something to do!!



Would I use this technique again? Sure. Though I'm not really sure in what context.
Scale it up, though, and you have a lovely world to wander around in.
In fact, if scaled up in a decent way, you might be able to get it running at a better speed, since you wouldn't be drawing all 320x320 (or larger) areas at a time.
Focus on a smaller area, and you could draw it with larger tiles, or something.
..
It's doable.
Maybe!

(Also, would be infinitely quicker if GotoJSE's speed issues weren't in the way!)


// Landscape // by Jayenkai // Created 2022/12/13 // GotoJSE.com/dhBQxhFv.BAS // Settings Rez=320 // Resolution of Landscape. This can safely go up to 1024, but .. Gosh it gets slow!! WorldHue=0 // Changes Colour!! Bumpiness=1 // How bumpy shit gets! Graphics 1920,1080,2 if Rez>ScreenWidth() then Rez=ScreenWidth() if Rez>ScreenHeight() then Rez=ScreenHeight() CLS;ResetDraw Process=128/Rez Bumpiness=(Bumpiness*Process) Dim Map(Rez,Rez,10) Highest=0 Lowest=255 CLS;ResetDraw SetAlpha 0.1 for hill=0 to 256 SetSize Rnd(2,2) Light Rnd(0,Rez),Rnd(0,Rez),Rnd(0,Rez*0.25),Rnd(0.1,0.4) next Flip c=0 for x=0 to Rez for y=0 to Rez Map(x,y,0)=ReadPixel(x,y,0) if Map(x,y,0)>Highest then Highest=Map(x,y,0) if Map(x,y,0)<Lowest then Lowest=Map(x,y,0) next c=c+1 if c>Rez/64 c=0 SetAlpha 0.25 Rect x-4,0,1,Rez Flip endif next Water=(((Highest-Lowest)*Rnd(0.1,0.3))+Lowest)/Highest Ice=Rnd(0.8,1) ResetDraw InkRot WorldHue+240,0.7,0.6 CLS GetRed,GetGreen,GetBlue w=ScreenWidth()/(Rez*0.8) h=ScreenHeight()/Rez SetWidth w+1 for x=0 to Rez for y=0 to Rez m=Map(x,y,0)/Highest InkRot 0,0,m*0.7:SetAlpha 1 if m<Rnd(0.8,1)*Ice then InkRot (WorldHue+Rnd(115,125)) mod 360,1-Rnd(m),m*Rnd(0.5,0.8) bx=(x*w)-y*h*0.3 by=(ScreenHeight()*0.1)+(y*h) tx=bx ty=by-(m*Rez*Bumpiness) if m<Water*Rnd(1,1.3) then InkRot (WorldHue+Rnd(40,70)) mod 360,1-Rnd(m*0.25),m*Rnd(1,1.2) if m<Water then InkRot (WorldHue+230) mod 360,0.8,0.4:ty=by-(Water*Rez*Bumpiness) by=by+ScreenHeight()*0.5 Line tx,ty,bx,by next if x mod 6==0 then flip next End

Views 73, Upvotes 16  
Daily Blog , Landscape
New games every week!
Site credits : If you can see it, Jayenkai did it.
(c) Jayenkai 2023 and onwards, RSS feed 81

Blog - Meanwhile... - AGameAWeek