Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > 'HCL-plasma' - how does it work?
2008-11-02 23:16
Shadow
Account closed

Registered: Apr 2002
Posts: 355
'HCL-plasma' - how does it work?

That fullscreen-fast-plasma-thing that we saw quite a few versions of in Edge Of Disgrace (with sprite zoomer on top, in sideborder, with techtech etc.) - what's the theory?
It is pretty obvious from speed and size that it is not done using per-pixel-code...
My theory was that it was done using FPP-technique, ie. we have a base-plasma-picture, and then by displaying cleverly chosen lines from this base-picture we get the plasma.
I did some prototyping on PC to test this theory, but I can't get anything that looks correct. Am I barking up the wrong tree here?
2008-11-02 23:44
chatGPZ

Registered: Dec 2001
Posts: 11293
you got the theory alright :)
2008-11-02 23:45
Krill

Registered: Apr 2002
Posts: 2940
Only that it's been done long before EoD already. :D
2008-11-03 03:45
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
How a simple version works:

step 1: have an FPP routine of your choice. It's gonna need to be sprite FPP if you're in the borders, natch, charfpp if you don't, bitmap fpp if you want more colours, or some crazy assed fun combination.

step 2: for each possible FPP line (you need as many of these for maximum smoothness) calculate a sinus line for finalY=yval for this line. You can do this each frame, or once and just move the y sinus.

step 3: calculate each y line in your raster IRQ, and set the FPP display list appropraitely from a table based on the y output.

step 4: display fpp according to display table.

maybe i'll upload one appropriatly commented and commentated to codebase later this week, if people are interested in such things.
2008-11-03 07:33
HCL

Registered: Feb 2003
Posts: 727
Who came up with the name HCL-plasma?

..and if Mr.Krill would be so kind to show us a *link* to where this has been done long before.. Funny, i don't remember any full-screen-side-border-FPP-plasma, will be most interesting to see.
2008-11-03 08:27
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Who came up with the name HCL-plasma?

..and if Mr.Krill would be so kind to show us a *link* to where this has been done long before.. Funny, i don't remember any full-screen-side-border-FPP-plasma, will be most interesting to see.


Wasn't the end part of Cycle some kind of full screen sideborder FPP-plasma?
2008-11-03 08:37
HCL

Registered: Feb 2003
Posts: 727
Hmm, i don't really get what you're discussing here. It's mostly talk about the FPP-routine.. The're nothing fancy about that, except possibly for the plasma with the sprite-stretcher on top. The tricky thing in this plasma (compared to what we have already seen) is how the x-shit works. But i'll leave that if noone is really interested ;).

<edit>
@JA: That's exactly what's the difference. Those all-border "plasmas" only contain some kind of FPP-routuine and thus only a y-plasma (typically double sinus indexed plasma), the x-"plasma" is just some static graphics that has been generated once. The plasma we have here has an x-component also updated every frame, also typically a double sinus indexed plasma.
</edit>
2008-11-03 09:00
Shadow
Account closed

Registered: Apr 2002
Posts: 355
I didn't intend to step on any toes by calling it 'HCL-plasma', I just thought that everyone would know what I meant then, since the type of plasma I'm talking about has appeared in a few BD demos now (Royal Arte, Cycle, Edge Of Disgrace).

Seems like I have the technical theory correct then.

I have a precalced picture that looks about what a single frame from a normal per-pixel-double-sine-plasma looks like.

Then in the displayer I pick y-lines from that above plasma indexed on a double-sine.

However somehow it don't get that 'plasma'-feeling in it.

But now we hear that HCL has added some kind of extra X-component magic to it, which would explain why it looks even better in EoD. I'll have to start Cycle again and compare the last-part-plasma there.

2008-11-03 09:09
Oswald

Registered: Apr 2002
Posts: 5076
Quote: That fullscreen-fast-plasma-thing that we saw quite a few versions of in Edge Of Disgrace (with sprite zoomer on top, in sideborder, with techtech etc.) - what's the theory?
It is pretty obvious from speed and size that it is not done using per-pixel-code...
My theory was that it was done using FPP-technique, ie. we have a base-plasma-picture, and then by displaying cleverly chosen lines from this base-picture we get the plasma.
I did some prototyping on PC to test this theory, but I can't get anything that looks correct. Am I barking up the wrong tree here?


it's Graham's invention. I think the mod's should change the topic title if possible, before the credit will go to HCL in the scene's mind. :P
2008-11-03 09:14
Oswald

Registered: Apr 2002
Posts: 5076
Quote: I didn't intend to step on any toes by calling it 'HCL-plasma', I just thought that everyone would know what I meant then, since the type of plasma I'm talking about has appeared in a few BD demos now (Royal Arte, Cycle, Edge Of Disgrace).

Seems like I have the technical theory correct then.

I have a precalced picture that looks about what a single frame from a normal per-pixel-double-sine-plasma looks like.

Then in the displayer I pick y-lines from that above plasma indexed on a double-sine.

However somehow it don't get that 'plasma'-feeling in it.

But now we hear that HCL has added some kind of extra X-component magic to it, which would explain why it looks even better in EoD. I'll have to start Cycle again and compare the last-part-plasma there.



how do you calculate a plasma?

mix 2 sines to get a "verticalsine"
mix other 2 sines to get a "horizontalsine"

then each pixel: pixel(x,y)=palette(vertsine(y)+horsine(x))

note that on a horizontal line vertsine(y) is constant. so if we reduce the vertsine values to smth like 0-16, then we may precalculate 16 gfx lines (horsine still changes each frame, thats where you got it wrong!) and choose from them along the line as dictated by adding up 2 sines where the result is 0-16.
2008-11-03 09:20
HCL

Registered: Feb 2003
Posts: 727
Well, maybe i mis-interpreted the term "base-plasma-picture".. I thought of this as a static picture, but in the case of EoD, this base-plasma-picture is always calculated and updated each frame.

This effect is so over-used ever since Krestyron, so i thought everyone knows the difference between this and the static FPP-plasma in e.g. Coma Job.

With a faster calculation of the base-plasma-picture, i managed to squeeze out a little bit more of this poor plasma-effect, but then again it felt a bit old in 2004 already when i coded it..
 
... 12 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
t0m3000/HF^BOOM!^IBX
iAN CooG/HVSC
Guests online: 119
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 Uncensored  (9.6)
7 Wonderland XIV  (9.6)
8 Comaland 100%  (9.6)
9 No Bounds  (9.6)
10 Unboxed  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Morph  (9.5)
8 Dawnfall V1.1  (9.5)
9 Onscreen 5k  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Nostalgia  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.2)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.2)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.043 sec.