Topology in 0.99

Freeform discussion about anything related to modding Transcendence.
Post Reply
Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Tue Oct 14, 2008 9:37 pm

I know it's possible to make a completely new topology in an extension, with AdventureDesc tag (and SystemTopology) - but, is it possible to 'add' a system to the existing, built-in topology? Sort of like Huari.xml adds a system to the topology? I tried emulating the same stuff from Huari but either I'm doing something wrong or... ?

User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1259
Joined: Sat Oct 13, 2007 7:48 pm
Location: By the beach

Tue Oct 14, 2008 9:47 pm

No.

That is to say, you will need to create an adventure extension to make any alterations to the existing topology whatsoever.

The huari homeworld is a node that is included in the main topology, via modules. It exists at the beginning of the game, and is linked to- the node is not created by the script, it is simply linked to the main topo structure.

Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Tue Oct 14, 2008 9:56 pm

Periculi wrote:No.

That is to say, you will need to create an adventure extension to make any alterations to the existing topology whatsoever.

The huari homeworld is a node that is included in the main topology, via modules. It exists at the beginning of the game, and is linked to- the node is not created by the script, it is simply linked to the main topo structure.
But it is not connected in the main topology outright - it gets connected via sysAddStargateTopology, does it not? And that happens in that OnGlobalTopologyCreated event. It just somehow seems 'artificial' that you can't do the same thing in an extension; obviously the engine knows how to 'add' topologies from different xmls - why not allow the same thing in an extension?

User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1259
Joined: Sat Oct 13, 2007 7:48 pm
Location: By the beach

Wed Oct 15, 2008 7:32 pm

The node must exist- the gate between it and another node is what is created. The event adds a link randomly from a set of systems that match the level and attribute needed at the beginning of the game- in the case of Huari, in reality the node is much like Elysium- it's in the entire set for the vanilla topology.

The entire topology is loaded at the game start, and includes all the possible nodes- in the vanilla game, transcendence.xml and modules can add nodes to the topology- to extend the vanilla topology you must add a node somewhere- but there is no way to add it to the 'built in' topology without altering the xml files.

The game does not know how to add nodes from separate topologies- but the core files can add to the main topology node set. In that sense, the core files are a single adventure extension, but unable to add nodes from other adventure extensions.

Adventure extensions we can add through the extensions folder load a new topology in place of the vanilla one, which must be contained in the adventure extension entirely- you can't get two adventure extensions to join into a single topology- none of the topology structures are 'socketable' in that fashion.

There are NO functions to create new nodes. The functions provided to deal with the topology only establish links between existing nodes.

If you want to easily splice nodes into the main topology, use the xml files- unpack the game and go from there. Alternately, copy over the vanilla topology to an adventure extension, and add your nodes as desired.

Hope that helps.

Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Thu Oct 16, 2008 7:43 pm

Periculi wrote: Hope that helps.
Wish I could say yes, but unfortunately no. I know all this, what you go into great detail above - I'm just wondering aloud WHY it is like that. I mean, I don't think there is a technical reason for that; it's just a limitation I would like to see gone in the next version, like some other extension limitations were eventually removed. Is there a wish list thread around here?

In case someone is curious, what I would need this for is to create a 'QuasiSpace' similar to that from the Star Control 2 (actually I played the remake, Ur-Quan Masters - an awesome game, wonderful story, great laughs, esp. with those Thraddash lunatics :lol: ). Now to make something like that I need an entire adventure extension, a brand new topology... sure, I could just c&p the one from the transcendence.xml but that sounds as a rather 'brute' approach to something so simple...

User avatar
Mutos
Militia Lieutenant
Militia Lieutenant
Posts: 218
Joined: Thu Aug 14, 2008 3:31 am
Location: Near Paris, France
Contact:

Thu Oct 16, 2008 8:34 pm

@+

Benoît 'Mutos' ROBIN
Hoshikaze 2250 Project

User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1259
Joined: Sat Oct 13, 2007 7:48 pm
Location: By the beach

Fri Oct 17, 2008 2:14 am

Why don't you just add the nodes you want in the XML version of the game?

Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Fri Oct 17, 2008 1:49 pm

Periculi wrote:Why don't you just add the nodes you want in the XML version of the game?
No other reason except it can't be a 'pure' extension, you know, a thing you just have to unpack to the 'Extensions' folder and it works. To tell you the truth, I never even added those <Marker> things to every system in the topology, required for the previous version of my portable stargates. :lol: I only added it to Eridani system and the next one. I'm THAT lazy.

User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1259
Joined: Sat Oct 13, 2007 7:48 pm
Location: By the beach

Fri Oct 17, 2008 4:42 pm

:lol: There are beacons in all the systems from mods I released for topology from then on. If you happen to need them for some reason.

The extensions systems leaves a little lacking- for instance, the system global tables can't be extended- if you wanted to alter the planet tables that define what moons and other orbital features are added, you would have to redefine new tables in every system locally- that is 'brute force' in the extreme.

The limits of adventure extension topology doesn't really bother me too much- considering that it's not really that big of an issue to c&p the vanilla topology. I think it's good enough. It might be nice to have a way to splice new nodes into a topology, but George would need to add a whole new type of system topology class to do that, and it's not really worth the small convenience gained.

Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Fri Oct 17, 2008 7:33 pm

Periculi wrote::lol: There are beacons in all the systems from mods I released for topology from then on. If you happen to need them for some reason.
Don't need them now that sysCreateStargate actually creates a 'named' gate, to which you can later objGateTo. It's the only function right now that allows dynamic 'names' of the kind that objGateTo recognizes.

Periculi wrote:The extensions systems leaves a little lacking- for instance, the system global tables can't be extended- if you wanted to alter the planet tables that define what moons and other orbital features are added, you would have to redefine new tables in every system locally- that is 'brute force' in the extreme.
:lol: I'm sure you find it very frustrating....

Periculi wrote:The limits of adventure extension topology doesn't really bother me too much- considering that it's not really that big of an issue to c&p the vanilla topology. I think it's good enough. It might be nice to have a way to splice new nodes into a topology, but George would need to add a whole new type of system topology class to do that, and it's not really worth the small convenience gained.


But I don't think it would require any special extra coding... like I said, it already accepts <SystemTopology> tags from multiple xmls, but they have to be <TranscendenceModule>s. Why not simply splice those tags from extensions as well? I don't see how that could be any real difficulty...

User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1259
Joined: Sat Oct 13, 2007 7:48 pm
Location: By the beach

Fri Oct 17, 2008 10:21 pm

If they all get spliced, how do you define an alternate topology? I wouldn't really want to be limited to only adding nodes to the single core topology. I like the fact that adventure extensions are treated as separate topologies and game element definitions- it's a great feature to be able to load different adventures with own sets of items, sovs, ships, topology and anything else that doesn't get placed into the main game. It creates a way to play many different versions of transcedence without constantly changing extension files.

Maybe allowing <system topology> additions in regular extensions would be interesting and allow easy extension of the core topology- but I would still prefer to have the separate topologies as a part of the extension system.

Apemant
Commonwealth Pilot
Commonwealth Pilot
Posts: 94
Joined: Mon Dec 03, 2007 12:51 pm

Sat Oct 18, 2008 3:13 pm

Periculi wrote:If they all get spliced, how do you define an alternate topology?
Eh? Rather easy - if it is under <TranscendenceAdventure> then you obviously want a completely custom topology. But if it's a <TranscendeceExtension> then it just adds the nodes from the topology to the build-in one. As easy as 1,2,3. :lol:

Periculi wrote:Maybe allowing <system topology> additions in regular extensions would be interesting and allow easy extension of the core topology- but I would still prefer to have the separate topologies as a part of the extension system.
You make it sound as if it's mutually exclusive while it most obviously isn't. It could be quite easily made to support both approaches. 8)

Post Reply