A collection of my self made code using the olcPixelGameEngine
New: To view these programs online, go to my itch.io account.
- olcMazeManic.cpp A 3D style maze using rectangles and triangles that change colour to give a perception of depth and passages. Based on an Amstrad CPC 464 Basic program from the book 'Sensational Games for the CPC 464'.
- olcMad.cpp A Pixel Game Engine version of the Mad Magazine code from October 1985. Really easy to implement on the PGE. see https://meatfighter.com/mad/
- olcFourierSeries.cpp Fourier Series demonstration the create a Square, Triangle, Sawtooth and Cubic Wave.
- olcFourierEpicycles.cpp Using Fourier Transforms to draw a picture with Epicycles.
- olcFourierEpicyclesXY.cpp Using Fourier Transforms to draw a picture with Epicycles with separte X and Y plots.
- olcMineSweeper.cpp Mine Sweeper using the Pixel Game Engine. Left mouse button reveals, Right mouse button flags
- olcCardioid.cpp Cardioid generations with increasing factor size. This creates many interesting patterns. Move the mouse to change the number of points from 0 to 200
- olcMetaballs.cpp Metaballs are organic-looking n-dimensional isosurfaces, characterised by their ability to meld together when in close proximity to create single, contiguous objects.
- olcCirclePacking.cpp In geometry, circle packing is the study of the arrangement of circles (of equal or varying sizes) on a given surface such that no overlapping occurs and so that no circle can be enlarged without creating an overlap. This program places a circle over a PNG file where the colour white is shown.
- olcCirclePackingPic.cpp Circle Packing routine as above but using a picture pixel colour to colour each circle. It makes a nice looking image.
- olcHilbert.cpp The Hilbert curve (also known as the Hilbert space-filling curve) is a continuous fractal space-filling curve first described by the German mathematician David Hilbert in 1891. Use the arrow keys to change the order from 1 to 9.
- olcFireworks.cpp This is a simple fireworks program that shoots fireworks up and lets them explode. It uses simple velocity, acceleration and gravity to move the fireworks.
- olcPrimeSpiral.cpp When Prime numbers are displayed in a spiral, they form a pattern! This program displays the pattern and gives options to change the spiral size and look.
- olcLissajous.cpp Lissajous Curve generator. Curves are generated by mapping Polar coordinates to increasing angle rates. When the vertical and horizontal lines intersect, a curve is drawn. Use the arrow keys to change the number of columns from 1 to 20 and the phase from 0 to 2PI.
- olcColourMe.cpp Colour Me is a Pixel Drawaing Game where a picture is made based on colour matching via a series of numbers. There are four pictures to choose from. Use the mouse to select the colour and click or click and drag to select paint the colour.
- olcAutonomousAgent.cpp This program implements a steering mechanism where flies seek out the nearest food and avoid spiders. If a fly touches a spider, it dies. If any are let at the end, they seek out and settle on the large Poo. As it is all random the flies seem to have a mind of their own. Note, I was lazy on the spider physics so they just move in a random direction.
- olcMaze.cpp This program generates a 25x12 Maze by using the Recursive Backtrack algorithm. Watch it weave its way through the grid creating paths between walls. When no more paths are available, the head moves back until it finds another path. It finishes when all paths are complete. Press SPACE to create a new maze.
- olcCellular.cpp This program uses Elementary Cellular Automation to create simple and fun patterns. Starting with one live cell at the top middle of the screen. The rule is applied and each row displays the next life cycle. Use the arrow keys to change the rule.
- olcGLCDGraphic.cpp This program helps with designing sprites for a 128x64 Graphical LCD Screen. The Grid can be changed from 8x8 to 128x64. When exported, the output is in Bytes used in Z80 Assembly programs. It is designed for the TEC-1G Z80 Single board computer.