// Compiled by CJ Kucera (pez@apocalyptech.com), November 2017
// https://apocalyptech.com/games/uqm/
//
// Released into public domain, or specifically CC0 1.0 Universal
// https://creativecommons.org/publicdomain/zero/1.0/
// Some of this data (and the base coloration) taken from a handy
// graph at http://tasvideos.org/1493S.html
digraph uqm {
labelloc = "t";
fontsize = 25;
label = https://apocalyptech.com/games/uqm/
CC0 1.0 Universal - https://creativecommons.org/publicdomain/zero/1.0/>;
// Items
{
node [style=filled fillcolor=green];
egg_fragment [label=(only need one)
Beta Copernicus I
Gamma Scorpii I
Gamma Brahe I>];
sphere [label=(from Druuge)>];
helix [label=Zeta Draconis I>];
spindle [label=(from Pkunk)>];
ultron [label=(from Supox)>];
ultron_fixed [label=(use Ship Manifest)>];
warp_pod [label=Alpha Pavonis VII>];
sun_device [label=Beta Brahe I>];
portal_spawner [label=In Quasispace, at
Falayalaralfali>];
shield [label=Delta Vulpeculae IIc>];
bomb [label=Zeta Hyades VIb>];
super_bomb [label=Procyon II
(may happen immediately
after Chmmr, if all items
are available)>];
talking_pet [label=Beta Orionis I>];
beast [label=Delta Lyncis I
(Location clue will be given
by ZEX but not required)>];
maidens [label=Alpha Cerenkov I>];
subgraph cluster_caster {
label=<(choose one)>;
bgcolor=azure2;
penwidth=0;
fontsize=14;
caster_burvix [label=Arcturus Ia>];
caster_umgah [label=Epsilon Gruis Ia>];
}
}
// People
{
node [style=filled fillcolor=orange];
druuge [label=Zeta Persei I
(Trade egg fragment
or spare Caster)>];
pkunk [label=Gamma Krueger I>];
pkunk_convince [label=to turn back
(Periodic)>];
supox [label=Around Librae>];
orz [label=Around Vulpeculae>];
arilou [label=Meet Arilou at Homeworld
Around Chandrasekhar,
from 17th-19th>];
utwig [label=Around Aquarii>];
umgah [label=Beta Orionis I>];
chmmr [label=Procyon II>];
syreen [label=show egg fragment
Betelgeuse I>];
syreen_plan [label=with Syreen
Betelgeuse I>];
syreen_ally [label=Betelgeuse I>];
mycon_distract [label=Epsilon Scorpii I>];
spathi [label=Epsilon Gruis Ia>];
zoq [label=Alpha Tucanae I>];
zoq_rescue [label=from Kohr-Ah
Alpha Tucanae I>];
slylandro [label=them probes are dangerous
Beta Corvi IV>];
zex [label=Alpha Cerenkov I>];
tanaka [label=give Maidens
Delta Gorno>];
yehat [label=Around Serpentis/Scuti>];
subgraph cluster_spathi {
label=<(choose one)>;
bgcolor=azure2;
penwidth=0;
fontsize=14;
fwiffo [label=Sol, Pluto>];
melnorme_spathi [label=from Melnorme>];
}
subgraph cluster_ilwrath {
label=<(choose one)>;
bgcolor=azure2;
penwidth=0;
fontsize=14;
ilwrath [label=Alpha Tauri>];
thraddash [label=Around Draconis
(Kill 25 Torches)>];
thraddash_divert [label=attack Kohr-Ah
Around Draconis>];
}
subgraph cluster_syreen {
label=<(choose one)>;
bgcolor=azure2;
penwidth=0;
fontsize=14;
mycon [label=Epsilon Scorpii I
(ask about egg fragments)>];
melnorme_egg [label=info from Melnorme>];
}
}
// Actions
{
node [style=filled fillcolor=oldlace];
slylandro_attack [label=Slylandro probe>];
slylandro_loc [label=Slylandro location
(Melnorme, Thraddash,
Zoq-Fot-Pik)>];
zoq_investigate [label="direction of Rigel"
Rigel>];
zoq_wait [label=];
syreen_vault [label=Epsilon Camelopardalis Ia>];
sa_matra [label=endgame
Delta Crateris V>];
syreen_wait [label="Wait a month or two"];
spathi_cypher [label="Learn Spathiwa Cypher"];
spathi_wait [label="Wait several months"];
spathi_investigate [label=disappearance
Epsilon Gruis Ia>];
zex_location [label=ZEX and Shofixti
Maidens from Melnorme
(not actually required)>];
shofixti_wait [label=];
shofixti_ship [label=to fleet
Sol, Earth>];
lander_upgrades [label=from Melnorme>];
warp_pod_info [label=Ur-Quan crash
(not actually required)
(Umgah, Thraddash,
Melnorme, Arilou)>];
quasispace_info [label=Quasispace portal
(not actually required)
(Melnorme, Spathi, Arilou)>];
distract_thraddash [label="Thraddash distracted"];
burvix_info [label=Burvixese from Melnorme
(not actually required)>];
}
// This subgraph is just here to improve some placement for a few of the
// optional questlines (specifically Zoq-Fot-Pik alliance, dealing with
// the Slylandro probes, Shofixti repopulation/alliance, and Yehat civil
// war). Should other parts of the graph change, this could end up making
// things really wonky, so if you change anything else, it may be best to
// at least temporarily comment this out and see how things are.
{
rank=same;
edge [style=invis minlen=17];
zoq_investigate -> slylandro_attack -> zex_location;
}
zex_location -> zex [style=dotted];
zex -> beast [style=dotted];
zex -> maidens;
lander_upgrades -> beast;
beast -> maidens;
maidens -> tanaka;
tanaka -> shofixti_wait;
shofixti_wait -> shofixti_ship;
shofixti_ship -> yehat;
slylandro_attack -> slylandro_loc [style=dotted];
slylandro_loc -> slylandro [style=dotted];
slylandro_attack -> slylandro;
zoq_investigate -> zoq;
zoq -> zoq_wait;
zoq_wait -> zoq_rescue;
fwiffo -> spathi_cypher [style=dotted];
melnorme_spathi -> spathi_cypher [style=dotted];
spathi_cypher -> spathi;
spathi -> spathi_wait;
spathi_wait -> spathi_investigate;
spathi_investigate -> caster_umgah;
burvix_info -> caster_burvix [style=dotted];
caster_burvix -> ilwrath [style=dotted];
caster_umgah -> ilwrath [style=dotted];
ilwrath -> distract_thraddash [style=dotted];
thraddash -> distract_thraddash [style=dotted];
thraddash_divert -> distract_thraddash [style=dotted];
distract_thraddash -> helix;
helix -> ultron_fixed;
egg_fragment -> druuge;
druuge -> sphere;
sphere -> ultron_fixed;
egg_fragment -> mycon;
mycon -> syreen [style=dotted];
melnorme_egg -> syreen [style=dotted];
egg_fragment -> syreen;
syreen -> syreen_vault;
syreen_vault -> syreen_plan;
syreen_plan -> mycon_distract;
mycon_distract -> sun_device;
sun_device -> chmmr;
chmmr -> super_bomb;
ilwrath -> chmmr;
mycon_distract -> syreen_wait;
syreen_wait -> syreen_ally;
pkunk -> spindle;
spindle->ultron_fixed;
pkunk -> pkunk_convince;
supox -> ultron;
ultron -> ultron_fixed;
ultron_fixed -> utwig;
utwig -> bomb;
bomb -> super_bomb;
warp_pod_info -> warp_pod [style=dotted];
warp_pod -> portal_spawner;
quasispace_info -> arilou [style=dotted];
arilou -> portal_spawner;
arilou -> talking_pet;
orz -> shield;
shield -> talking_pet;
talking_pet -> umgah;
talking_pet -> super_bomb;
super_bomb -> sa_matra;
}