Dark Bit Factory & Gravity

PROGRAMMING => Purebasic => Topic started by: ~Ar-S~ on March 17, 2018

Title: Psygnosis Agony MinIntro
Post by: ~Ar-S~ on March 17, 2018
This is a small intro  to pay tribute to PSYGNOSIS and the superb AGONY on AMIGA. The most difficult was to recover and divert the SPRITES.
The archive contains some of the images (sprites and mod are in datasection), the code, the images.

Use Arrows to move the Owl.

EnJoY
Title: Re: Psygnosis Agony MinIntro
Post by: Raccoon on March 18, 2018
I've never played the game before, but I like it haha. :)
Title: Re: Psygnosis Agony MinIntro
Post by: Rbz on March 19, 2018
It's a beautiful and hard game, I've never finished it :/

It was one of the best pixel art at that time and I'm pretty sure still impressive for today's standards.
Title: Re: Psygnosis Agony MinIntro
Post by: padman on March 20, 2018
Nice! K++ for sharing the source.  :)
Title: Re: Psygnosis Agony MinIntro
Post by: aNdy on April 10, 2018
Great looking! Thanks for source share also!
Title: Re: Psygnosis Agony MinIntro
Post by: KrazyK on April 16, 2018
You may have just inspired me to dig out my old Psygnosis games and bash some buttons again.  I feel an small demo coming on... ;)
Title: Re: Psygnosis Agony MinIntro
Post by: aNdy on April 16, 2018
I feel an small demo coming on... ;)
Had a similar idea... :D
Title: Re: Psygnosis Agony MinIntro
Post by: KrazyK on April 26, 2018
Been a bit busy lately but have managed to put together a little demo along similar lines as ~Ar-S~.  I've gone for a minimalist approach to colour on this one but it did start off very differently.  :-X
Written as usual in PB, standard libraries except the music library.
Title: Re: Psygnosis Agony MinIntro
Post by: aNdy on April 27, 2018
Been a bit busy lately but have managed to put together a little demo along similar lines as ~Ar-S~.  I've gone for a minimalist approach to colour on this one but it did start off very differently.  :-X
Written as usual in PB, standard libraries except the music library.
Love those scrolling messages!  Sharing source?
Title: Re: Psygnosis Agony MinIntro
Post by: KrazyK on April 27, 2018
Been a bit busy lately but have managed to put together a little demo along similar lines as ~Ar-S~.  I've gone for a minimalist approach to colour on this one but it did start off very differently.  :-X
Written as usual in PB, standard libraries except the music library.
Love those scrolling messages!  Sharing source?


Well, as Matthew said 'Ask, and it shall be given you; seek, and ye. shall find...etc, etc'
Here's the circular scrolling code for that screen.  it will need to be adapted for whatever you want to do with it though.  No promises on how easy that will be  ;D

Code and font in the attached zip file here.  Enjoy.
 :cheers:




Code: [Select]
;Scrolling sprite circle demo code for DBF
;Author: KrazyK
;Language: PureBasic

;-This code was completely dreamt up after I decided to give this effect a try at last.
;-It works like this:
;[1] Calculate the x&y positions on a set circle size into an array.
;[2] Draw the scroll letters on a straight sprite for the scroller.
;[3] Clip the straight sprite, read the x & y positions from the array and draw the clipped scroller at those positions.

;I've written it this way as intended to do some additional effects to the scroller ssprite strip first before clipping it.
;In this example though no extra effects have been done.
;This piece of code has been taken directly from my Psy Demo so it is particular to that screen.
;Feel free to adapt it to whatever you need.



InitSprite()

#xres=800
#yres=600

OpenWindow(0,0,0,#xres,#yres,"Sprite Circle Test",#PB_Window_ScreenCentered|#PB_Window_WindowCentered|#PB_Window_BorderLess)
OpenWindowedScreen(WindowID(0),0,0,#xres,#yres)
StickyWindow(0,1)
ShowCursor_(0)


Global scroll$=Space(30)+"HI TO ALL AT DBFINTERACTIVE.COM  WELCOME TO MY LITTLE DEMO.  HOPE YOU LIKE IT.  :-)                    If YOU DON'T LIKE THIS FONT THEN YOU CAN SWITCH IT BY PRESSING THE RIGHT ARROW OR UP TO CHANGE THE RASTER ON THIS ONE       "
scroll$+"           THIS DEMO WAS INSPIRED AFTER SEEING THE INTRO BY ~AR-S~                     WHEN I SAW HIS PSYGNOSIS MINI INTRO I DECIDED TO DIG OUT MY OLD PSYGNOSIS GAMES AGAIN                                    AND THIS IS THE RESULT.                                 "
scroll$+"      I REMEMBER PLAYING SHADOW OF THE BEAST FOR HOURS BUT BEFORE THAT IT WAS BALLISTIX ON MY 520 STFM AND THOUGHT I'D TRY TO COPY IT FOR A FRIEND ONLY TO DISCOVER IT WAS COPY PROTECTED AND DIDN'T HAVE ANY FILES"
scroll$+" ON THE DISK!!      HOW BLOOY STRANGE I TOUGHT..I WONDER HOW THAT WORKS?       8 HOURS LATER IT WAS CRACKED, FILED AND RE-PACKED A LOT SMALLER."
scroll$+"    MY FIRST EVER GAME CRACK AND I STILL HAVE THE ORIGINAL 68000 FILING AND CRACKING CODE TO HAND."
scroll$+"             I NEVER MANAGED TO CRACK BLOOD MONEY THOUGH AS THAT WAS QUITE A TRICKY ONE IF I REMEMBER CORRECTLY"
scroll$+"            ANYWAY, ENOUGH RAMBLING FOR ONE DAY............                     WRAP   WRAP   WRAP   WRAP   WRAP   WRAP   WRAP   WRAP  WRAP   WRAP"
scroll$+Space(35)
scroll$=UCase(scroll$)
Global xmove=0
Global Letter=1
Global speed=4
Global xp.f,yp.f,movex.f,movexangle.f


CatchImage(0,?font)
CreateSprite(999,800*2,32) ;-draw scroller on here in case you want to something else to it before clipping it
#fontdim=32 ;font width & height

;{- Init circle stuff here
#cmax=360 ;how many points in our circle
Global stp.f=(#PI*2)/#cmax ;gap between each point
Global Radius=196
Structure Circ
xpos.f
ypos.f
EndStructure

Global CircStep.F=0
Global Dim Circ.Circ(#cmax)

A=0
;calculate the initial x & y positions on the circle
Repeat
CircStep.F+stp.F
Circ(A)\xpos=-Sin(CircStep)*Radius
Circ(A)\ypos=Cos(CircStep)*Radius
A+1
Until A>=#cmax


Structure FontAngle
Char.L
EndStructure
Global Dim FontAngle.FontAngle(Len(scroll$))
For c=0 To Len(scroll$)
FontAngle(c)\Char=c*9 ;set initial angle
Next c
;}

Procedure DrawSpriteCircle()
;- Draw scrolltext on straight sprite first
StartDrawing(SpriteOutput(999))
For A=0 To 34
a$=Mid(scroll$,A+Letter,1)
AVAL=Asc(a$)-32
If AVAL<0 Or AVAL>Asc("Z"):AVAL=0:EndIf ;only clip valid letters
GrabImage(0,888,AVAL*#fontdim,0,#fontdim,#fontdim)
DrawImage(ImageID(888),xmove+(A*#fontdim),0)
Next A
StopDrawing()

;move left off the 'screen'
xmove-speed
If xmove=-64:xmove=-32:Letter+1:EndIf
If Letter>Len(scroll$):xmove=0:Letter=1:EndIf


;-move the circle around the screen
movexangle.f+0.02 ;circle x speed across the screen.
movex.F=196*Sin(movexangle)

;-draw scroll text on screen now by clipping the straight scroll sprite
For A=0 To 34
ClipSprite(999,A*#fontdim,0,#fontdim,#fontdim) ;-grab 1 letter from the scroller sprite
Char=FontAngle(A)\Char
xp.F=Circ(Char)\xpos+400-16 ;get the x position from the array
yp.F=Circ(Char)\ypos+420 ;get the y position from the array
If yp<470 ;-only draw the letter if it is above this level as in my Psy Demo
RotateSprite(999,Char+180,#PB_Absolute)
DisplayTransparentSprite(999,xp+movex,yp)
EndIf
Next A

EndProcedure


Repeat
event=WindowEvent()
ClearScreen(0)

DrawSpriteCircle()

FlipBuffers()

Until GetAsyncKeyState_(#VK_ESCAPE)



DataSection
font: :IncludeBinary "ics_font.bmp"
;font: :IncludeBinary "linefont.bmp"

EndDataSection

Title: Re: Psygnosis Agony MinIntro
Post by: aNdy on April 27, 2018
Thanks for share!
Title: Re: Psygnosis Agony MinIntro
Post by: aNdy on May 14, 2018
I may have missed the boat a bit, but my Psygnosis tribute demo should be coming soonish!  New music written using the original samples from Shadow of the Beast, updated graphics almost complete... now just to piece it all together!
Title: Re: Psygnosis Agony MinIntro
Post by: Rbz on June 02, 2018
Been a bit busy lately but have managed to put together a little demo along similar lines as ~Ar-S~.  I've gone for a minimalist approach to colour on this one but it did start off very differently.  :-X
Written as usual in PB, standard libraries except the music library.
Nice work on this one!
Oldschool vibe approved  :cheers: