Author Topic: What do you think of this effect ive been working on?  (Read 2785 times)

0 Members and 1 Guest are viewing this topic.

Offline Omnikam

  • Atari ST
  • ***
  • Posts: 119
  • Karma: 4
    • View Profile
My new logo effects, i really love it. Inspired by by wolfgangs old-school demo, although All the code is new. Run the compiled or unrar and use the logo. Let me know what you think

Code: [Select]
Procedure.f GSin(winkel.f)
  ProcedureReturn Sin(winkel * (2 * 3.14159265 / 360))
EndProcedure

UsePNGImageDecoder()
#ID_Sprite2       =2      ; ID Logo
#ID_Buffer2       =3     ; ID for logo temporary buffer

If InitSprite() = 0
  MessageRequester("", "Sprite", 0):End:EndIf

If InitKeyboard() = 0
  MessageRequester("", "Keyboard", 0):End:EndIf

If OpenScreen(800,600, 32, "Logo Wobble and Spin") = 0
  MessageRequester("", "Screen", 0):End:EndIf

  LoadSprite(#ID_Sprite2, "Omnikam.png", #PB_Sprite_AlphaBlending)
  If InitSound() = 0
MessageRequester("Error", "Sound system not available.") : End
EndIf
If  CatchMusic(0, ?Tune, ?TuneEnd-?Tune)
PlayMusic(0)
 EndIf
Global angle.f: angle = 0.0
Global spinAngle.f: spinAngle = 0.0
Global startTime.q: startTime = ElapsedMilliseconds()
Global moveflag = 0
Repeat
  angle + 2
  elapsedTime.q = ElapsedMilliseconds() - startTime
  help6.f = 0
  CopySprite(#ID_Sprite2, #ID_Buffer2)
  SH = SpriteHeight(#ID_Buffer2)
  SW = SpriteWidth(#ID_Buffer2)
  wobbleFrequency = 0.1
  wobbleAmplitude = 20
  If moveflag = 0 And elapsedTime < 8000
    spinAngle = 0
    EndIf
  If elapsedTime > 14000 And moveflag = 0
    spinAngle = spinAngle + 0.009
EndIf
  If elapsedTime > 42880 And moveflag = 0
    moveflag = 1
    EndIf
  If moveflag = 1 And elapsedTime > 43000
    spinAngle = spinAngle - 0.009
    Debug spinAngle
    If spinAngle <= 0 And moveflag = 1
       spinAngle = 0
    elapsedTime = 0
    startTime = ElapsedMilliseconds()
    moveflag = 0
      EndIf
  EndIf
  help6  = 0.0
  For i = 0 To SW
    spinAngle + 0
    help6 + 0.9
    ClipSprite(#ID_Buffer2, 0, i, SW, 2)
    sideToSideEffect = GSin(angle + help6 *2)* 40
    upAndDownEffect = Gsin(i + angle) * 20 + 100
    wobbleEffect = GSin(angle * wobbleFrequency) * wobbleAmplitude
    DisplayTransparentSprite(#ID_Buffer2, sideToSideEffect-200, -0 + i + upAndDownEffect + wobbleEffect - 200)
    RotateSprite(#ID_Buffer2, spinAngle, #PB_Relative)
  Next
  Delay(10)
  FlipBuffers()
  ClearScreen(0)
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_All)

DataSection
   
Tune:
 IncludeBinary "simpukka_chilli.xm"   ; no need to convert it to DATA statments using bin2data, just include the file.
TuneEnd:
 

EndDataSection
« Last Edit: September 30, 2023 by Omnikam »

Offline Moroboshisan

  • Senior Member
  • Amiga 1200
  • ********
  • Posts: 454
  • Karma: 18
  • C=64
    • View Profile
Nice!... it reminds me of some very old TV broadcast effects seen on TV in the early '80s
I mean something like this https://youtu.be/0wxc3mKqKTk?feature=shared&t=102... your effect is quite close...

Offline ttemper

  • Amiga 1200
  • ****
  • Posts: 261
  • Karma: 7
    • View Profile
hehe, it starts off with a nice lil' sinewave... and then trips-out to a fullscreen spiral. trippy effect, nice one.

Offline KrazyK

  • Amiga 1200
  • ****
  • Posts: 380
  • Karma: 131
    • View Profile
    • KrazyK Remakes
Nice effect. I had to run it a window second time as fullscreen had my eyes popping out. 😀
I had a play with the code and got some even stranger fx too.
Challenge Trophies Won:

Offline Omnikam

  • Atari ST
  • ***
  • Posts: 119
  • Karma: 4
    • View Profile
Nice effect. I had to run it a window second time as fullscreen had my eyes popping out. 😀
I had a play with the code and got some even stranger fx too.
Feel free to share your modifications,  id be interested in other effects based around it   :cheers: :cheers:

Offline KrazyK

  • Amiga 1200
  • ****
  • Posts: 380
  • Karma: 131
    • View Profile
    • KrazyK Remakes
Just a little modification to slow it down mid spin then slowly move it back.

Code: [Select]
       
Procedure.f GSin(winkel.f)
  ProcedureReturn Sin(winkel * (2 * #PI / 360))
EndProcedure

UsePNGImageDecoder()
#ID_Sprite2       =2      ; ID Logo
#ID_Buffer2       =3     ; ID for logo temporary buffer

If InitSprite() = 0
  MessageRequester("", "Sprite", 0):End:EndIf

If InitKeyboard() = 0
  MessageRequester("", "Keyboard", 0):End:EndIf

OpenScreen(800,600,32,"")
  LoadSprite(#ID_Sprite2, "Omnikam.png", #PB_Sprite_AlphaBlending)
  If InitSound() = 0
MessageRequester("Error", "Sound system not available.") : End
EndIf


Global angle.f: angle = 0.0
Global spinAngle.f: spinAngle = 0.0
Global startTime.q: startTime = ElapsedMilliseconds()
Global moveflag = 0
Repeat
       
  angle + 2
  elapsedTime.q = ElapsedMilliseconds() - startTime
  help6.f = 0
  CopySprite(#ID_Sprite2, #ID_Buffer2)
  SH = SpriteHeight(#ID_Buffer2)
  SW = SpriteWidth(#ID_Buffer2)
  wobbleFrequency = 0.1
  wobbleAmplitude = 20
  If moveflag = 0 And elapsedTime < 2000
    spinAngle = 0
    EndIf
  If elapsedTime > 2000 And moveflag = 0
    spinAngle = spinAngle + 0.009
EndIf
  If elapsedTime > 4000 And moveflag = 0
    moveflag = 1
    EndIf
   
    If moveflag = 1 And elapsedTime > 7500
    spinAngle = spinAngle - 0.0009
   
    If spinAngle <= 0 And moveflag = 1
       spinAngle = 0
    elapsedTime = 0
    startTime = ElapsedMilliseconds()
    moveflag = 0
      EndIf
  EndIf
  help6  = 0.0
  For i = 0 To SW
    spinAngle + 0
    help6 + 0.9
    ClipSprite(#ID_Buffer2, 0, i, SW, 2)
    sideToSideEffect = GSin(angle + help6 *2)* 40
    upAndDownEffect = Gsin(i + angle) * 20 + 100
    wobbleEffect = GSin(angle * wobbleFrequency) * wobbleAmplitude
    DisplayTransparentSprite(#ID_Buffer2, sideToSideEffect-200, -0 + i + upAndDownEffect + wobbleEffect - 200)
    RotateSprite(#ID_Buffer2, spinAngle, #PB_Relative)
   
   
  Next
 
  FlipBuffers()
  ClearScreen(0)
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_All)
Challenge Trophies Won: