this is just my old mod wants post with some revisions and now with ratings (1) is the lowest and (10) is the hightest
1. Functions
The ability to import, overwrite, or create new functions in extensions. I would like to see functions have IDs. (1)
The ability to return a value from a function that is not in the same extension. (5)
2. Events
A event fired for the following things.
Weapon firing (5)
Weapon striking or detonating (7)
Armor taking damage (3)
AfterCreate so you can do different things just after the ship or station is created (10)
Item Equipping (5 can be added in a mod)
Item Unequipping that can return a value that allows you to not allow the unequipping (5 can be added in a mod)
a function for a system for whenever you gate in that can tell if you have been there before (10)
3. General
Allow for random stats from game to game such as 2D6 Mass or damage. (10)
Allow for a random table for images (7)
Allow the modder to access and change any stat from in code. (10)
Change frequency so it is a number so we can have more levels of rareness. (5)
Allow a way so you can have unidentified items not all cost the same for a given class. Such as a list of prices to randomly choose from. (1)
4. Weapons
Move Missiles into there own category and just list the missiles a weapon can use. (7)
Have Configuration allow for delays between the different parts of the shot. (7)
Allow modder to define the path of the weapon. Such as a curved path or a wave. (7)
Allow configuration to support repeating (already in if you allow a delay) (5)
Allow for different than standard power uses when not being fired. (8)
5. Shields and Armor
Allow the modder to add more damage types without changing every shield and armor. (8)
Allow for different than standard power use when at full and a different one at empty. (7)
6. ShipClass
Allow for random starting devices. (10)
Allow for random stats (mass, turn speed, and whatnot). (10)
Allow for random image while putting a specified image on the ship choosing. (10)
Have some more AISettings and orders such as bravery. (8)
7. StarSystemDescription
Make it able to allow for different amounts of gates. (10 but I think you are planning it anyway)
Let random choosing be able to choose predefined planets not just random ones. (10 would help spice up predefined systems alot such as the first system never has anything anymore on the outer planet)
Allow this to be put in an extension. (10 but you are planning to anyway)
Allow the modder to define what random things come through the gates and be able to specify what comes through what gate. (10 would help alot in theme systems)
8. StarSystemTopology
Allow system names to be chosen from a global pool. (10 this is the hardest thing about making a good random network that will not be memorised)
Give the topology an ID and allow multiple ones in the same extension. (10 so you can pick and choose the topology with a mod)
9. Starting ending and cinematics
disable player control (7)
pause and ignore ship (don't want ships not in the cinematic being shot at or shooting, paused ships don't use fuel) (7)
fire weapon (being able to fire a given weapon even if not equiped, this would also be useful in making robotic firing devices too) (8)
camera move (not sure how easy it would be to do this, could fake it)
disable interface (so you don't have to look at the gauges during the cinematic) (7)
play sound (7)
starting function so you can have a beginning cinematic (7)
allow for multiple endings (9)
any others that people want?
mod wants revamped
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
Crying is not a proper retort!
I figured I'd throw in a few comments on you high fliers before moving to my own.
As for me, I would like to see improvements to the dockscreen UI to add windows, customizable fonts, and dynamic <Action> creation.
Ummm, is <onCreate> not enough? Even if not, you can set a timer event to trigger a tick after the ship is created.Betelgeuse wrote:-AfterCreate so you can do different things just after the ship or station is created (10)
George has confirmed that he will be adding the ability to use (objSetData ...), or some variation of it, on nodes in the next release.Betelgeuse wrote:-a function for a system for whenever you gate in that can tell if you have been there before (10)
This would only work if the value was only randomized when the game started. If each instance of an item had a different mass, bad things would happen.Betelgeuse wrote:-Allow for random stats from game to game such as 2D6 Mass or damage. (10)
See aboveBetelgeuse wrote:-Allow the modder to access and change any stat from in code. (10)
More damage type? Why? There are already more than enough. How would old armors and shield cope with your new Super Sainan damage type with an attack power of over 9 THOUSAND?Betelgeuse wrote:-Allow the modder to add more damage types without changing every shield and armor. (8)
I agree on this one, but if I really need to do this, I just handle it in the <onCreate> event.Betelgeuse wrote:-Allow for random starting devices. (10)
Once in the beginning yes, each ship no. Same as above.Betelgeuse wrote:-Allow for random stats (mass, turn speed, and whatnot). (10)
Hmm, image variants exist for a reason you know.Betelgeuse wrote:-Allow for random image while putting a specified image on the ship choosing. (10)
More AI makes for a slower game though.Betelgeuse wrote:-Have some more AISettings and orders such as bravery. (8)
Umm, why can't you do that now?Betelgeuse wrote:-Make it able to allow for different amounts of gates. (10 but I think you are planning it anyway)
There's no reason those planets have to be static. The xml is just written that way.Betelgeuse wrote:-Let random choosing be able to choose predefined planets not just random ones. (10 would help spice up predefined systems alot such as the first system never has anything anymore on the outer planet)
I don't think so, any changes to the StarSystemTopology would need UNIDs in the main xml.Betelgeuse wrote:-Allow this to be put in an extension. (10 but you are planning to anyway)
Reoccuring timer events and ship creates can do that. But being able to use encounter tables wouldn't hurt.Betelgeuse wrote:-Allow the modder to define what random things come through the gates and be able to specify what comes through what gate. (10 would help alot in theme systems)
Wouldn't hurtBetelgeuse wrote:-Allow system names to be chosen from a global pool. (10 this is the hardest thing about making a good random network that will not be memorised)
Why do you need multiple topologies? Why not have one branched one as it is now? If you really wanted, you could throw a timer event in the <onCreate> event of Eridani station and jump the player to a different branch as soon as the game starts.Betelgeuse wrote:-Give the topology an ID and allow multiple ones in the same extension. (10 so you can pick and choose the topology with a mod)
As for me, I would like to see improvements to the dockscreen UI to add windows, customizable fonts, and dynamic <Action> creation.
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
Betelgeuse wrote:-AfterCreate so you can do different things just after the ship or station is created (10)
<onCreate> doesn't work for player ships and certain stations in the first systemBurzmali wrote:Ummm, is <onCreate> not enough? Even if not, you can set a timer event to trigger a tick after the ship is created.
Betelgeuse wrote:-a function for a system for whenever you gate in that can tell if you have been there before (10)
the point was more for a function to run when you enter that system. I knew about the objdataBurzmali wrote:George has confirmed that he will be adding the ability to use (objSetData ...), or some variation of it, on nodes in the next release.
Betelgeuse wrote:-Allow for random stats from game to game such as 2D6 Mass or damage. (10)
Thats what I was hoping for randomized at the start of the gameBurzmali wrote:This would only work if the value was only randomized when the game started. If each instance of an item had a different mass, bad things would happen.
Betelgeuse wrote:-Allow the modder to access and change any stat from in code. (10)
maybe have custom items would solve that problem. ie you can only change the stats of an one of a kind item and you can create them off of regular item templatesBurzmali wrote:See above
Betelgeuse wrote:-Allow the modder to add more damage types without changing every shield and armor. (8)
Well I have often wanted to make something that can only be effected by one weapon and that one weapon would be inefective against everything elseBurzmali wrote:More damage type? Why? There are already more than enough. How would old armors and shield cope with your new Super Sainan damage type with an attack power of over 9 THOUSAND?
Betelgeuse wrote:-Allow for random starting devices. (10)
<onCreate> doesn't work with player ships and would be much easier just to have a table do it for usBurzmali wrote:I agree on this one, but if I really need to do this, I just handle it in the <onCreate> event.
Betelgeuse wrote:-Allow for random stats (mass, turn speed, and whatnot). (10)
dittoBurzmali wrote:Once in the beginning yes, each ship no. Same as above.
Betelgeuse wrote:-Have some more AISettings and orders such as bravery. (8)
not really each ai would be seperate (just think of it as replacing normal ai with a different ai). Different ship classes would follow different ai.Burzmali wrote:More AI makes for a slower game though.
Betelgeuse wrote:-Make it able to allow for different amounts of gates. (10 but I think you are planning it anyway)
to do that now you have to make a system with each different amount of gates, you can't make one with 2-4 gates you have to make them seperatlyBurzmali wrote:Umm, why can't you do that now?
Betelgeuse wrote:-Let random choosing be able to choose predefined planets not just random ones. (10 would help spice up predefined systems alot such as the first system never has anything anymore on the outer planet)
predefined planets are not chosen when putting down random stations. I would like that changed.Burzmali wrote:There's no reason those planets have to be static. The xml is just written that way.
many things you said where me not saying what I wanted clearly or a misunderstanding on how the game works (such as the oncreate thing not working for player ships). Making it easier for modders is also a big point of many of my wants.
Crying is not a proper retort!
I doubt that the stations lack an <onCreate> event, though I guess an <InitialConditions> section as part of the <PlayerShip> tag could be helpful for dealing with setting up player credits and having them hunted by the mob and what not.Betelgeuse wrote:Betelgeuse wrote:-AfterCreate so you can do different things just after the ship or station is created (10)<onCreate> doesn't work for player ships and certain stations in the first systemBurzmali wrote:Ummm, is <onCreate> not enough? Even if not, you can set a timer event to trigger a tick after the ship is created.
Then just put an <onCreate> event on the sun in the system and have the first line be (objSetData gPlayerShip "VisitedSystem" True), in the future, george will let us store the data directly in the Node.Betelgeuse wrote:Betelgeuse wrote:-a function for a system for whenever you gate in that can tell if you have been there before (10)the point was more for a function to run when you enter that system. I knew about the objdataBurzmali wrote:George has confirmed that he will be adding the ability to use (objSetData ...), or some variation of it, on nodes in the next release.
Maybe, if George were so inclined, he could create a new MorphItem class that doesn't stack and is treated like a normal item only in specific cases. Of course, this would require that he code his Item class.Betelgeuse wrote:Betelgeuse wrote:-Allow the modder to access and change any stat from in code. (10)maybe have custom items would solve that problem. ie you can only change the stats of an one of a kind item and you can create them off of regular item templatesBurzmali wrote:See above
Feh, that's a lot of work for something that can easily be handled by an <Invoke>. Give enemy "Shield of DOOM", but when "MacGuffin of COOLNESS" is used, the shield is disabled. I know that isn't exactly what you want, but it is quick and easy to do.Betelgeuse wrote:Betelgeuse wrote:-Allow the modder to add more damage types without changing every shield and armor. (8)Well I have often wanted to make something that can only be effected by one weapon and that one weapon would be inefective against everything elseBurzmali wrote:More damage type? Why? There are already more than enough. How would old armors and shield cope with your new Super Sainan damage type with an attack power of over 9 THOUSAND?
I suppose the copy-paste function is broken on you computerBetelgeuse wrote:Betelgeuse wrote:-Make it able to allow for different amounts of gates. (10 but I think you are planning it anyway)to do that now you have to make a system with each different amount of gates, you can't make one with 2-4 gates you have to make them seperatlyBurzmali wrote:Umm, why can't you do that now?

So you want specific planets matched to a station? If so, just generate them as a single station type, with the planet as the primary and the station in orbit.Betelgeuse wrote:Betelgeuse wrote:-Let random choosing be able to choose predefined planets not just random ones. (10 would help spice up predefined systems alot such as the first system never has anything anymore on the outer planet)predefined planets are not chosen when putting down random stations. I would like that changed.Burzmali wrote:There's no reason those planets have to be static. The xml is just written that way.
Well, I guess I value stablity and content more. It would really suck to have great modding tools, but have to worry endlessly about compatiblity.Betelgeuse wrote: many things you said where me not saying what I wanted clearly or a misunderstanding on how the game works (such as the oncreate thing not working for player ships). Making it easier for modders is also a big point of many of my wants.
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
copy paste like that is the enemy of good code. I know it isn't needed but why make 4 different copies of each system. It makes changing them later hard and makes debugging that much harder. This isn't about making a random system it is about code reuse.Burzmali wrote: I suppose the copy-paste function is broken on you computer Wink As I said, you need to think outside the box a bit more. If you want a network, you are going to need it strictly defined. If you want branches, create the system where the branch occurs, and generate its location randomly. Massive random but connected networks take a lot of work to generate, Static one are simple, and if you randomly generate the contents of the systen, who is going to notice?
Crying is not a proper retort!
Well, if you ask really nice, maybe you could convince George to include a check during system generation which erases a stargate that does connect to a node.Betelgeuse wrote:copy paste like that is the enemy of good code. I know it isn't needed but why make 4 different copies of each system. It makes changing them later hard and makes debugging that much harder. This isn't about making a random system it is about code reuse.Burzmali wrote: I suppose the copy-paste function is broken on you computer Wink As I said, you need to think outside the box a bit more. If you want a network, you are going to need it strictly defined. If you want branches, create the system where the branch occurs, and generate its location randomly. Massive random but connected networks take a lot of work to generate, Static one are simple, and if you randomly generate the contents of the system, who is going to notice?
- goat not sheep
- Militia Captain
- Posts: 669
- Joined: Fri May 19, 2006 8:36 pm
- Location: ...
- Contact:
Tell you what...I do want one thing.... I wanted to create this...carrier, which launches fighters....but I don't think the AI will order it to launch fighters....just...fire the weapons it's equiped with.
>.<
- goat not sheep
- Militia Captain
- Posts: 669
- Joined: Fri May 19, 2006 8:36 pm
- Location: ...
- Contact:
...wha? I don't understand thatt... so:
(shpIsUnderAttack usehangar)
or something like that...?
(shpIsUnderAttack usehangar)
or something like that...?
>.<
- Betelgeuse
- Fleet Officer
- Posts: 1920
- Joined: Sun Mar 05, 2006 6:31 am
thats an idea have ai use items. (not sure how that would work though)
Crying is not a proper retort!
Heres a first crack
Code: Select all
<onCreate>
(block Nil
(sysAddReoccurringTimerEvent 120 "onLaunch")
(sysAddReoccurringTimerEvent 1800 "onReinforcement")
(objSetData gSource "ships" 36)
)
<\onCreate>
<onLaunch>
(block Nil
(if (and (shpIsUnderAttack gSource) (geq (objGetData gSource "ships") 6)
(block (i)
(for i 0 5
('Create Ship)
)
(objIncData gSource "ships" -6)
)
)
<\onLaunch>
<onReinforcement>
(if (leq (objGetData gSource "ships") 34)
(objIncData gSource "ships" 2)
)
<\onReinforcement>
- goat not sheep
- Militia Captain
- Posts: 669
- Joined: Fri May 19, 2006 8:36 pm
- Location: ...
- Contact:
And...we just stick that in the AI settings, right? I think instead of the useless EncounterTables, I'll edit the Xenophobe fleet.
>.<
In reference to the original post...
Betelgeuse, may I just say that: (1) I am impressed that one person could have so many good ideas and (2) that you are that organized about them.
Betelgeuse, may I just say that: (1) I am impressed that one person could have so many good ideas and (2) that you are that organized about them.
~
[Grabs a box of batteries.] The power is mine! MINE! Ah hahaha! AHHHH HAHAHA!
[Grabs a box of batteries.] The power is mine! MINE! Ah hahaha! AHHHH HAHAHA!
-
- Developer
- Posts: 2998
- Joined: Thu Jul 24, 2003 9:53 pm
- Contact:
Looks excellent! One very minor comment:Burzmali wrote:Heres a first crack
Code: Select all
... (if (and (shpIsUnderAttack gSource) (geq (objGetData gSource "ships") 6) ...
use (objIsUnderAttack gSource) instead of (shpIsUnderAttack ...).
[In a previous post you speculated that the game implemented an object hierarchy with "object" being the base class and ships, stations, etc. being derrived classes. That's totally right.
As you might expect, functions with the prefix "obj", such as (objIsUnderAttack...) work on all objects (stations, ships, etc) while functions with the prefix "sta" and "shp" work only on station and ship objects respectively.
Note that there is very little error checking in the game. If you try to pass a ship pointer to a function that takes a station pointer, you will not get a clean error--you might even get game corruption.]