Basic ship modding tutorial?

Freeform discussion about anything related to modding Transcendence.
Post Reply
murlocdummy
Anarchist
Anarchist
Posts: 7
Joined: Mon Mar 11, 2013 10:16 am

Sun Apr 29, 2018 3:16 am

So, I've been trying to search for a very basic ship modding tutorial, but after several hours, I've found nothing on the subject. The closest thing I found was this page https://transcendence.kronosaur.com/gui ... exm?id=938 , which tells me the ins and outs of how to type up a mod, and even how to best organize the data, but no information on how to compile said data and put it into the game. Without this information, my modded game files are little more than a pen-and-paper fantasy of how I'd like a hypothetical game of Transcendence to go.

It's great that Pixelfck wrote up the tutorial, but without key information, it's extremely difficult to determine how to just make things work at their most basic level.

Derakon
Militia Lieutenant
Militia Lieutenant
Posts: 136
Joined: Sat Jan 21, 2017 2:53 am

Sun Apr 29, 2018 4:43 am

Your best bet is probably to just download an existing ship mod (I'm fond of the Avian Enterprises playerships mod, personally), open it up, and take a look. The modding documentation is unfortunately very incomplete, so you're going to have to do a lot of looking at what's already there and intuiting what it means. Ask questions though; some things people know and just haven't written down yet, so they can tell you, and if they tell you in public then your question is now (sort of) documented!

murlocdummy
Anarchist
Anarchist
Posts: 7
Joined: Mon Mar 11, 2013 10:16 am

Sun Apr 29, 2018 5:06 am

I seem to have figured out how to register the ship's UNID within the file itself, and it appears to work now. Of course, I'm unsure of how I actually did it, or how it really works. It works for now, but I suppose I'll need to do a great deal of bugtesting to see if it'll play nice with everything else.

relanat
Militia Captain
Militia Captain
Posts: 601
Joined: Tue Nov 05, 2013 9:56 am

Sat May 12, 2018 2:02 am

I'm unsure of how I actually did it, or how it really works.
Welcome to modding! Otherwise known (in my case) as 'random cut and paste until something works'!!

What in particular were you trying to do and where did you have problems? Adding or attaching your code will be of real benefit here. Don't worry if it isn't very polished or neat. It won't be as bad as some of the stuff I've posted or uploaded. Yuk!

I frequently used pixelfck's tutorial when I was learning and found it extremely useful. But it is written info and as such can it be difficult to transfer info using this format alone. As someone much wiser than me has stated in the forums, "If you can't understand something then there is a good chance that a lot of other people can't either, so if we sort it out a whole heap of new modders will benefit".

I'm willing to write a simpler tutorial on basic mods but it will be more useful if it can specifically cover the areas which caused you problems.

NMS
Militia Commander
Militia Commander
Posts: 473
Joined: Tue Mar 05, 2013 8:26 am

Sun May 13, 2018 6:07 am

Yes, welcome!

Entity declarations are used to convert human-readable text strings (entities) into the 32-bit integers used by the game (UNIDs), which are typically written as 8-digit hexadecimals. If you're planning to keep making mods, you should post in this thread to request a UNID range for yourself, to ensure your mods won't conflict with other users' mods or the core game.

It sounds like you've created a new ship, so you probably want it to appear in the game. You can do this by giving it an Encounter element to make it appear randomly in some systems on its own, or (more typically) by creating a station with an Encounter element that has your ships as guards and maybe in an Encounters element so they'll randomly attack the player sometimes in systems with that station. Or, you can add it to an existing ShipTable so it'll show up in place of those ships sometimes. You can also create ships at specified times and locations, but this requires learning to write code in TLisp.

If you want the ship to be usable by the player, it might need some extra data to control what the HUD looks like. I'm not sure exactly how much now, since the current beta version has some default HUD. To be selectable as a starting ship, it needs the attribute 00200000_PlayerShip and a PlayerSettings element. To be purchasable at a ship broker (in the beta), it needs the shipBroker attribute.

You can find examples of these things by searching the game's data files. I use Notepad++ for this.

Unfortunately, there isn't any comprehensive documentation, and what there is is scattered across the forum, the wiki, Ministry, and xelerus. But if you have more specific questions, we'll try to help.

Post Reply