Fractal Engine Version 2

A Mandelbrot and Julia set generator for the PC-Engine

Download the Fractal Engine demo here!
(ASM source code is included)

If you don't know what fractals are, they're an area of mathematics that generates some beautiful, intricate imagery from some very simple mathematical formulae. You can read up about the type that this program makes here.

(To the left is the splash screen you see when the ROM is first started up.)

Here's the main menu/panel where the parameters for the fractal can be controlled. Although the controls are explained on-screen, there are a few other things to know:

Select turns the panel on/off. When the panel is on, moving the joypad moves the cursor to each of the parameters. Pressing I or II changes the parameter.

Pressing RUN at any time with this panel on (or hidden) will set up the screen for a high-quality render, as can be seen farther below.

When the panel is off, moving the pad or pressing the I or II buttons will put the program into the Zoom Box mode. This is a lot easier for zooming into the fractal than changing a bunch of numbers.

A box will appear on-screen that you can move around with the pad, and resize with the I and II buttons. Press RUN to zoom in (or out). The box will then go to the edges of the screen, and the image will be zoomed in.

Press select to exit this mode.

Version 2 of Fractal Engine has a few enhancements. For one, the Julia set can be accessed. The Julia set can be (infinitely) zoomed into just like the Mandelbrot set, but it also has its own set of "positioning" constants that actually correspond to points on the Mandelbrot map.

If you completely understood the blurb above, then select "JULIA" from inside Fractal Engine and change the Julia parameters yourself. If you didn't understand, then it's much easier to select "J.INIT" which brings up a map of the Mandelbrot set (see left) and a crosshair that you can move around with the D-pad. You'll see the Julia set's shape change in the preview according to where on the map the cursor is.

Julia sets tend to be rather boring if the crosshair is in the black area of the Mandelbrot ("inside the set") but much more interesting around the colourful perimeter of the Mandelbrot.

At any rate, if you press RUN, the blocky preview image will now disappear and a high-quality (full-resolution) render will be drawn to the screen.

Play with the "resolution" settings in the menu before you render. Low-res fractals render much faster than high-res ones.

This full-detail render will probably take a LONG time, so be patient. Go make a cup of tea or four. This is an 8-bit CPU trying to do squares and multiplications of thousands of 32-bit numbers for a single image, after all!

Version 2 of Fractal Engine has been optimized to render fractals at a greater resolution and number of colours than version 1. If you have a SuperGrafx system to run it on, the SGX's extra VDP will be utilized to boost the colours and add an interlaced mode too (see the chart below for resolution/colour arrangements.)

Version / System
Setting 1
Setting 2
Setting 3
Resolution
Colours
Resolution
Colours
Resolution
Colours
Fractal Engine 1
256 x 240
16
512 x 240
16
Frac. Engine 2 on PCE
256 x 240
32
512 x 240
16
Frac. Engine 2 on SGX
256 x 240
64
512 x 240
32
512 x 480
16

As you can see, there is a tradeoff between detail and colours. On your TV screen, you might be perfectly satisfied with a low resolution and higher colour count.

While the fractal is rendering, pressing I or II changes colour cycling. Pressing select CANCELS the render, so be careful.

* If you're using the 512x480 mode on the SuperGrafx, the image will be "fake-interlaced" on your TV. Some TV sets might not like it or may interlace the fields wrong, so if the image looks feathered, try pressing UP or DOWN on the pad, which will alternate the lines that get interlaced.


And that's about it! This is not a serious tool, just a toy to play around with.

Have fun hunting for some cool & trippy fractals, like the ones on this page!

 

<--BACK | Send Chris an E-Mail!