Welcome to all.
Below are a few progs that create dazzling eye candy. No doubt there are far easier methods of achieving what Ive included here - if so show me as I learning all the time :)
[attachment deleted by admin]
The one above creates a simple wobbly vortex.
This next one produces a spiral that slowly unravels itself.
[attachment deleted by admin]
This next one generates a pattern made out of lines - press space to reveal a new one.
[attachment deleted by admin]
Using drawrect, this next sample displays a screen size explosion in multicolour simplicity.
It could also pass as a primitve psychedelic show too. :)
[attachment deleted by admin]
very nice. You need to set the project/options "explicit declaratinos" on, because your last example had a typo... ;)
Good job. Nothing like a bit of smash coding. :zzz:
Well, that wasted 15 minutes of my day!
Couldn't resist tweaking the values in your code, to see what changed! :S
Very fun stuff, and in so little code. :good:
Fun. :good:
I added a poly to the spiral code. Very psychedelic.
GLOBAL change,x,y,aa,col,ca,mel,xo,yo
change=20.0 // this excites the dots on screen
WHILE NOT FALSE
FOR aa=1 TO 12996 STEP change
INC ca, 0.1
mel = MOD(aa+ca,12996)
SELECT mel
CASE 1 TO 2166
col = RGB(255,INTEGER(mel/8.494117647058824),0)
CASE 2167 TO 4332
col = RGB(255-(mel-2166)/8.494117647058824, 255,0)
CASE 4333 TO 6498
col = RGB(0, 255, (mel-4332)/8.494117647058824)
CASE 6499 TO 8664
col = RGB(0, 255-(mel-6495)/8.494117647058824, 255)
CASE 8665 TO 10830
col = RGB((mel-8664)/8.494117647058824, 0, 255)
CASE 10831 TO 12996
col = RGB(255, 0, 255-(mel-10830)/8.494117647058824)
DEFAULT
col = RGB(128,128,128)
ENDSELECT
x=COS(aa)/36
y=SIN(aa)/36
SMOOTHSHADING TRUE
STARTPOLY -1, 0
ALPHAMODE 0.1
POLYVECTOR 322+y*aa,243+x*aa, 0, 0, col
POLYVECTOR 322+y*aa,243+xo*aa, 0, 10, col
POLYVECTOR 322+yo*aa,243+xo*aa, 10, 10, col
POLYVECTOR 323+yo*aa,243+x*aa, 10, 0, col
ALPHAMODE 0.1
ENDPOLY
ALPHAMODE 0.5
DRAWLINE 323+y*aa,243+x*aa, 323+yo*aa,243+xo*aa, col
DRAWRECT 322+y*aa,242+x*aa,3,3, RGB(196,196,196)
xo = x
yo = y
NEXT
INC change, 0.0333 // let the fun begin!
SHOWSCREEN
//KEYWAIT
WEND // infinity in action!
Thats amazing! I love it.
Now youve got me tinkering with your code :D Its the best way to learn new tricks.
Thanks.
...and heres one I prepared earlier.
[attachment deleted by admin]
Good going! I especially like what you've done with the colour gradients.
Heres a very simple looking bat and ball game with bricks that sway - yes i know its boring :). The bricks could easily become aliens and the bat a space ship. My next little bit of code will be a PAC MAN clone using much of the above to produce a wacky but fun experience :D
Use left and right cursors to move the bat.
[attachment deleted by admin]
Hi these examples are very nice... thanks for sharing...
I think this are the new Polibius :D :D
I've uploaded a video of your spiral thingy code with added polyvectors and trailbacks. Click here to see it (http://www.youtube.com/watch?v=Dwp37rH6nlg). :)
gasp cogh :O
looks wondefull, and that Slaygon tune is just awesome...have been thinking of this tune for a featured zombi apocalypse movie for quite some time.
Great code you guys, I´m afraid to check it and feel naive... :(
Quote from: Wampus on 2012-Feb-28
I've uploaded a video of your spiral thingy code with added polyvectors and trailbacks. Click here to see it (http://www.youtube.com/watch?v=Dwp37rH6nlg). :)
I like that a lot, even though it wants me to throw in the towel programming wise :sick:
Lee
Erico and Fuzzy, it might look lovely but I'm not some uber-coder or something. It was an accident. I played with parameters without thinking much about it and that was the result. :-[
Attached is the code so you can see how simple it actually is.
[EDIT: And yeah, that Slaygon track is awesome!]
[attachment deleted by admin]
Thanks for posting the source, I am building up quite a nice collection now =D
I am basically using them for learning purposes in how GLB works or how to achieve something in GLB. Types (as in functions in types etc) were one of my biggest problems but thanks to source posted on this forum & looking at how others have done it & why they did it that way has helped tremendously.
I started programming games on a ZX80 all the way up to an Amiga but when I switched to PC's many years ago writing tools/utils/apps basically took over & getting my mind back in track for games programming is taking a while (prob due to age :D) but I will get there.
There are a few projects that I have done which have been halted/abandoned due to losing track or going in the wrong direction but all of them have served a purpose & have learnt a lot from them so they wasn't a waste of time.
Lee
I spare a :coke: to I love bricks, you around?
I´m still afraid of checking the code hehe, better finish up my game first :-[
Quote from: fuzzy70 on 2012-Feb-28
There are a few projects that I have done which have been halted/abandoned due to losing track or going in the wrong direction but all of them have served a purpose & have learnt a lot from them so they wasn't a waste of time.
me too, I wish I had them all, but unfortunantly, only a couple amiga games I did still survive, in code and aminet, the rest is lost :(
My mom kept some of my HQ books (ones me and my brother wrote from scratch), would pay fortunes for the lost ones + my lost games. Hint to nowadays dads...keep all your son´s codes!
Quote from: Wampus on 2012-Feb-28
I've uploaded a video of your spiral thingy code with added polyvectors and trailbacks. Click here to see it (http://www.youtube.com/watch?v=Dwp37rH6nlg). :)
Wow, that is awfully nice. http://www.glbasic.com/forum/Smileys/glbasic/good.gif
The PacMan game is almost complete. Its called Scape Ghost, you play a rogue spirit addicted to munching on pills :D The maze ripples along as an animated background mutates.
Love the DotBall prog - welldone!
Heres two more progs to tinker with.
[attachment deleted by admin]
Some pretty nice effects there :)
Hi folks, wow this place looks bare and full of cobwebs.
Theres a few lines of code below that draw gradient Circles with hope that someone replies and sweeps up the webs :) .... erm....cough...bring a brush.
(Since January of this year Ive been infused with creating a Sprite Designer for GLBasic. Its come on well and is almost complete.)
Heres an example of how you can to draw colour/gradient circles. Press a Key to animate.
GLOBAL x , y , radius , r , g , b , size , col
radius = 50
////
/////
// Da Loop
/////
////
WHILE TRUE // PRESS A KEY TO CONTINUE
FOR loop = 1 TO 20+RND(10)
x= RND(800) // New Xpos
y= RND(800) // not used
FOR a = 1 TO 90
random=RND(255) // ot used
r = a * 2
g = a + 1
b = g + 1
col=RGB(r,g,b)
DRAWLINE x-COS(a)*radius, size+SIN(a)*radius, x,size+SIN(a)*radius, col
DRAWLINE x+COS(a)*radius, size+SIN(a)*radius, x,size+SIN(a)*radius, col
DRAWLINE x+COS(a)*radius, size-SIN(a)*radius, x,size-SIN(a)*radius, col
DRAWLINE x-COS(a)*radius, size-SIN(a)*radius, x,size-SIN(a)*radius, col
NEXT
//size=RND(700)
x=RND(700)
radius = 10 + RND(50) // New size to shape
INC size ; IF size > 600 THEN size = 0 // Primitive scroll
NEXT
SHOWSCREEN
KEYWAIT
WEND
...
I hope it helps others with thier projects.
To achieve a central, outward gradient all you need to do is shrink the circle around its x & Y pos. You then increase the size of the circle by 1 and alter the RGB value to suit.
Have fun and I hope I helped someone with their needs.
Just tried! Great!
You know...on another thread, we were discussing about dinamic terrains with textures.
Now I see the results of your code, and it just inspired me that such method, could well be used to try and attempt that.
Really great! :good:
Hey Erico, I`m a 2D guy pulling all I can out of the hat. Its good news to know that Ive helped you. I look forward to seeing what you can display.
Im a veteran of the Amiga Days....yawn :)
Im currently coding a Sprite Editor/Creator and this previous code of mine was a idea for filled/non filled circles.
Glad it helped you buddy.
Thanks, the terrain generation is actually needed by another forum´s chap I was trying to help, but this sure really inspires.
I´m eager to see what you have going on the sprite editor/creator line of app.
:good:
Well so far I have completed the following-
Draw
Line
Box (filled/outline)
Circle/Elipse (filled/outline)
Fill - one colour / gradient fill
flood fill(every target colour)
Shapes - vector images from my idea of what can help quickly to outline your idea
Flip - x & Y
Rotate
scroll - wrap around/null repeat
Twist - use the scroll buttons to slowly flip a sprite - like a spinning coin or power up? etc
48 colours to play with - Thats a challenge but better than having 100s of colours to get lost with.
I had started with 32x32/64x64/128x128 & now leave it at 64x64.
If you need to crop this to something. well thats in place for version 2.
Built in animator.
Built in canvass - draw them on screen and see how they look - you can cut a group out and save them as oe sprite.
Colour - alter RGB, darken,brighten
Cut - make a new image that draws on screen
paste - draw it
Copy - keep an image - to drop into a new sprite back
Save/Load
Undo / ....Why redo?
Im learning new tricks whilst coding this and toy with such ideas to implement them into version 1.
I also then see - I can improve this or that - etc.
Such is the life of a coder or creator :)
That list is quite promising!
I´m particularly found of:
Shapes - vector images from my idea of what can help quickly to outline your idea
Built in animator.
Built in canvass - draw them on screen and see how they look - you can cut a group out and save them as oe sprite.
Things from some other places I find interesting:
light table for animations
stencil for the outlines, easier to color something?
I´m not really sure ´redo´ is needed, like if you have a spare screen or an animation set, you can use other frames to test variations. IMO
Again, it feels quite promising, how long till you believe it will be ready to ship?
Heres some filled circle eye candy.
GLOBAL x , y , radius , r , g , b , size , col, num, radius1, p, count
num=100
radius = 0
radius1 = 10
x=100
y=100
////
/////
// Da Loop
/////
////
WHILE TRUE
FOR loop = 1 TO num ; r = 70 ; g = 60 ; b = 50
FOR a = 1 TO 360 ; r=r+p ; b=b+p ; g=g+p
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=202 ; num=100 ; radius=0 ; p=0
FOR loop = 1 TO num ; r = 10/num ; g = 10/num ; b = 10/num
FOR a = 1 TO 360 ; r=r+p/a*b ; b=b+p/a+g ; g=g+p/a
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=302 ; num=100 ; radius=0 ; p=100
FOR loop = 1 TO num ; r = 30+loop*num/2 ; g = 40+loop*num/3 ; b = 200+loop*num/4
FOR a = 1 TO 360 ; r=r+p*loop ; b=b+p*loop ; g=g+p*loop
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; DEC p ; NEXT
x=402 ; num=100 ; radius=0 ; p=100
FOR loop = 1 TO num ; r = 250 ; g = 100 ; b = 255
FOR a = 1 TO 180 ; r=r-1 ; b=b-0.1 ; g=g+0.1
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
DRAWRECT x-COS(a)*radius, y-SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=502 ; num=100 ; radius=0 ; p=100
FOR loop = 1 TO num ; r = 20 ; g = 22 ; b = 20
FOR a = 1 TO 360 ; r=r*p ; b=b+p ; g=g+p
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=100 ; num=100 ; radius=0 ; p=100 ; y=200
FOR loop = 1 TO num ; r = 20 ; g = 22 ; b = 20
FOR a = 1 TO 360 ; r=r*p ; b=b-p ; g=g+p/a
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=202 ; num=100 ; radius=0 ; p=100
FOR loop = 1 TO num ; r = 20+num ; g = 22*num ; b = 20*num
FOR a = 1 TO 360 //; r=r+a ; b=b+a ; g=g+b
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=302 ; num=100 ; radius=0 ; p=100
FOR loop = 1 TO num ; r = 20-num ; g = 44*num ; b = 34/num
FOR a = 1 TO 360 ; r=r+a ; g=g+b
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=402 ; num=100 ; radius=0 ; p=10
FOR loop = 1 TO num ; r = loop ; g = loop/2 ; b = loop/2
FOR a = 1 TO 360
col=RGB(r,g,b) ; DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; INC p ; NEXT
x=502 ; num=100 ; radius=0 ; count=0
FOR loop = 1 TO num ; r = 255+loop ; g = 100+loop ; b = loop/2
FOR a = 1 TO 360 ; INC count ; IF count=2 THEN count=0
IF count=1 THEN col=RGB(r,g,b) ; IF count=0 THEN col=RGB(0,0,0)
DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; NEXT
x=100 ; num=100 ; radius=0 ; count=0 ; y=300
FOR loop = 1 TO num ; r = 100+loop ; g = 200+loop ; b = 100+loop/2
FOR a = 0 TO 360 STEP 5; INC count ; IF count=3 THEN count=0
IF count=1 THEN col=RGB(r,g,b) ; IF count=0 THEN col=RGB(r/2,g/2,b/2) ; IF count=2 THEN col=RGB(r*2,g*2,b*2)
DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; NEXT
x=202 ; num=100 ; radius=0 ; count=0
FOR loop = 1 TO num ; r = 255 ; g = 100 ; b = 0
FOR a = 0 TO 360 ; INC count ; IF count=3 THEN count=0
IF count=1 THEN col=RGB(r,g,b) ; IF count=0 THEN col=RGB(r/2,g/2,b/2) ; IF count=2 THEN col=RGB(r*2,g*2,b*2)
DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 3, 3, col
NEXT ; INC radius ; DEC num ; NEXT
x=302 ; num=100 ; radius=0 ; count=1 ; p=300
FOR loop = 1 TO num ; r = 255 ; g = 255 ; b = 255
FOR a = 0 TO 180 STEP count ; r=r+a/num ; g=g+g/num ; INC count ; IF count=3 THEN count=1
col=RGB(r,g,b)
DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 2, 2, col
DRAWRECT x-COS(a)*radius, y-SIN(a)*radius, 2, 2, col
NEXT ; INC radius ; DEC num ; DEC p,10 ; NEXT
x=402 ; num=100 ; radius=0 ; count=1 ; p=300
FOR loop = 1 TO num ; r = 100 ; g = 0 ; b = 100
FOR a = 0 TO 180 STEP count ; r=r+a/num ; g=g+g/num ; b=b+p/num ; INC count ; IF count=3 THEN count=1
col=RGB(r,g,b)
DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 2, 2, col
DRAWRECT x-COS(a)*radius, y-SIN(a)*radius, 2, 2, col
NEXT ; INC radius ; DEC num ; DEC p,10 ; NEXT
x=502 ; num=100 ; radius=0 ; count=1 ; p=300
FOR loop = 1 TO num ; r = 100 ; g = 100 ; b = 10
FOR a = 0 TO 90 STEP count ; r=r+a/num ; g=g+g/num ; b=b+p/num ; INC count ; IF count=3 THEN count=1
col=RGB(r,g,b)
DRAWRECT x-COS(a)*radius, y+SIN(a)*radius, 2, 2, col
DRAWRECT x-COS(a)*radius, y-SIN(a)*radius, 2, 2, col
DRAWRECT x+COS(a)*radius, y-SIN(a)*radius, 2, 2, col
DRAWRECT x+COS(a)*radius, y+SIN(a)*radius, 2, 2, col
NEXT ; INC radius ; DEC num ; DEC p,10 ; NEXT
SHOWSCREEN
KEYWAIT
WEND
Edit: Code tags are your friends /Moru :-)
Im posting the "PAC MAN" code here that I lost interest with. There are a million such clones out there and this slowly sank into my mind. So, I changed a few things, the ghosts see through walls (C`mon, Ghosts cant see through solid matter?) and home in on you - resulting in a very difficult challenge. I had planned a maze that took skill to master without loosing lifes but time/life/another clone of it etc put me off.
You will find in this code a prog that allows you to explore the maze with moving ghosts that hunt you. Erm, thats all I`m afraid. Ive substitued LOADSPRITE with bland blocks.
Theres no pro code here folks, just a foundation I typed up over several evenings to get things running.
If any of you admire it, explore it and make/add changes.
///////
The code
//////
// --------------------------------- //
// Project: PACMAN
// Start: Friday, February 17, 2012
// IDE Version: 10.244
SETTRANSPARENCY RGB(0,0,0) ; SETSCREEN 640,400,0
LOADFONT "smalfont.bmp",1
SETFONT 1
GLOBAL a,b,col ; c=10 ; col=RGB(255,255,20)
//////////////////////////
//// Title Screen
//////////////////////////
WHILE KEY(57)=FALSE
FOR a=0 TO 200
DRAWLINE 0,a-1,640,a-1,RGB(col+10/2+b,col+10+b,col+a+b)
DRAWLINE 0,400-a,640,400-a,RGB(col+10/2+b,col+10+b,col+a+b)
INC b,1
IF b=20 THEN b=0
NEXT
PRINT "SCAPEGHOST", 235,10
PRINT "After Eons of wandering aimlessly ",25,30
PRINT "around mazes, you decide you want out!",2,50
PRINT "By eating the Pills scattered around",15,70
PRINT "your shadow of a body will find a new",8,90
PRINT "existence within the world of man...",15,110
//// Yawn...not another fecking Pac Man Clone :)
PRINT "<SPACE>",250,300
//INC nextpage ; IF nextpage=500 THEN nextpage=0 ; GOSUB highscore
SHOWSCREEN
WEND
//// Maze stuff
ripple1=5 ; ripple2=20 ; count=1 ; syncgrafix1=10 ; wallsize=10 ; syncgrafix=5 ; effect1=10 ; count=0 ; effect=6
DIM map[31][17] ; GOSUB maze
score=0 ; t$="000"+score ; mdir=1 ; ans=0 ; anf=3
//// Player stuff
ghostspeed=8 ; playerspeed=5 ; px=11 ; py=7
game=1
animovementdelayount=1
ans=0 ; anf=3
GOSUB grafix
GOSUB setupghosts
///////////////////////////////////////////////
////////////////////////////////////////////////
/// MAIN LOOP
////////////////////////////////////////////////
///////////////////////////////////////////////
WHILE NOT FALSE
GOSUB domazebackground
GOSUB drawmaze
GOSUB movemuncher // & ghosts via a delay
GOSUB stats
SHOWSCREEN
WEND
////Routines
SUB drawmaze:
INC count,1
FOR y=0 TO 16
FOR x=0 TO 29
xx=x*wallsize+SIN(count+y*ripple1)*effect1 // For the walls
yy=y*wallsize+SIN(count+x*ripple1)*20 // For the walls
xxx=px*wallsize+SIN(count+py*ripple1)*effect1 // To Clip player and spooks to maze
yyy=py*wallsize+SIN(count+px*ripple1)*20 // Ditto
IF map[x][y]=-1 // -1=no pill, 0=pill
DRAWSPRITE 5,xx*2,yy*2
ENDIF
IF map[x][y]=0 // Draw pill
DRAWSPRITE 0,xx*2,yy*2
ENDIF
IF map[x][y]=1 // Maze Walls
col=RGB(COS(count+y*2+x*2.5)*100+100,SIN(count+y*5)*100+100,SIN(count+x*5)*100+100)
DRAWRECT xx*2+effect,yy*2+effect,wallsize,wallsize,RGB(COS(count+y*2)*100+100,SIN(count+y*5)*127+127,SIN(count+x*5)*127+127)
ENDIF
//DRAWANIM 3,image,xxx*2,yyy*2 // Draw Player
DRAWSPRITE 3,xxx*2,yyy*2
FOR a=0 TO 3
IF ghost[a].x=x AND ghost[a].y=y // Draw Spooks
DRAWSPRITE 4,xx*2,yy*2
ENDIF
NEXT
NEXT
NEXT
ENDSUB
SUB movemuncher:
IF KEY(203)
dirx=-1 ; diry=0
ENDIF
IF KEY(205)
diry=0 ; dirx=1
ENDIF
IF KEY(200)
diry=-1 ; dirx=0
ENDIF
IF KEY(208)
diry=1 ; dirx=0
ENDIF
////Check Lefy
IF dirx=-1 AND map[INTEGER(px-1)][INTEGER(py)]<>1
INC movementdelay ; IF movementdelay > playerspeed THEN DEC px ; GOSUB moveghosts
IF movementdelay = playerspeed + 1
dirx=0 ; movementdelay=0
ENDIF
ENDIF
////Check Right
IF dirx=1 AND map[INTEGER(px+1)][INTEGER(py)]<>1
INC movementdelay ; IF movementdelay > playerspeed THEN INC px ; GOSUB moveghosts
IF movementdelay = playerspeed + 1
dirx=0 ; movementdelay=0
ENDIF
ENDIF
////Check Down
IF diry=1 AND map[INTEGER(px)][INTEGER(py+1)]<>1
INC movementdelay ; IF movementdelay > playerspeed THEN INC py ; GOSUB moveghosts
IF movementdelay = playerspeed + 1
diry=0 ; movementdelay=0
ENDIF
ENDIF
////Check Up
IF diry=-1 AND map[INTEGER(px)][INTEGER(py-1)]<>1
INC movementdelay ; IF movementdelay > playerspeed THEN DEC py ; GOSUB moveghosts
IF movementdelay = playerspeed + 1
diry=0 ; movementdelay=0
ENDIF
ENDIF
ENDSUB
SUB moveghosts:
INC ghostdelay ; IF ghostdelay=ghostspeed+1 THEN ghostdelay=0
IF ghostdelay<ghostspeed
GOTO movethespooks
ENDIF
IF ghostdelay=ghostspeed
FOR a=0 TO 3
IF ghost[a].x<INTEGER(px) AND map[ghost[a].x+1][ghost[a].y]=0
ghost[a].x=ghost[a].x+1
ENDIF
IF ghost[a].x>INTEGER(px) AND map[ghost[a].x-1][ghost[a].y]=0
ghost[a].x=ghost[a].x-1
ENDIF
IF ghost[a].y>INTEGER(py) AND map[ghost[a].x][ghost[a].y-1]=0
ghost[a].y=ghost[a].y-1
ENDIF
IF ghost[a].y<INTEGER(py) AND map[ghost[a].x][ghost[a].y+1]=0
ghost[a].y=ghost[a].y+1
ENDIF
NEXT
ENDIF
movethespooks: // via the drawmaze
ENDSUB// set up ghosts
SUB setupghosts:
TYPE spook
x ; y ; im ; spooked ; dead
ENDTYPE
GLOBAL ghost[] AS spook
DIM ghost[4]
RESTORE ghostdata
// Set up xpos,ypos,anim image range, directionx/y, spooked(you ate the power pill,dead
FOR a=0 TO 3
READ aa,b,c,d,e
ghost[a].x=aa ; ghost[a].y=b ; ghost[a].im=c ; ghost[a].spooked=d ; ghost[a].dead=e
NEXT
STARTDATA ghostdata:
DATA 7,2,0,0,0
DATA 12,4,4,0,0
DATA 10,9,8,1,0
DATA 1,8,12,1,0
ENDDATA
ENDSUB
SUB stats:
// place checks here on maths
ENDSUB
SUB maze:
RESTORE screen
FOR y=0 TO 16
FOR x=0 TO 29
READ a
map[x][y]=a
IF a=5
map[x][y]=1
ENDIF
NEXT ; NEXT
STARTDATA screen:
DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
DATA 1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,1,1,1,0,1,1,1,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,1,0,0,0,1,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,1,1,1,0,1,1,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,0,0,0,1,0,0,0,-1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,1,1,1,0,1,2,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,1,0,0,0,0,1,1,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1
DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
ENDDATA
ENDSUB
SUB domazebackground:
FOR a=0 TO 499
IF spot[a].y<300
DRAWRECT spot[a].x,spot[a].y,spot[a].zz,spot[a].zz,RGB(0,0,a)
ELSE
DRAWRECT spot[a].x,spot[a].y,spot[a].zz,spot[a].zz,RGB(0,10,a/10)
ENDIF
INC spot[a].zz,1
IF spot[a].zz>20
spot[a].zz=RND(5)
spot[a].x=RND(639)
spot[a].y=RND(399)
ENDIF
NEXT
ENDSUB
SUB grafix:
//LOADSPRITE "dot.bmp", 0
DRAWRECT 0,0,2,2,RGB(255,255,255)
GRABSPRITE 0,0,0,2,2
//LOADANIM "wall.b
//LOADANIM "player.bmp",3,22
DRAWRECT 0,0,22,23,RGB(255,255,0)
GRABSPRITE 3,0,0,22,23 // player
//LOADANIM "ghosts.bmp",4,24,24
DRAWRECT 0,0,22,23,RGB(0,255,255)
GRABSPRITE 4,0,0,22,23
//LOADSPRITE "nodot.bmp", 5
//LOADANIM "score.bmp",6,162,33
//Background
TYPE dot ; x ; y ; sx ; sy ; zz ; ENDTYPE
GLOBAL spot[] AS dot
DIM spot[1000]
FOR a=0 TO 999
spot[a].x=RND(639) ; spot[a].y=RND(399)
IF RND(1)=0
spot[a].sx=2
ELSE
spot[a].sx=-2
ENDIF
IF RND(1)=0
spot[a].sy=-2
ELSE
spot[a].sy=2
ENDIF
spot[a].zz=RND(5)
NEXT
ENDSUB
I will sure check this out later.
That data statement there gives me itches as I use similar stuff to draw solaris map(board game) in a way that editing it creates newer maps.I took me ages to understand DATA capabilities back on the COCO days, so I´m quite found of its uses.
Don´t let down because of other/similar games, I´m sure you can beat others attempts or even better, add to the pot.
One successful ´pac man´ always open doors and call attention to other versions too.
You could make into a ROGUE LIKE PACMAN... such a game would make my day :booze:
But I´m just being cheerishable, I certainly understand the life/work/things/other ideas detracting us to pursue one idea.
I think forum *love*ed up your code a bit, can you put it in code blocks plz, so your formation is saved?
@I love my Brick:
PLS use the CODETAG!!!
the button with the "#", thx!
Quote from: erico on 2012-May-18
I will sure check this out later.
That data statement there gives me itches as I use similar stuff to draw solaris map(board game) in a way that editing it creates newer maps.I took me ages to understand DATA capabilities back on the COCO days, so I´m quite found of its uses.
Don´t let down because of other/similar games, I´m sure you can beat others attempts or even better, add to the pot.
One successful ´pac man´ always open doors and call attention to other versions too.
You could make into a ROGUE LIKE PACMAN... such a game would make my day :booze:
But I´m just being cheerishable, I certainly understand the life/work/things/other ideas detracting us to pursue one idea.
Thanks buddy.
Quote from: Schranz0r on 2012-May-18
@I love my Brick:
PLS use the CODETAG!!!
the button with the "#", thx!
Ouch. Erm, really sorry to have caused you distress. By the way, what does @ mean before my name?
Please dont shout as that is rude.
Quote from: erico on 2012-May-15
That list is quite promising!
I´m particularly found of:
Shapes - vector images from my idea of what can help quickly to outline your idea
Built in animator.
Built in canvass - draw them on screen and see how they look - you can cut a group out and save them as oe sprite.
Things from some other places I find interesting:
light table for animations
stencil for the outlines, easier to color something?
I´m not really sure ´redo´ is needed, like if you have a spare screen or an animation set, you can use other frames to test variations. IMO
Again, it feels quite promising, how long till you believe it will be ready to ship?
Thanks for the input.
((All the routines I have described work. The fill routine was a right bugger though and held me back many evenings in coding it. Setpixel can be very slow when measured by Getpixel....I found a work around that reduced my previous idea and allowed a fast fill inside a polygon. I was left with a bugbear about GLBasic.))
Right now Im adding new ideas that have sprung from the development of this prog.
I try it out on my Son and Daughter and they tell me what needs to be added. (My Daughter told me to add stencils - pacman,invader,coin,diamond etc) My Son just loved it and really liked it when he saved his images and then printed them on screen.
So, I`m working with my kids on this one & sometimes they think out of the box and surprise me by thier idea.
Quote from: I love my Brick on 2012-May-20
So, I`m working with my kids on this one & sometimes they think out of the box and surprise me by thier idea.
Best input in the universe! :good:
Great words!
Children love & embrace the world whilst we adults worry about it & the mistakes we make.
Ah well, back to my brick :) Just glad Im not a real priest - feck, that must be an even harder life. :)
I want this thread with lotsa of screenshots!
Sure, I agree and that will happen. Just a few more tweaks and improvements to go - almost there. The more you complete something the more you find a way to stream line other areas of your code. I hate to say this but, Math is fun! If my younger self could see me now :D
I will remove the colour picker sound effect and all others before I submit the prog here. The kids love the sound effects but us adults may find them distracting.
Quote from: I love my Brick on 2012-May-18
Im posting the "PAC MAN" code here that I lost interest with.
I've compiled it, nice stuff!
(http://dl.dropbox.com/u/292449/glbasic/img/pacman.jpg)
I've assembled the first few codesnippets into one bundle.
Also I've shot some screenshots:
Tunnel (http://dl.dropbox.com/u/292449/glbasic/img/tunnel.jpg)
Spiral1 (http://dl.dropbox.com/u/292449/glbasic/img/spiral1.jpg)
Spiral2 (http://dl.dropbox.com/u/292449/glbasic/img/spiral2.jpg)
PolySpiral2 (http://dl.dropbox.com/u/292449/glbasic/img/polyspiral.jpg)
Patterns1 (http://dl.dropbox.com/u/292449/glbasic/img/patterns1.jpg)
Patterns2 (http://dl.dropbox.com/u/292449/glbasic/img/patterns3.jpg)
Bat 'n ball (http://dl.dropbox.com/u/292449/glbasic/img/batnball.jpg)
Flag (http://dl.dropbox.com/u/292449/glbasic/img/flag.jpg)
Wormhole (http://dl.dropbox.com/u/292449/glbasic/img/wormhole.jpg)
[attachment deleted by admin]
Quote from: Albert on 2012-May-24
Quote from: I love my Brick on 2012-May-18
Im posting the "PAC MAN" code here that I lost interest with.
I've compiled it, nice stuff!
(http://dl.dropbox.com/u/292449/glbasic/img/pacman.jpg)
Thanks to albert. You know, even though theres no game there - you can still find yourelf trying to outwit the stalkers when you try it out. Cheers Albert.
Quote from: Albert on 2012-May-24
I've assembled the first few codesnippets into one bundle.
Also I've shot some screenshots:
Tunnel (http://dl.dropbox.com/u/292449/glbasic/img/tunnel.jpg)
Spiral1 (http://dl.dropbox.com/u/292449/glbasic/img/spiral1.jpg)
Spiral2 (http://dl.dropbox.com/u/292449/glbasic/img/spiral2.jpg)
PolySpiral2 (http://dl.dropbox.com/u/292449/glbasic/img/polyspiral.jpg)
Patterns1 (http://dl.dropbox.com/u/292449/glbasic/img/patterns1.jpg)
Patterns2 (http://dl.dropbox.com/u/292449/glbasic/img/patterns3.jpg)
Bat 'n ball (http://dl.dropbox.com/u/292449/glbasic/img/batnball.jpg)
Flag (http://dl.dropbox.com/u/292449/glbasic/img/flag.jpg)
Wormhole (http://dl.dropbox.com/u/292449/glbasic/img/wormhole.jpg)
Thanx for the slideshow Albert. I started the thread to show that it only takes a few lines of code to display an idea. I kept the examples short with variables that could be changed/understood by the user. Its all simple stuff which I hope has helped to inspire others to try out the Basic for themselves( and mess with Math). No Functions, no complicated calls etc - just basic see & read, then alter.
When I release the Sprite Creator - called Hyper Sprite for now - I hope you enjoy it friend and find it useful.
Albert, I look forward to your next submissions with great interest.
Quote from: erico on 2012-May-15
That list is quite promising!
I´m particularly found of:
light table for animations
stencil for the outlines, easier to color something?
Ive now added a stencil routine that ignores a colour - stops painting over it. Can also be used as a freehand fill.
Please explain light table for animations. I`m old :) but interested in you idea.
Cheers.
Mr Brick
Quote from: I love my Brick on 2012-May-25
Please explain light table for animations. I`m old :) but interested in you idea.
Is like having control of transparency overlay of frames around the current, for example, let´s suppose I´m drawing a walking cycle animation of my main caracter, only outline, I draw first frame, when advance to next one, the one before is there but untouchable on a 50% transparent level.
That way it is easy for people do draw a bit over the last frame, helps a lot on timing animations.
Some programs you can choose how many frames before and after the current one and a set o transparency decay.
Name Lightable comes from a traditional animator´s table that has similar effect.
PS:there is a pic of a more homebrew light table (also called light box maybe) on the left and the ´transparent´layer effect on a physical version.
[attachment deleted by admin]
It's cool looking.
So now just make it cooler by connecting the visuals into a spectrum analyzer :good:, if you can find the update lib for fmod. :zzz:
Quote from: erico on 2012-May-25
Quote from: I love my Brick on 2012-May-25
Please explain light table for animations. I`m old :) but interested in you idea.
Is like having control of transparency overlay of frames around the current, for example, let´s suppose I´m drawing a walking cycle animation of my main caracter, only outline, I draw first frame, when advance to next one, the one before is there but untouchable on a 50% transparent level.
That way it is easy for people do draw a bit over the last frame, helps a lot on timing animations.
Some programs you can choose how many frames before and after the current one and a set o transparency decay.
Name Lightable comes from a traditional animator´s table that has similar effect.
PS:there is a pic of a more homebrew light table (also called light box maybe) on the left and the ´transparent´layer effect on a physical version.
Ahh, back in my day it was called the Onion skin effect.(That term sounds like summit Abe Simpson would say) I suppose spriting to mem and some feint darkening/tinting could be a start with that. I`ll give it a bash this weekend.
A nice bit of homebrew DIY there Erico and I bet that saved you a few bucks. DIY and me dont mix to well. My last offering was a piece of wood that I had aimlessly banged nails into...cough... :D
Quote from: I love my Brick on 2012-May-25
Ahh, back in my day it was called the Onion skin effect...
...A nice bit of homebrew DIY there Erico and I bet that saved you a few bucks...
Yeah, onion skin is the name, I must have forgotten such since I am the "no onions no pickles" kind of human =D
That homebrew is not mine, I did assemble one long time ago but a lot more ugly then that, some chaps sells a similar great one every Animamundi festival though.
Since I have a wacom tablet and a scanner, I have no need to indulge in time consuming hand animation anymore.
It is great you are going to give a try!
Heres my method of doing this.
1.First we need an image to trace over. (Sprite/BMP)
2.Make a copy & reduce its RGB.(Sprite2Mem - Mem2Sprite)
3.Expand the copy to a size easy to trace over. (ZoomSprite)
4.Get the mouse moving, with a cursor and measurement.
5.Each button press fills a new sprite(new sheet) with pixels.
6.This new (sheet) sprite is then expanded over the copy(s).
7.Creating a visual effect of drawing over the enlarged (original) copy.
8.Go back to 3
9.Create a "NEW SHEET" button to allow a new blank sprite. (Sheet)
9.Set the new sprite as the new sheet over the previous.
10. Display it below next to the other frames. (Like a movie strip)
11. Reduce the RGB of the copy, previous sprite (sheet) etc.
11. Draw them enlarged & return 3.
Quote from: I love my Brick on 2012-May-25
I started the thread to show that it only takes a few lines of code to display an idea. I kept the examples short with variables that could be changed/understood by the user. Its all simple stuff which I hope has helped to inspire others to try out the Basic for themselves( and mess with Math). No Functions, no complicated calls etc - just basic see & read, then alter.
I'm totally understand it, and I tried to keep the original code as is, only breaked each of them into two pieces: initialize and process.
I see what you mean, and I'm also a fan of the one-file one-shot programs, could I suggest you http://cymonsgames.com/ (http://cymonsgames.com/)? This site contains lot of type-in programs, also you can submit your own (only c++ was in the past, but things changes). The site's favicon created by me! :D
Super nice Albert. I will check out that site and enjoy every minute friend.
Ahh, back in the day when computer mags displayed black n white pics of games...and then you found the type-in section. You brought back many memories my friend of times long past. Lets not forget the POKE routines for cheating in games too...great times, long gone :)
Cheers me dears!
Hi Brick, great visualizations for music!
I have an idea which can be implemented into your image editor..
Beziers lines, you know the bendy snake like lines in windows paint?
http://www.glbasic.com/forum/index.php?topic=3839.0
Thanks & yes I can see that - the beginning of a media player type thing.
I havnt implemented your suggestion into the code but it has crossed my mind in the past. Another thing to put on my pen and paper list - page 2. Completion of one routine always springs new ideas :) I`m currently coding a symmetry type thingy like that found in Deluxe Paint. (Instead of one cursor on the grid you can now have more that move in relation to a central point. Think SPIROGRAPH and you`ll understand what i mean)
Below: A simple example of what I`m adding to the Sprite/image editor.
///////////////////////////////////////////////////////////////////////////////////////////
// 16 lines of code
// mirror drawn image - use mouse with left button held down to paint.
// dont use RND inside the RGB as it slows things down.
///////////////////////////////////////////////////////////////////////////////////////////
GETSCREENSIZE w,h
GRABSPRITE 0,0,0,w,h
WHILE TRUE
DRAWSPRITE 0,0,0 // draw current display
MOUSESTATE mx, my, b1, b2 // read da mouse
IF b1=1 // button pressed
FOR a=0 TO 360 STEP 5 // change the "STEP" for different effects
SETPIXEL 300+COS(a+mx)*50+mx,200+SIN(a+my)*50+my,RGB(255,a,0)
SETPIXEL 300+COS(a+mx)*50-mx,200+SIN(a+my)*50+my,RGB(100,a,a)
SETPIXEL 300+COS(a+mx)*50-mx,200+SIN(a+my)*50-my,RGB(255,a,a/2)
SETPIXEL 300+COS(a+mx)*50+mx,200+SIN(a+my)*50-my,RGB(100,a,a/3)
NEXT
ENDIF
GRABSPRITE 0,0,0,w,h // grab new screen display
SHOWSCREEN
WEND
pretty good looking effect and mirrors.
kaleidoscopio especial!
Hey Erico, I hope you manage to get Father Ted - you will love it and laugh! :D
////////////////////////////////////////////////////////////////////////////////////////////////////
Try using DRAWRECT in different sizes instead of SETPIXEL (like the tunnel thing I did)
E.G.: if xpos is at mx=100 enlarge DRAWRECT by two - a zoomed image.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
OR mutiply the SETPIXEL to 8 instead of 4 - toy with minus and plus within COS & SIN
/////////////////////////////////////////////////////
Hope it helps with your creative ideas - cos you will have ideas I cannot see.
/////////////////////////////////////////////////////////////////////////////////////////////////
Cheers
Mark
Try this small modification to the above code. Compile it, move the mouse like crazy with left button held down. The overall effect is very similar to a skyscape coming towards you.
//// Skyscape effect
GETSCREENSIZE w,h
GRABSPRITE 0,0,0,w,h
WHILE TRUE
ROTOSPRITE 0,0,0,0 // draw current display
MOUSESTATE mx, my, b1, b2 // read da mouse
IF b1=1 // button pressed
FOR a=0 TO 90 STEP 5 // change the "STEP" for different effects
DRAWRECT 300+COS(a)*50+mx,200+SIN(a)*50+my,mx-mx/2,my-my/2,RGB(255/mx+my,mx+my,255)
DRAWRECT 300-COS(a)*50-mx,200+SIN(a)*50-my,mx-mx/2,my-my/2,RGB(255/mx+my,mx+my,255)
DRAWRECT 300+COS(a)*50-mx,200+SIN(a)*50+my,mx-mx/2,my-my/2,RGB(255/mx+my,mx+my,255)
DRAWRECT 300+COS(a)*50+mx,200+SIN(a)*50-my,mx-mx/2,my-my/2,RGB(255/mx+my,mx+my,255)
NEXT
ENDIF
GRABSPRITE 0,0,0,w,h // grab new screen display
SHOWSCREEN
WEND
erm...or a strange new world :)
Replace the above code with the following:
//
DRAWRECT 300+COS(a)*50+mx,200+SIN(a)*50+my,mx-mx/2,my-my/2,RGB(255/mx+my,200,mx+my)
DRAWRECT 300-COS(a)*50-mx,200+SIN(a)*50-my,mx-mx/2,my-my/2,RGB(0,mx+my,255)
//
DRAWRECT 300+COS(a)*50-mx,200+SIN(a)*50+my,mx-mx/2,my-my/2,RGB(mx+my,200,mx+my)
DRAWRECT 300+COS(a)*50+mx,200+SIN(a)*50-my,mx-mx/2,my-my/2,RGB(0,mx+my,255)
//
It creates a simple sky & landscape - fun for the kids.
// The tunnel that might be made of jelly tweaked.
// A 50 pence production (c)
// created by "I love my brick"
GETSCREENSIZE w,h
tsize=51 ; xpos=320 ; ypos=200 ; shortradius=14 ; longradius=25 ; rot=1
TYPE tube ; x ; y ; sizex ; sizey ; speed ; r ; g ; b ; sx ; sy ; ENDTYPE
GLOBAL t[] AS tube ; DIM t[tsize]
FOR a=0 TO tsize-1
t[a].speed=0.5 ; t[a].x=xpos ; t[a].y=ypos ; t[a].sizex=shortradius ; t[a].sizey=longradius
INC shortradius,10; INC longradius,10 ;
t[a].r=0; t[a].g=0; t[a].b=0 ;
INC t[a].sx,2 ; INC t[a].sy,2
NEXT
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Main Loop
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
WHILE NOT FALSE
ROTOSPRITE 0,0,0,0.1
FOR bb=0 TO 50
FOR aa=0 TO 360 STEP 15
x=t[bb].x+t[bb].sizex*COS(aa)*COS(rot)+t[bb].sizey*SIN(aa)*SIN(rot) // the maths bit
y=t[bb].y+t[bb].sizex*COS(aa)*SIN(rot)-t[bb].sizey*SIN(aa)*COS(rot)
DRAWRECT x,y,t[bb].sx,t[bb].sy, RGB(t[bb].r, t[bb].g, t[bb].b)
NEXT
INC t[bb].sx,0.1 ; INC t[bb].sy,0.1 // increase the size of the block
INC t[bb].sizex,t[bb].speed ; INC t[bb].sizey,t[bb].speed ; INC t[bb].speed,0.1 // acceleration
IF t[bb].sizex>500 // return to centre of screen
t[bb].sizex=4 ; t[bb].sizey=25 ; t[bb].speed=0.1
t[bb].sx=1.1 ; t[bb].sy=1.1 ; t[bb].sizex=10+RND(20) ; t[bb].sizey=5+RND(10)
ENDIF
NEXT
INC rot, 10 // let the wobble begin!
// set new values for next set of colour
ran1=RND(255)
ran2=RND(255)
ran3=RND(255)
FOR a=0 TO 50 STEP RND(50) // alter all colours
t[a].r=ran1
t[a].b=ran2
t[a].g=ran3
NEXT
IF KEY(203)=1 THEN INC x
GRABSPRITE 0,0,0,w,h
SHOWSCREEN
WEND // infinity in action!
// Spiral code tweak
// I LOVE MY BRICK
GETSCREENSIZE w,h
GRABSPRITE 0,0,0,w,h
change=3.75
//////////
// DA LOOP
//////////
WHILE TRUE
INC count
IF count=5
ROTOSPRITE 0,0,0,0.1 // draw current display
count=0
ELSE
ROTOSPRITE 0,0,0,0
ENDIF
FOR aa=1 TO 26000 STEP change
x=COS(aa)/32
y=SIN(aa)/32
col=RGB(COS(r)*100+100,SIN(count+aa*5)*127+127,SIN(b+aa*5)*127+127)
DRAWRECT 320+y*aa/2,200+x*aa/2,2,2,col
NEXT
INC change, 0.4 // let the fun begin!
GRABSPRITE 0,0,0,w,h // grab new screen display
SHOWSCREEN
WEND
Awesome is one of many words i can think of.
Ill be giving my shrink your name when im in a straight jacket after i attepmt to use these ideas with my 3d particle engine.
Well look at me, I think Im a priest and drag a brick around on a piece of string. :) The code Ive been posting has had a heavy effect upon my sanity :D
But if you do try to implement anything into your particle engine, just remember..."no pain, no gain" :D
You gave me your bug..
Dont stare at this too long.
// Spiral code tweak
// Hemlos
SETSCREEN 800,600,TRUE
FUN1=1
LIMITFPS 40
LOCAL w,h
GETSCREENSIZE w,h
GRABSPRITE 0,0,0,w,h
WHILE TRUE
ROTOSPRITE 0,0,0, 4.0
ALPHAMODE 1.0
FOR aa=0 TO 359 STEP FUN1
INC spread, 1.0
x=COS(aa)*spread
y=SIN(aa)*spread
IF spread>w/2 THEN spread=1.0
Tweakcolor1=RND(255)/2.0+64
col=RGB(COS(change)*Tweakcolor1,SIN(change)*Tweakcolor1,SIN(change)*Tweakcolor1)
DRAWRECT w/2+x,h/2+y,1,1,col
NEXT
INC change, 1.0
IF change=360.0; change=1.0; ENDIF;
GRABSPRITE 0,0,0,w,h // grab new screen display
SHOWSCREEN
WEND
Very nice Hemlos, reminds me of some kind of fossilised shell.
Reminds me of vertigo
This thread belongs in the math section i think, how about you?
Yes I agree, now how do we move it?
Well, we merely need to mention it i suppose!
Obviously, theres a little bird with an impecable sense of direction flying around the forums .
Does this bird look like the pheonix you display near you name? :)
Thankx.
Now Im in Math land lets hope users can see that circluar Math can with clever imagination be implemented into dazzling effects - often cheap on the processor leaving space for other requirements.
No, it was another mod
I was just jesting Hemlos. I read "bird" and saw a "bird" representing you.
I`m an admirer of your manipulation of the 2d screen. keep it up!
Me, well too long in the tooth - so I use old fashioned ways with present day power to create a reaction on screen.
(which often only takes a few lines of code. - I always knew one day they would work)
All code Ive placed is a reflection of ideas that never worked on the humble Amiga.(slow frame rate)
Then I see guys like you with a platform that makes anything possible - unlike the ST & Amiga.
I`m learning Hemlos to embrace this new platform via young guys like you.
Quote from: I love my Brick on 2012-Jun-16
I`m learning Hemlos to embrace this new platform via young guys like you.
I share this spirit. <3
Yesterday I re-learned math, about the dishes... :P
They do crop up on an exponential way don´t they?