pygame is
Simple DirectMedia Layer is
Site Swing
Fractal Fr0st

Fractal Fr0st - 0.1

Vitor Bosshard (algorias)



Fr0st allows you to visualize the results of an iterated funcion system as it is rendered. This is a very early version of it, with lots of planned funcionality missing. The only controls so far are moving the mouse to change the location of the active transform and the left and right keys to switch between transforms. It's hard to explain in non-technical terms, just try it out. If you know how to use Apophysis, you can let your own flame be rendered by Frost.


Home Page:


click to view original size


Fractal Fr0st - 0.4 - Dec 21, 2008
Fractal Fr0st - 0.3 - Aug 6, 2008
Fractal Fr0st - 0.2 - Jul 12, 2008
Fractal Fr0st - 0.1 - Jul 2, 2008 account Comments

If you wish to leave a comment with your account, please sign in first.

August 7, 2008 8:01am - Jordan Trudgett - nickname: (tgfcoder)
This is really good. Great work!
So I see you found blitting a 1x1 surface to be faster than setting pixels? That's interesting, lol
July 16, 2008 9:11am - Marcel Rodrigues - nickname: (marcel)
Ok, thanks. I got my flame rendered.
Interesting project.
July 14, 2008 7:54pm - Vitor Bosshard - nickname: (algorias)
Well, you just need to save the flame as sample.flame in the parameters folder. However, Frost does not render the flame in any way similar to apophysis, it is not meant to be a replacement.
July 13, 2008 5:19pm - Marcel Rodrigues - nickname: (marcel)
How can I render Apophysis flames in this program?
July 12, 2008 9:18am - Vitor Bosshard - nickname: (algorias)
I've refactored the parsing since 0.1 release, it's much more compact now, but still uses the same ugly flag setting approach.

I find that bug rather strange (doesn't happen to me). Thinking about it, it might be that line ends are getting included in the gradient object, so I would need to call a strip after reading each line.

Thanks for the feedback!
July 10, 2008 1:45pm - Jordan Trudgett - nickname: (tgfcoder) - 3/5
Ooh... very colourful and patterny. Them's scientific words :D

I had one problem,

File "Fractal Fr0st", line 76, in get_gradient
gradient.append([int(hex_gradient[i:i+2],16),int(hex_gradient[i+2:i+4],16),int(hex_gradient[i+4:i+6],16)]) #converts FFFFFF to (255,255,255)
ValueError: invalid literal for int():

I put a try/except wrapper around it to make it ignore the error (I really could not work out why the error occurs, but it's probably something to do with how you're reading the data from file.. there might be a null character at the end or something strange) Try using hex_gradient=hex_gradient.strip() before that loop?

Apart from that, it worked fine.

I also noticed that you used a 'black.png' which was a big png filled with 1.5% black throughout. You can use this too:

background = pygame.Surface(size)

which would be the same (surfaces are initialised to black)

Lastly, your parsing of XML was crude. :P Sounds like something *I'd* do. I know parsing XML trees is annoying. I had to do some for the maps in my game.
July 3, 2008 1:15pm - Emanuel Berg - nickname: (metabaron)
Ha ha, I'd love to play with this on acid :)

our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
Oct 1, 2015

Sep 11, 2015

Sep 6, 2015

Aug 26, 2015

Aug 25, 2015

Aug 21, 2015

Aug 16, 2015

Jul 30, 2015

Jun 24, 2015

... more!
for pygame related questions, comments, and suggestions, please see help (lists, irc)