Home & News

Discussion Board

Conceptual Overview

CVS & Project Page

Screenshots

Downloads

Contact

[ leiavoia.net ]
PROJECT COMPLETION:
36%
CURRENT VERSION:
v0.2 "Switchboard"

NEXT VERSION:
v0.3 "Zombie"
[due ~September 2004]


DESIGN DOCUMENTATION

BlotchMaker Pro (4.2.1w)

This is a fun little utility i wrote in C++ as a way to learn the language. It's kludgy but has some fun ideas implemented. BlotchMaker takes a block a variables and spits out a map with a variety of obstacles.

The current BlotchMaker uses turn-persuasion rules to make blotchs. It starts with a point on the map and picks a direction. It then rolls dice to see which direction it should place the next tile. So the "blotch" it makes can be influenced in many ways by changing the chances for it to go forward, back, left, or right. It then makes a line from those rules, but with a 1 1 1 1 ruleset, the "line" it makes look more like a blotch, hense the name. Therefore, you can make many different kinds of blotches from a few rules in blotch placement, blotch turn persuasions, obstacle types, etc.

Source code can be found here. After compiling, just run the test program from the command line. If you want to change the variables, you need to edit the file and recompile it.

Here are a few test examples of what BlotchMaker can produce.

BlotchMaker Without Edge Attraction
50 block blotches, 20 overlapping tiles per blotch. Standard mode with no edge attraction.
Turn persuasion set to 5,2,0,0 (Forward, Left, Right, Back)

BlotchMaker With Edge Attraction
50 block blotches, 20 overlapping tiles per blotch. Edge attraction set to 8.
Turn persuasion set to 5,2,0,0 (Forward, Left, Right, Back)

BlotchMaker - "Curliqueous"
12 block blotches, 40 overlapping tiles per blotch. Standard mode with no edge attraction.
Turn persuasion set to 9,1,0,0 (Forward, Left, Right, Back)

BlotchMaker - "Mold Colonies"
100 block blotches, 10 overlapping tiles per blotch. Standard mode with no edge attraction.
Turn persuasion set to 1,1,1,0 (Forward, Left, Right, Back)