Monthly Mod Jam — May 2016

Freeform discussion about anything related to modding Transcendence.
User avatar
AssumedPseudonym
Fleet Officer
Fleet Officer
Posts: 1215
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

 Greetings, Transcendence players! After missing April’s due to a variety of reasons and then just outright forgetting about May’s for almost a week after a busy start to the month, it’s time to start up the next edition of the Monthly Mod Jam. This month, you get to create a star system. I’ll be providing a basic template to work from below, including the topology adjustment necessary to get into it to test. To meet the requirements of this Jam, your system must include:

» At least one star.
» At least two planets.
» At least one asteroid belt or arc.
» The necessary stargate(s) to access it from neighboring systems.
» At least one friendly station.
» At least one enemy station.

 Also, Xephyr is not going to be my deputy this month, given that he’s unavailable for the next few weeks, so I’m currently flying solo on this. Bear with me, please.

 Templates will be added here, probably later tonight, and by tomorrow evening at the very latest. In the meantime, part of the inspiration for this month was actually this mod on Xelerus by relanat; I encourage you to give it a look if you want to get a head start on things before I get the templates posted.

 What I’m covering here is a static system type, not a randomized system type. That is, think Eridani or Rigel Aurelius instead of Lacaille or 70 Ophiuchi. Also, I won’t be dealing with either nebula systems or binary systems, but feel free to give them a shot if you’re feeling adventurous!
 First, of course, you need to define the system itself.

Code: Select all

	<SystemType UNID="&sySystemUNID;" 
		noExtraEncounters="true"
		noRandomEncounters="true"
		>
 Both noExtraEncounters and noRandomEncounters are optional. I would suggest setting noExtraEncounters="true" and omitting noRandomEncounters.
 If you want a random selection of stations to be able to show up here, you can define those as well.

Code: Select all

		<Tables>
			<!-- Random Stations -->
			
			<FriendlyStations>
				<Table>
					<Station weight="#" type="&stStationUNID;"/>
					<Null    weight="#"/>
				</Table>
			</FriendlyStations>

			<EnemyStations>
				<Table>
					<Station weight="#" type="&stStationUNID;"/>
					<Null    weight="#"/>
				</Table>
			</EnemyStations>

		</Tables>
 You can add as many stations as you like to each table. Replace “&stStationUNID” with the UNID of the station. In the weight="#" part, replace the # with the percentage chance you want for that particular station type. The <Null> entry adds the possibility (using the same percentage chance as its weight value) that there may not be any station at that location, and can be omitted if you want there to always be a station of some type there. The total of all of the weights should add up to 100.
 Now we’re on to actually laying out the system itself. The first thing you to do is get the <SystemGroup started and put in the star itself:

Code: Select all

		<SystemGroup>

			<Station type="&stStarUNID;" name="Star Name"/>

			<AddAttribute attributes="systemType"/>
 The star you choose will define what the color and distance of the system’s lighting. Here’s a list of UNIDs to use for stStarUNID and the associated systemType to use with it:

Code: Select all

 stStarClassM8 — redDwarfSystem
 stStarClassM5 — redDwarfSystem
 stStarClassM0 — redDwarfSystem
 stStarClassK5 — redDwarfSystem OR KTypeSystem
 stStarClassK0 — KTypeSystem
 stStarClassG5 — KTypeSystem OR GTypeSystem
 stStarClassG2 — GTypeSystem
 stStarClassG0 — GTypeSystem
 stStarClassF5 — GTypeSystem
 stStarClassF0 — GTypeSystem OR ATypeSystem
 stStarClassA5 — ATypeSystem
 stStarClassA0 — ATypeSystem
stRedGiantStar — redGiantSystem
You can probably mix-n’-match those, but I haven’t experimented with exactly what they do. Be advised that the results might feel… odd.  Also, if you’re making a binary system (which, like I said before, I’m not covering here), use “binarySystem” for the systemType.
 With the star in place, you can add a planet. The orbit needs described first:

Code: Select all

			<Orbitals distance="#" angle="#" eccentricity="#" rotation="#">
 The distance value can be a number or a dice range, and is in light seconds. Angle controls which direction from the star the planet or station can be found, and can be either a number or “random”. Eccentricity is how far off circular the orbit is, and can be omitted for a circular orbit. Rotation defines which direction the orbit’s apogee is from the star, and can either a number or simply omitted to make the angle random.
 Once the orbit is described, now we can get on with the planet itself:

Code: Select all

				<Group>
					<Primary>
						<Station type="&stPlanetUNID;" name="planetName" showOrbit="true" />
					</Primary>
				</Group>
			</Orbitals>
 The showOrbit="true" bit is optional, but all vanilla planets use it, so I don’t advise changing it. There are lots of UNID options that can be used as planets, more than I can really list here. I would suggest looking at the game’s source — specifically, in Transcendence.xml — for either “Planet” or “GasGiant” and copypasta the UNID into your code. Also, for note, you can just as easily replace the planet UNID with a station UNID to have a station in solar orbit (though you should probably remove the showOrbit="true" in that case). If you want a random station from that table you made at the first instead of a specific one, take the <Station> tag out entirely and replace it with:

Code: Select all

						<Lookup table="FriendlyStations"/>
 You can use the enemy stations table instead, of course, if you’d rather.
 If your planet is looking a bit lonely, you can give it a moon or orbiting station by adding another <Orbitals> section inside the <Group>. This will add an object in orbit around the planet (or station) defined inside the <Primary> section. You should wind up with something like this:

Code: Select all

			<Orbitals distance="#" angle="#" eccentricity="#" rotation="#">
				<Group>
					<Primary>
						<Station type="&stPlanetUNID;" name="planetName" showOrbit="true" />
					</Primary>
					<Orbitals distance="#" angle="#" eccentricity="#" rotation="#">
						<Group>
							<Primary>
								<Station type="&stPlanetUNID;" name="moonName"/>
							</Primary>
						</Group>
					</Orbitals>
				</Group>
			</Orbitals>
 You can nest <Orbitals> like that even further if you want. Also, if a particular object is not going to have anything orbiting it, you can omit the <Group> and <Primary> tags and go straight to the object’s code, like so:

Code: Select all

					<Orbitals distance="#" angle="#" eccentricity="#" rotation="#">
						<Station type="&stPlanetUNID;" name="moonName"/>
					</Orbitals>
 It is also possible to add an orbital object as a trojan or antitrojan, like how Raisu Station is placed in Eridani:

Code: Select all

				<Group>
					<Primary>
						<Station type="&stPlanetUNID;" name="planetName" showOrbit="true" />
					</Primary>
					<Trojan>
						<Station type="&stStationUNID;"/>
					</Trojan>
					<Antitrojan>
						<Station type="&stStationUNID;"/>
					</Antitrojan>
				</Group>
 …Unfortunately, I’m not going to be be able to get to either topology, stargates, or asteroids yet. Too much RL going on today, and that’s not likely to improve for most of the evening. I’ll get the rest of the thing put up tomorrow. >.<
Image

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

I'm super hyped that this is starting.
And super low coz its star systems.
I never made a star system before.
JohnBWatson
Fleet Officer
Fleet Officer
Posts: 1452
Joined: Tue Aug 19, 2014 10:17 pm

I think I'll actually have time for this one! A question - the hard - coded stations are supposed to have some significance, right? Mission givers, or at least unique in some way?

Also, a heads up to new modders - the tutorial in my signature covers everything here, though I'm sure the template will also do so.
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

JohnBWatson wrote:I think I'll actually have time for this one! A question - the hard - coded stations are supposed to have some significance, right? Mission givers, or at least unique in some way?

Also, a heads up to new modders - the tutorial in my signature covers everything here, though I'm sure the template will also do so.
Hey JBW! I sure use PBL, but haven't digged that deep yet. I'm still pounding my head on Watson Corp!
User avatar
AssumedPseudonym
Fleet Officer
Fleet Officer
Posts: 1215
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

 I’m still working on the template. I’m not good at that sort of thing, admittedly, so it’s slow going. I would have had it done in advance if I had actually figured out what this month’s MMJ was going to be ahead of time (note to self: Don’t make this mistake next month.) It will probably be kinda late tonight before I have the whole thing done up and ready.
JohnBWatson wrote:A question - the hard - coded stations are supposed to have some significance, right? Mission givers, or at least unique in some way?
 Not necessarily, and in fact preferably not. I don’t object to unique stations, since I covered stations in March, but I’d rather leave missions out of the equation for now. Missions will be covered in a future MMJ, and I’m going to address dockscreens before I get far. I don’t want to handle too much in the same event like I did with March’s.
Image

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)
User avatar
AssumedPseudonym
Fleet Officer
Fleet Officer
Posts: 1215
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

 I’ve updated the first post with part of what you need for a new system, but not all of it. RL has been fairly relentless today; I’m lucky to have gotten that much posted. x.x I’ll wrap it up tomorrow.
Image

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2831
Joined: Mon Aug 17, 2009 4:27 am

I've been chatting with AP on IRC, and have a pretty decent idea of what I'd like to do (tee hee hee). So unless things come up for me elsewhere, I'll be taking part in this. :)
Mischievous local moderator. She/Her pronouns.
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

Shrike wrote:I've been chatting with AP on IRC, and have a pretty decent idea of what I'd like to do (tee hee hee). So unless things come up for me elsewhere, I'll be taking part in this. :)
Yot don't mean...
PM
Fleet Admiral
Fleet Admiral
Posts: 2570
Joined: Wed Sep 01, 2010 12:54 am

noExtraEncounters="true" will prevent Tinkers and other guaranteed encounters from invading your system. (This is what I did to prevent them from appearing in the Star Castle Arcade adventure and ruining the retro-gaming experience.)
Download and Play in 1.9 beta 1...
Drake Technologies (Alpha): More hardware for combat in parts 1 and 2!
Star Castle Arcade: Play a classic arcade game adventure, with or without more features (like powerups)!
Playership Drones: Buy or restore exotic ships to command!

Other playable mods from 1.8 and 1.7, waiting to be updated...
Godmode v3 (WIP): Dev/cheat tool compatible with D&O parts 1 or 2.
User avatar
AssumedPseudonym
Fleet Officer
Fleet Officer
Posts: 1215
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

 I’m sorry, everyone, but I’m not going to be able to run the MMJ this month. Between other projects [size]*cough*TBR*cough*[/size] and a whole rash of RL that has been cropping up, trying to run this is going to be biting off more than I can chew. If anyone wants to take over for the month, I’d be more than happy to help where I can, but I’m not going to be able to handle being in charge of it or flying solo this month.
Image

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)
User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

The show must go on ! :D
After a quick chat with AP, I will take over this Monthly Mod Jam.

Hopefully between me and Xephyr will take it home this month too !:)

Deadline is May 31st.

Please submit your participation to me as private message or post in this thread.

I will be on IRC as much as possible to help with coders, alternatively private message me. :)

Everybody is welcome to give it a shot, if you are really in trouble and don't even know where to start from, well, we are here for help with that :D

And so... Challenge begins !!
User avatar
Song
Fleet Admiral
Fleet Admiral
Posts: 2831
Joined: Mon Aug 17, 2009 4:27 am

We're still missing some templates/how-to's. Anyone able to fill those in? The big one is probably stargates, since those are fairly important.
Mischievous local moderator. She/Her pronouns.
JohnBWatson
Fleet Officer
Fleet Officer
Posts: 1452
Joined: Tue Aug 19, 2014 10:17 pm

Shrike wrote:We're still missing some templates/how-to's. Anyone able to fill those in? The big one is probably stargates, since those are fairly important.
You could just grab that part from my tutorial. It's there to help people, so anyone's free to take what they need.
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

JohnBWatson wrote:
Shrike wrote:We're still missing some templates/how-to's. Anyone able to fill those in? The big one is probably stargates, since those are fairly important.
You could just grab that part from my tutorial. It's there to help people, so anyone's free to take what they need.
Please paste it here. I still can't make them.
User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

Thanks JohnBWatson, I'm going to do that:

Asteroids:
To place asteroids inside your system, we have to use Siblings

Code: Select all

<!-- Asteroid Belt -->

			<!-- Here, we generate an asteroid belt directly. Think of each 'Siblings' block as a for loop that creates a series of objects through the same code. For example, the first
			block will create the object defined by stMetallicAsteroidSizeA in a random position within 164 pixels of the main orbital, and does it 500 times. 
			Distribution defines how far they will be from the main orbital.-->

			<Orbitals distance="12387" scale="pixel" angle="random">
				<Group>
					<Siblings count="500" distribution="8d40-164">
						<Station type="&stMetallicAsteroidSizeA;"/>
					</Siblings>
				</Group>
			</Orbitals>
Distance is the distance from your main systemtype station (which usually is a star), count is the number of asteroids generated, distribution tells the engine to move the asteroid randomly around the orbital distance, otherwise the asteroids are put on the orbital in a perfect circle :)

you can apply one of the random variants asteroids, so that your asteroid belt won't look all the same:

Code: Select all

stRockyAsteroidSizeA
stRockyOuterAsteroidSizeA
stRockyAsteroidSizeB
stRockyOuterAsteroidSizeB
stRockyAsteroidSizeC
stRockyOuterAsteroidSizeC
stRockyAsteroidSizeD
stRockyOuterAsteroidSizeD
stVolcanicAsteroidSizeA
stVolcanicAsteroidSizeB
stVolcanicAsteroidSizeC
stVolcanicAsteroidSizeD
stMetallicAsteroidSizeA
stMetallicAsteroidSizeB
stMetallicAsteroidSizeC
stMetallicAsteroidSizeD
stIceAsteroidSizeA
stIceAsteroidSizeB
stIceAsteroidSizeC
stIceAsteroidSizeD
stPrimordialAsteroidSizeA
stPrimordialAsteroidSizeB
stPrimordialAsteroidSizeC
stPrimordialAsteroidSizeD

and you can also mix and match by adding a few isolated asteroids by adding additional Siblings
The types of asteroid you can use are:

Code: Select all

stSmallAsteroid
stMediumAsteroid
stLargeAsteroid
stSmallIceAsteroid
stLargeIceAsteroid
stSmallVolcanicAsteroid
stMediumVolcanicAsteroid
stSmallFrostAsteroid
stMediumFrostAsteroid
stSmallMetallicAsteroid
stMediumMetallicAsteroid
stOreSmallAsteroid
stOreSmallFrostAsteroid
stOreSmallVolcanicAsteroid
stOreMediumAsteroid
stOreMediumFrostAsteroid
stOreMediumVolcanicAsteroid
stOreSmallMetallicAsteroid
stOreMediumMetallicAsteroid
Post Reply