Family Tree Generator
A demo version is available.
This version of the Family Tree Generator is by M. C. DeMarco. In addition to generating reproducible random medieval family trees of descendants of a matriarch/patriarch pair (incrementally), it also supports the generation of non-human and otherwise non-medieval family trees, editing of any aspect of a generated tree, display of the output as an actual tree, a timeline, an indented list, or a CSV file, generation of full trees up to a specified date, various improved methods of name generation, a name list viewer, optional clan generation, and the display of detailed instructions for use.
To make your own changes to the family tree generator, you will need a copy of the code. Click on releases and download the latest one. Unzip it if necessary and open lineage.html in your web browser. (Please note that no obsolete browsers have been tested.)
Based on Random Family Tree Generator v.1.3 by Todd Stumpf: http://code.google.com/p/random-family-tree-generator/ which in turn was based on an older version of Random Family Tree Generator by Jeff Partridge, updated since to v2.0: http://partridgez.com/japartridge/lineage2.html
Name generation by markov chain adapted from: http://donjon.bin.sh/site/code/name/
Name lists from Kate Monk's Onomastikon: http://tekeli.li/onomastikon/
The original version of the Family Tree Generator was under a Creative Commons Attribution-Noncommercial-Share Alike-3.0 United States License. The google code version (on which this code was based) mentions the CC license as the "content license" and the GNU GPL v3 as the "code license."
The name generation markov chain code I used was in the public domain. No licensing information was available for the tree style; I will inquire.
No additional license restrictions are added in this version, except for copyright on the various name lists and naming languages.
Myers-Briggs Type Indicator, Myers-Briggs, and MBTI are trademarks or registered trademarks of the MBTI® Trust, Inc., in the United States and other countries.
I made quite a few changes to the underlying code. Most significantly, I stored the family tree in a data structure rather than in the html, which greatly simplified several chunks of code.
I threw out the existing name generation and added three methods of my own: random selection from a name list (Modern names, Scottish names and clan names), generation by markov chain from a name list (Medieval names, Egyptian names, and dwarf names), and generation from a syllable list (dwerrow names).
I also abstracted more of the demographic statistics into variables or functions, which allowed me to change demographics when changing human type/fantasy race. I removed the debugging code and simplified the UI code.
I added editing of the tree and automatic generation of descendants up to a certain date, as well as some complicated naming code (in dwerrow.js), for my own needs in writing fiction.