Mod Challenge

Freeform discussion about anything related to modding Transcendence.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

just thought of a new evil one :twisted:

Make a random gate. ie when you go through a gate you would go to a random system in a set of systems, the set of systems would depend on the random gate that you went thru. This can be done in the current version.
Crying is not a proper retort!
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

Using the Prev value in the gate system has made some interesting random linking arrays possible- random only when made in the game first, in-game the path chosen is solid.

This can easily make some interesting side branches-

I set up the shorthand like levels- from an entry node, any of level 1 set of nodes- from those down next level, and so on- common nodes take the shortest route to the End node- but in the array are also rare nodes that lead to further sections where some form of trick/trap/reward could be placed.

Entry from various points is possible, exit from and exiting to can also be various nodes.

The maze example uses 'levels' to separate areas, but without totally random linking that would be more devious, and it's hard to tell the difference from level 1 or 2.

Using a Prev based system which is intended to be traveled initially in one direction only, maze type node structures can be created from an array of nodes for each game with a decent spread of unique paths through them.

However, it just gives you more systems to exploit Betelgeuse.

If there were some reasons to search through these branches and mazes- such as a new set of systems that had some unique and valuable stations in them that you would never ever find in the normal systems- and you would only have a slim chance of linking into these bonus systems in a given game- making some of the mazes pointless, in some games.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

you can make a gate that when entered more than once it can take you to different places. So every time you enter the gate you can make it so you are not sure where you are going no matter how many times you have used the gate.
Crying is not a proper retort!
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

Post the code. :) Please, really do.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

its a mod challenge but I will give you a hint. Random gates will need two keys two enter instead of the normal one key.
Crying is not a proper retort!
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

No way buddy- your mod challenge is posted at the top. And I am the only sucker biting, so you can reward me by posting the method for random gates
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

Code: Select all

(enum (sysFindObject gSource "T:ranGate;") ranGate
		(block (gateTo)
			(setq gateTo (random 0 (objGetStaticData ranGate "ranSetSize")))
			(if (leq (objGetDistance gplayership ranGate) 3)
				(objGateTo gplayership (item (objGetStaticData ranGate "ranSysDest") gateTo) (item (objGetStaticData ranGate "ranDest") gateTo) &efStargateOut;)
				)
			)
		)
just put that in an item and make a station with a ranGate attribute and three static data ranSetSize (how many random systems this links to -1), ranSysDest (a list of systems where it goes to), ranDest (a list in the same order as ranSysDest with the names of the markers where you go too)

edit: if you can find out the format for sysFindObject string I would be so greatful.
Crying is not a proper retort!
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

hmm.. but that's not a gate.

I bet that the portable stargates that Apemant wrote could be altered to work off a list such as ranDest or ranSysDest- of course they need not be portable.

Static list still- guess that's hard to avoid.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

hmm oh ya you are right that is only for one random gate but thats easy enough to get around make a function that relates the system you are in with a number then get the list within a list. I would rather have it generated with the system I don't want them generated anywhere.
Crying is not a proper retort!
User avatar
Periculi
Fleet Officer
Fleet Officer
Posts: 1282
Joined: Sat Oct 13, 2007 7:48 pm
Location: Necroposting in a forum near you

I wonder if we could build the name of the node in a script from the dockscreen or invoke we used- such as using nodes named in a sequence- R1 R2 R3- then you wouldn't need a list, per se. The list could exist in the actual node names, the random selection would roll for the #, and more levels could be added- (R + 1-10 + A-D ) = R1A to R10D.

Each invoke or ds selection could then roll from a random selection to create the objGateTo target, without accessing a list, but instead simply built based on the range of choices in the node structure.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

that would work but not be very flexible.
the lists could emulate that but that can not emulate the lists.
Such as you can't have a random gate be a mix of two other random gates
Crying is not a proper retort!
User avatar
Ttech
Fleet Admiral
Fleet Admiral
Posts: 2767
Joined: Tue Nov 06, 2007 12:03 am
Location: Traveling in the TARDIS
Contact:

:?
Image
Image
Post Reply