Muchos juegos de estrategia implican la investigación de tecnologías, y cada tecnología tiene un conjunto de requisitos previos (excepto las tecnologías iniciales). Estos pueden organizarse linealmente (niveles tecnológicos) o en forma de árbol (árbol tecnológico) .
Estoy buscando hacer un diagrama de un árbol tecnológico para un mod, ya sea para tecnologías de un juego ficticio de construcción de civilizaciones o una lista de cursos para un programa de grado.
Si hay un término mejor para esto que "árbol tecnológico", estoy totalmente de acuerdo. Mi búsqueda de algo así básicamente me llevó a modificar Civilization IV o Civilization V para que el juego en sí generara el árbol tecnológico, pero aunque eso podría funcionar, parece exactamente lo contrario de cómo lo abordaría yo. Eso llevaría mucho tiempo para que solo el juego se iniciara cada vez que hiciera un cambio, además, la única forma de verlo sería abrir el juego o juntar varias capturas de pantalla. Cuando modifiqué juegos, generalmente tenía un plan de juego, pero en este caso, ¿parece que estás usando el juego para hacer el plan de juego?
Básicamente, cada nodo del árbol puede tener cualquier número de requisitos previos y correquisitos.
Podría mapearlo en Visio, pero luego tendría que organizarlo todo manualmente. Me gustaría iterar sobre los requisitos que tiene un nodo y vincularlo automáticamente.
Tengo acceso a Visio, Photoshop, Illustrator, etc., pero parece que esas herramientas solo implicarán mucho esfuerzo manual que podría automatizarse y estaría sujeto a errores y cambios posteriores.
Me imagino que podría hacer esto yo mismo con unas tres tablas de base de datos y algo de HTML/CSS, pero no tengo tiempo para retomar otro proyecto de programación. También sería bueno saber si existen herramientas para hacer este tipo de cosas antes de aventurarme en esa dirección.
Requisitos:
Es bueno tener:
Alternativamente, si hay un buen enfoque para esto en Visio, estoy abierto a sugerencias.
La organización automática de un árbol se puede hacer con Graphviz :
Ejemplo:
es generado por:
/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
digraph unix {
size="6,6";
node [color=lightblue2, style=filled];
"5th Edition" -> "6th Edition";
"5th Edition" -> "PWB 1.0";
"6th Edition" -> "LSX";
"6th Edition" -> "1 BSD";
"6th Edition" -> "Mini Unix";
"6th Edition" -> "Wollongong";
"6th Edition" -> "Interdata";
"Interdata" -> "Unix/TS 3.0";
"Interdata" -> "PWB 2.0";
"Interdata" -> "7th Edition";
"7th Edition" -> "8th Edition";
"7th Edition" -> "32V";
"7th Edition" -> "V7M";
"7th Edition" -> "Ultrix-11";
"7th Edition" -> "Xenix";
"7th Edition" -> "UniPlus+";
"V7M" -> "Ultrix-11";
"8th Edition" -> "9th Edition";
"1 BSD" -> "2 BSD";
"2 BSD" -> "2.8 BSD";
"2.8 BSD" -> "Ultrix-11";
"2.8 BSD" -> "2.9 BSD";
"32V" -> "3 BSD";
"3 BSD" -> "4 BSD";
"4 BSD" -> "4.1 BSD";
"4.1 BSD" -> "4.2 BSD";
"4.1 BSD" -> "2.8 BSD";
"4.1 BSD" -> "8th Edition";
"4.2 BSD" -> "4.3 BSD";
"4.2 BSD" -> "Ultrix-32";
"PWB 1.0" -> "PWB 1.2";
"PWB 1.0" -> "USG 1.0";
"PWB 1.2" -> "PWB 2.0";
"USG 1.0" -> "CB Unix 1";
"USG 1.0" -> "USG 2.0";
"CB Unix 1" -> "CB Unix 2";
"CB Unix 2" -> "CB Unix 3";
"CB Unix 3" -> "Unix/TS++";
"CB Unix 3" -> "PDP-11 Sys V";
"USG 2.0" -> "USG 3.0";
"USG 3.0" -> "Unix/TS 3.0";
"PWB 2.0" -> "Unix/TS 3.0";
"Unix/TS 1.0" -> "Unix/TS 3.0";
"Unix/TS 3.0" -> "TS 4.0";
"Unix/TS++" -> "TS 4.0";
"CB Unix 3" -> "TS 4.0";
"TS 4.0" -> "System V.0";
"System V.0" -> "System V.2";
"System V.2" -> "System V.3";
}
Puede agrupar nodos :
digraph G {
subgraph cluster_0 {
style=filled;
color=lightgrey;
node [style=filled,color=white];
a0 -> a1 -> a2 -> a3;
label = "process #1";
}
subgraph cluster_1 {
node [style=filled];
b0 -> b1 -> b2 -> b3;
label = "process #2";
color=blue
}
start -> a0;
start -> b0;
a1 -> b3;
b2 -> a3;
a3 -> a0;
a3 -> end;
b3 -> end;
start [shape=Mdiamond];
end [shape=Msquare];
}
yEd cumple con los requisitos enumerados, es potente y fácil de usar. Es gratuito y se ejecuta en varias plataformas (requiere Java).
Vea sus características .
Aquí está mi árbol de construcción hecho con él:
FreePlane es una herramienta gratuita y sencilla para crear árboles y mapas mentales. Lo uso para intercambiar ideas sobre casi todos mis proyectos de programación.
*.mm
para futuras ediciones .Aquí hay un par de ejemplos proporcionados por el desarrollador:
franck dernoncourt
Mawg dice que reincorpore a Monica