Suggestion: Community Mission Editor
Moderator: Moderators for English X Forum
-
- Moderator (English)
- Posts: 30425
- Joined: Fri, 16. Apr 04, 19:21
Not really. I was making the point that players creating types of missions that affect persistent in-game NPCs and assets could end up reducing and unbalancing more of the intended gameplay and flow than they intended. It is such a complex and interdependent environment that unforeseen consequences are likely rather than just possible.
We have already seen how some mods or combinations thereof can adversely affect previous games' balance to the point that the underlying NPC environment effectively shuts down and interaction becomes unplayable. Then people finding that situation has occurred often comment here that the base gameplay is 'broken' ...
We have already seen how some mods or combinations thereof can adversely affect previous games' balance to the point that the underlying NPC environment effectively shuts down and interaction becomes unplayable. Then people finding that situation has occurred often comment here that the base gameplay is 'broken' ...
A dog has a master; a cat has domestic staff.
- LittleBird
- Posts: 762
- Joined: Mon, 19. Dec 11, 02:02
To make one thing clear: I not suggest the mission editor as a replacement. It should be an addition to create missions the normal game can not provide.
The station defense example GCU Grey Area mentioned works great for the sandbox aspect. But also sandbox missions are heavily limited.
If the creator has full control of the area where the mission takes place he can do a much more complex design.
For example:
Take the station defense mission. You fought of a wave of enemies. Now a second is coming and with it a large freighter that is on collision course with the fab. It has loaded mass of explosives and is basically a giant torpedo. You have to stop it asap. One way is by destroying its engines.
If the mission creator has fully control he can place and time all approaching ships so you have a chance to prevent it.
But in a sandbox your fight with the first wave could you lead away from the place where the freighter appears because the points where you and the enemies appear is not fix. Placement and timing is limited in the sandbox approach and so the complexity of these missions that they still work. Also the freighter could just hit a NPC capital ship or even worse your captial ship, an other station, an asteroid... it is just not practical in a sandbox.
Conclusion: Depending on sandbox missions only means loosing posibilities for more complex missions.
The station defense example GCU Grey Area mentioned works great for the sandbox aspect. But also sandbox missions are heavily limited.
If the creator has full control of the area where the mission takes place he can do a much more complex design.
For example:
Take the station defense mission. You fought of a wave of enemies. Now a second is coming and with it a large freighter that is on collision course with the fab. It has loaded mass of explosives and is basically a giant torpedo. You have to stop it asap. One way is by destroying its engines.
If the mission creator has fully control he can place and time all approaching ships so you have a chance to prevent it.
But in a sandbox your fight with the first wave could you lead away from the place where the freighter appears because the points where you and the enemies appear is not fix. Placement and timing is limited in the sandbox approach and so the complexity of these missions that they still work. Also the freighter could just hit a NPC capital ship or even worse your captial ship, an other station, an asteroid... it is just not practical in a sandbox.
Conclusion: Depending on sandbox missions only means loosing posibilities for more complex missions.
Ich bin für die Einführung von Ironie- und Sarkasmustags.
Alle Klarheiten beseitigt!
Alle Klarheiten beseitigt!
@CBJ regarding Object Creation and Deletion: it would be great if the MD could request Ships from the "Jobs Engine" for Mission Usage.
=> you can specify Things such as Amount of Ships, Class/type, Cargo, Faction/Race, Space, Distance to something etc. basically like a find Ship for Job Ships
=> Found Ships wont be Returned for another Ship Request, but still count as alive for the Job Engine until Destroyed
=> What they were doing when being requested is saved in the Ship to be restored later
=> When the Mission (scene) is done you return the remaining Ships to the "Jobs Engine" and they continue their previous Job (and are also available for other Ship Reauests again). If they werent previously Job Ships (no saved Job Data, like Ships or Transferred during the Mission) they will be assigned to one which makes sense, or if thats not possible just move.die
=> In case not enough Ships are found the Connand will only return the found ones. it is up to the Mission Creator to return them instantly and abort, extend the Search Parameters or possibly fall back to spawning.
=> the request Command should also give an Option to just check how many Ships are available using the given parameters without actually reserving them, to "test the waters" before offering a Mission depending on this.
@GCU Regarding the Example with Creating/Not creating a Station for a Mission: its not just about the Station - what about the Attackers? Depend on "Natural Occurence"? Use Existing Ships and order them to Attack? or Spawn them?
@LittleBird
such a thing as a Torpedo Ship is certainly do-able. Also if the Player was lead away during the Fight the Torpedo Ship could (if spawned) be created further away to give the Player enough time. For simple/initial Variants of this Mission (a Foundation to build upon if you want) the Torpedo Ship could simply ignore everything other than its intended Target, and/or placed in such a way that its Path is free. for Improvements the Mission could react to diffrent circumstates/solutions, like hitting another Ship you might have intentionally placed in its Path...
Its an Engineering Problem, not a question of possibility or impossibility..
EDIT:
Also i agree with Ketraar - it is not that Difficult to beginn using the MD. You should have a clear Vision of what your Mission contains though , which is probably done first on paper without even touching the MD before that. (and start small, something like a Xenon Incursion into HoL with maybe a dozen attacker Ships, not a 10-hout epic plot)
=> you can specify Things such as Amount of Ships, Class/type, Cargo, Faction/Race, Space, Distance to something etc. basically like a find Ship for Job Ships
=> Found Ships wont be Returned for another Ship Request, but still count as alive for the Job Engine until Destroyed
=> What they were doing when being requested is saved in the Ship to be restored later
=> When the Mission (scene) is done you return the remaining Ships to the "Jobs Engine" and they continue their previous Job (and are also available for other Ship Reauests again). If they werent previously Job Ships (no saved Job Data, like Ships or Transferred during the Mission) they will be assigned to one which makes sense, or if thats not possible just move.die
=> In case not enough Ships are found the Connand will only return the found ones. it is up to the Mission Creator to return them instantly and abort, extend the Search Parameters or possibly fall back to spawning.
=> the request Command should also give an Option to just check how many Ships are available using the given parameters without actually reserving them, to "test the waters" before offering a Mission depending on this.
@GCU Regarding the Example with Creating/Not creating a Station for a Mission: its not just about the Station - what about the Attackers? Depend on "Natural Occurence"? Use Existing Ships and order them to Attack? or Spawn them?
@LittleBird
such a thing as a Torpedo Ship is certainly do-able. Also if the Player was lead away during the Fight the Torpedo Ship could (if spawned) be created further away to give the Player enough time. For simple/initial Variants of this Mission (a Foundation to build upon if you want) the Torpedo Ship could simply ignore everything other than its intended Target, and/or placed in such a way that its Path is free. for Improvements the Mission could react to diffrent circumstates/solutions, like hitting another Ship you might have intentionally placed in its Path...
Its an Engineering Problem, not a question of possibility or impossibility..
EDIT:
Also i agree with Ketraar - it is not that Difficult to beginn using the MD. You should have a clear Vision of what your Mission contains though , which is probably done first on paper without even touching the MD before that. (and start small, something like a Xenon Incursion into HoL with maybe a dozen attacker Ships, not a 10-hout epic plot)
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Um, I'm pretty sure you can do most of this already.UniTrader wrote:@CBJ regarding Object Creation and Deletion: it would be great if the MD could request Ships from the "Jobs Engine" for Mission Usage.
=> you can specify Things such as Amount of Ships, Class/type, Cargo, Faction/Race, Space, Distance to something etc. basically like a find Ship for Job Ships
=> Found Ships wont be Returned for another Ship Request, but still count as alive for the Job Engine until Destroyed
=> What they were doing when being requested is saved in the Ship to be restored later
=> When the Mission (scene) is done you return the remaining Ships to the "Jobs Engine" and they continue their previous Job (and are also available for other Ship Reauests again). If they werent previously Job Ships (no saved Job Data, like Ships or Transferred during the Mission) they will be assigned to one which makes sense, or if thats not possible just move.die
=> In case not enough Ships are found the Connand will only return the found ones. it is up to the Mission Creator to return them instantly and abort, extend the Search Parameters or possibly fall back to spawning.
=> the request Command should also give an Option to just check how many Ships are available using the given parameters without actually reserving them, to "test the waters" before offering a Mission depending on this.
But this is as sandbox game, and that's what many players like about it. Indeed the feedback we get is that they want it to be more of a sandbox game, not less. What you're describing is a mission system that would be great for another game, but goes against what a lot of people want this game to be about.LittleBird wrote:But in a sandbox your fight with the first wave could you lead away from the place where the freighter appears because the points where you and the enemies appear is not fix. Placement and timing is limited in the sandbox approach and so the complexity of these missions that they still work. Also the freighter could just hit a NPC capital ship or even worse your captial ship, an other station, an asteroid... it is just not practical in a sandbox.
Conclusion: Depending on sandbox missions only means loosing posibilities for more complex missions.
Last edited by CBJ on Sat, 14. Apr 18, 22:11, edited 1 time in total.
I must admit that while I love "persistent" nature of X-games, it does feel bland and repetetive after time.
Some kind of user friendly "mission editor" would greately suplement the persistent universe, by adding a bit more "personal touch" in addition to stuff that is generated by the "normal universe".
Like they say - "Variety is a flavor of life".
P.S Whoever mentioned a Freespace 2 mission editor - give yourself a medal! That game has amazing mission editior which along the open source code made it that it is still alive, kicking, visually stunning and mew mod/mission after nearly 20 years of live!
Very few games could be proud of such long life.
Some kind of user friendly "mission editor" would greately suplement the persistent universe, by adding a bit more "personal touch" in addition to stuff that is generated by the "normal universe".
Like they say - "Variety is a flavor of life".
P.S Whoever mentioned a Freespace 2 mission editor - give yourself a medal! That game has amazing mission editior which along the open source code made it that it is still alive, kicking, visually stunning and mew mod/mission after nearly 20 years of live!
Very few games could be proud of such long life.
- LittleBird
- Posts: 762
- Joined: Mon, 19. Dec 11, 02:02
Really? You have that much control and can even decide where the freigther has a clear path?UniTrader wrote: such a thing as a Torpedo Ship is certainly do-able. Also if the Player was lead away during the Fight the Torpedo Ship could (if spawned) be created further away to give the Player enough time. For simple/initial Variants of this Mission (a Foundation to build upon if you want) the Torpedo Ship could simply ignore everything other than its intended Target, and/or placed in such a way that its Path is free. for Improvements the Mission could react to diffrent circumstates/solutions, like hitting another Ship you might have intentionally placed in its Path...
Its an Engineering Problem, not a question of possibility or impossibility..
Then I take back what I said about the limitations for this case.
Is the feedback based on the forum or more represantive informations? I "believe" there are also players who have fun with missions besides the sandbox approach.CBJ wrote: But this is as sandbox game, and that's what many players like about it. Indeed the feedback we get is that they want it to be more of a sandbox game, not less. What you're describing is a mission system that would be great for another game, but goes against what a lot of people want this game to be about.
Speaking for myself I enjoy both in the X-series. But after completing all plots and missions (what requires playing the sandbox in the first place) I can not find any motivation for an endless play like other player types do.
And I do not think that a mission editor whould result into less sandbox. In fact it would be the same sandbox plus content for an other player type. Various content due player creation.
X is not Wing Commander and not Freespace. But sometimes I think why does the plot stop there? Why does the mission can not have some more... spice?
And then ideas like my suggestion arises in hope of a compromise without hurting the basic X-feeling.
But if you can say for sure developing for this type is waistet effort because a lot of your players have no interest in these things then I have to accept it.
Ich bin für die Einführung von Ironie- und Sarkasmustags.
Alle Klarheiten beseitigt!
Alle Klarheiten beseitigt!
@cbj
Been a fan since xbtf, sandbox is ok the first few games but being pure sandbox is a bit dull, egosoft doesn't have to be so focused on sandbox gameplay, there is room for both sandbox and structured enjoyment such as story campaign/missions/progression systems.
People like GTA games like me who can successfully manage to be both sandbox and have a great story and mission structure, it's why I wish egosoft tried to evolve instead of rinse and repeat a generic space game every few years. I.e they set up a universe add some stations and ships a plot which I feel isn't budgeted enough and that's about it and expect the users to fill in the fun factor themselves which is hard if I've played alot of the X games since the start.
Basically I'm trying to say yeah some sandbox i.emessing around without the game saying u don't need to do anything is ok and often fun but I'd expect that only to happen after the main games finished and u can choose to play the game once I've saved the universe or something.
So not all X players want more sandbox as you said in a above post.
If I could imagine I'd take the great story and gameplay of starlancer and merge it with the freedom of travel and variety of stations and ships, mainly ships, don't need too many stations. So mix of them 2 games would be a great new X game.
Just my opinion of course as long time fan and hoping X games change a bit more which is why I stick around. Hoping the next X game evolves a bit more in structured fun instead of a mostly nice looking but empty game if you take away the underdeveloped plot arcs, tho I admit I haven't played x3 story much and skipped x3 TC and ap and gave up in rebirth.
Man I know this sounds super selfish and harsh. I just want that feeling back when I first saw xbtf box on shelf in 1999 and thought hmm this looks super cool and then had loads of fun with the story and improving my ship, did some station building but just enough to pay for upgrades till plot was done and enjoyed doing it in x2 but x3 turned me off due to lack of dropped features that I thought were great parts of the older games.
Now another thing is dropped, the gate and single areas in favour of big areas, which is why it's Gona be hard to want to get x4. I'll see what it's like when it's out, it might be alot better than rebirths big areas and easier to use map.
Been a fan since xbtf, sandbox is ok the first few games but being pure sandbox is a bit dull, egosoft doesn't have to be so focused on sandbox gameplay, there is room for both sandbox and structured enjoyment such as story campaign/missions/progression systems.
People like GTA games like me who can successfully manage to be both sandbox and have a great story and mission structure, it's why I wish egosoft tried to evolve instead of rinse and repeat a generic space game every few years. I.e they set up a universe add some stations and ships a plot which I feel isn't budgeted enough and that's about it and expect the users to fill in the fun factor themselves which is hard if I've played alot of the X games since the start.
Basically I'm trying to say yeah some sandbox i.emessing around without the game saying u don't need to do anything is ok and often fun but I'd expect that only to happen after the main games finished and u can choose to play the game once I've saved the universe or something.
So not all X players want more sandbox as you said in a above post.
If I could imagine I'd take the great story and gameplay of starlancer and merge it with the freedom of travel and variety of stations and ships, mainly ships, don't need too many stations. So mix of them 2 games would be a great new X game.
Just my opinion of course as long time fan and hoping X games change a bit more which is why I stick around. Hoping the next X game evolves a bit more in structured fun instead of a mostly nice looking but empty game if you take away the underdeveloped plot arcs, tho I admit I haven't played x3 story much and skipped x3 TC and ap and gave up in rebirth.
Man I know this sounds super selfish and harsh. I just want that feeling back when I first saw xbtf box on shelf in 1999 and thought hmm this looks super cool and then had loads of fun with the story and improving my ship, did some station building but just enough to pay for upgrades till plot was done and enjoyed doing it in x2 but x3 turned me off due to lack of dropped features that I thought were great parts of the older games.
Now another thing is dropped, the gate and single areas in favour of big areas, which is why it's Gona be hard to want to get x4. I'll see what it's like when it's out, it might be alot better than rebirths big areas and easier to use map.
- X2-Illuminatus
- Moderator (Deutsch)
- Posts: 24962
- Joined: Sun, 2. Apr 06, 16:38
CBJ didn't say that all players want more sandbox though.Skeeter wrote:So not all X players want more sandbox as you said in a above post.
Also scripted, limited level designed gameplay has been a part of all X games to date, including the X3 and XR games which feature an iteration of the MD. The missions are usually part of the storyline / plots. The problem here is the effort to write these storylines in contrast to how often they are played.
However, sandbox or not, I feel there's a general misconception of what a tool can do in contrast to the Mission Director itself. A tool will never be able to create more complex missions than the Mission Director. Why? Simply because the tool will be based on the Mission Director. If one of the requirements of the tool is being easy to use without knowledge of the MD, then this is only viable if the tool limits the possibilities of the mission creator by offering only a part of the overall options the MD has to offer, as the tool will have to make sure that all pieces work together in the given combinations. If you increase the amount of options, you also greatly increase the amount of combinations and to an even higher degree the complexity of what the tool would have to do in order to ensure mission stability.
Personally, I think the best of what could come out of such a tool is an increased variety of smaller missions with less complexity. Although one has to ask, whether it's really worth the effort to create such a tool in the first place.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
- LittleBird
- Posts: 762
- Joined: Mon, 19. Dec 11, 02:02
That is a misunderstanding.X2-Illuminatus wrote: However, sandbox or not, I feel there's a general misconception of what a tool can do in contrast to the Mission Director itself. A tool will never be able to create more complex missions than the Mission Director.
What hinders complexity of missions is the sandbox (for clarification: the complexity what the creator has to look for increases of course => and that hinders mission complexity).
It is not the tool that allows for more complex missions it is the area the creator has complete control of.
And complexity is not even the major point. An area that can not affect the normal game is a requirement that players can create content. Because you can not demand that everyone would keep game balance in mind or all the possibilities a sandbox has to offer.
So I could drop the idea of an easy to use mission editor if MD using really is not that hard what it looks first. So that a lot of players can create content if they like.
But the major point is this independent area.
Ich bin für die Einführung von Ironie- und Sarkasmustags.
Alle Klarheiten beseitigt!
Alle Klarheiten beseitigt!
- X2-Illuminatus
- Moderator (Deutsch)
- Posts: 24962
- Joined: Sun, 2. Apr 06, 16:38
I think you are too focussed on using level design gameplay in a sandbox. While in some instances in story telling it's beneficial to have independent areas (and again this has been done in previous X games already), it's by no means necessary to create content. You also do not have to take care of everything possible in that sandbox. In any way, the biggest obstacle to proper mission design is the player, finding ways around what you carefully planned before.
Edit: typo.
Edit: typo.
Last edited by X2-Illuminatus on Sun, 15. Apr 18, 20:56, edited 1 time in total.
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Addition to X2s Post:
you can <create_presentation_cluster/> to have your own seperate Space to play/Make Missions in - in there you have complete control whats happening. there is usually just a single Cluster, Sector and Zone in there (and a chooseable Background) and thats it.. no other Ships, Asteroids or anything else which might disturb you.. but no idea how something like this helps in any way for making Missions.. just clear it up after you are done..
you can <create_presentation_cluster/> to have your own seperate Space to play/Make Missions in - in there you have complete control whats happening. there is usually just a single Cluster, Sector and Zone in there (and a chooseable Background) and thats it.. no other Ships, Asteroids or anything else which might disturb you.. but no idea how something like this helps in any way for making Missions.. just clear it up after you are done..
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
- Killjaeden
- Posts: 5366
- Joined: Sun, 3. Sep 06, 18:19
Both can (and should) coexist in a sandbox imo. One provides more sand to play with over and over, the other provides a (hopefully) nice break from all the sand (e.g. handcrafted, unique story missions). They are not equally weighted of course. Having more sand is arguably more better for a sandbox vs. breaks from it.X2-Illuminatus wrote:I think you are too focussed on using level design gameplay in a sandbox.
___
When it's broken down, i dont think there is any technical difficulty in providing non-coding people access to mission design via a real tool, even for dynamic missions. The biggest factor is propably that the
tool would ideally provide direction. You will know what you are missing in your stuff, or what you should do next more easily with a good tool - which in a scripteditor you don't (apart from syntax).
An interface system where they can select conditions for mission start and parameters, dynamic target selection based on requirements, etc etc. Conditions and stuff could be linked in a node like fashion.
The main problem with it is the considerable time it would take to create this tool and have it run reliably. And it would of course still require people to learn it anyway. It might be quicker to learn than script. But once a beginner understand mission structure and all that - he might discard the tool and use text instead (whatever is more time efficient ).
So this problem is, i think, more efficiently tackled with didactically better tutorials sound that go into all the basics of 1) mission structure in MD in general 2) structure in script s 3) concrete examples that break down a mission into it's components, explaining what is what and why.
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
if you really want to create missions, you have to start learning the language, it took me a long time (i dunno, at least 1year with almost no experience in programming except c++ basics, which doesnt help you much in terms of MD) to understand how to script stuff in x3. you`ve got to invest a bunch of time into that before you can create awesome stuff / missions / plugins / whatever ...LittleBird wrote:So I could drop the idea of an easy to use mission editor if MD using really is not that hard what it looks first. So that a lot of players can create content if they like.
@ complexity of missions:
yes, in x3 missions were not that complex, kind of created by "magic" with no bigger purpose behind the mission. in general, you have to be able to break down the problem into smaller ones, otherwise you get lost while trying to maintain overview of the threads ... the code structure in MD (node-tree-like structure) is very bad for maintaining overview in complex mission types ... a procedural code structure would be easier to use (but unfortunately x3 MSCI is gone). besides that, you NEED to plan the mission very carefully
you dont need complete control to create complex mission threads or other awesome stuff, but you need to cope with all the circumstances that can occur during the mission (which can be very difficult), and do the necessary clean-up (in the correct order) after everything is completed ... otherwise you have e.g. some useless argon mammuth ships in senators badlands belonging to noone doing nothing, just carrying stuff that you cant use nowhere else in the game
X3-related:
on the one hand, egosoft gave us the tools to script stuff ourselves into the game, on the other hand, scripts written by egosoft often were buggy of not very user friendly, or didnt help much to accomlish your goal (see the original trade /fight scripts) ... i hope that this time better scripts are being written initially by egosoft
@ TOOL:
would be a great idea to "wrap" the node-tree MD stuff into procedural (and easier to read) code (back and forth without losses) if that is possible (?) ... but who`s gonna write it ? there are no x4 freaks with programming knowledge around (at release i guess) ...
To err is human. To really foul things up you need a computer.
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.
Mission Director Beispiele
Irren ist menschlich. Aber wenn man richtig Fehler machen will, braucht man einen Computer.
Mission Director Beispiele
You pretty much hit the nail on the head here. The only thing I'd add to what you've said is that in addition to the time it would take to create the tool, we would also have to maintain and update it as the available actions and conditions evolve and improve, which is an ongoing process.Killjaeden wrote:The main problem with it is the considerable time it would take to create this tool and have it run reliably. And it would of course still require people to learn it anyway. It might be quicker to learn than script. But once a beginner understand mission structure and all that - he might discard the tool and use text instead (whatever is more time efficient ).
So this problem is, i think, more efficiently tackled with didactically better tutorials sound that go into all the basics of 1) mission structure in MD in general 2) structure in script s 3) concrete examples that break down a mission into it's components, explaining what is what and why.
It is certainly possible. As I see it, there are two problems with the MD as-is: xml makes a bit of a scary mess of things, and there should be a translation layer between the runtime engine and the design time script development. For fun, I spitballed some code to convert MD xml to something slightly more recognizable.JSDD wrote: @ TOOL:
would be a great idea to "wrap" the node-tree MD stuff into procedural (and easier to read) code (back and forth without losses) if that is possible (?) ... but who`s gonna write it ? there are no x4 freaks with programming knowledge around (at release i guess) ...
Example input, taken from whatever script I landed on when scrolling through the cat file list for rebirth (trade.performplayertraderun.xml in this case):
Original snippet (skipping some debug stuff that's mostly text prints):
Code: Select all
<?xml version="1.0" encoding="iso-8859-1" ?>
<aiscript name="trade.performplayertraderun" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="aiscripts.xsd" priority="60">
<params>
<param name="debugchance" default="0"/>
</params>
<attention min="unknown">
<actions>
<!-- debugging -->
<set_value name="$failreason" exact="''" />
<wait min="1s" max="2s" />
<!-- get top item from shopping list -->
<label name="check shoppinglist" />
<get_trade_from_shoppinglist object="this.ship" result="$shoppinglist" multiple="true" />
<do_all exact="$shoppinglist.count" counter="$c">
<set_value name="$tradeorder" exact="$shoppinglist.{$c}" />
<do_if value="$tradeorder.seller.exists">
<add_ware_reservation object="$tradeorder.seller" result="$reserved" ware="$tradeorder.ware" entity="this" amount="0" />
<do_if value="$reserved" min="$tradeorder.amount">
<add_ware_reservation object="$tradeorder.seller" ware="$tradeorder.ware" entity="this" amount="$reserved" replace="true" duration="5h" />
</do_if>
<do_else>
<add_ware_reservation object="$tradeorder.seller" ware="$tradeorder.ware" entity="this" amount="$tradeorder.amount" duration="5h" />
</do_else>
</do_if>
<do_elseif value="not $tradeorder.unbundle">
<add_ware_reservation object="$tradeorder.buyer" result="$reserved" ware="$tradeorder.ware" entity="this" amount="0" />
<do_if value="$reserved" min="$tradeorder.amount">
<add_ware_reservation object="$tradeorder.buyer" ware="$tradeorder.ware" entity="this" amount="$reserved" replace="true" duration="5h" />
</do_if>
<do_else>
<add_ware_reservation object="$tradeorder.buyer" ware="$tradeorder.ware" entity="this" amount="$tradeorder.amount" duration="5h" />
</do_else>
</do_elseif>
</do_all>
Code: Select all
@aiscript (priority = 60)
def trade_performplayertraderun (debugchance = 0):
# debugging
failreason = ''
wait (max = "2s", min = "1s")
# get top item from shopping list
label .check_shoppinglist
shoppinglist = get_trade_from_shoppinglist (multiple = True, object = "this.ship")
for c in range(shoppinglist.count):
tradeorder = shoppinglist[c]
if tradeorder.seller.exists:
reserved = add_ware_reservation (amount = 0, entity = "this", object = "tradeorder.seller", ware = "tradeorder.ware")
if reserved:
add_ware_reservation (amount = "reserved", duration = "5h", entity = "this", object = "tradeorder.seller", replace = True, ware = "tradeorder.ware")
else:
add_ware_reservation (amount = "tradeorder.amount", duration = "5h", entity = "this", object = "tradeorder.seller", ware = "tradeorder.ware")
elif not tradeorder.unbundle:
reserved = add_ware_reservation (amount = 0, entity = "this", object = "tradeorder.buyer", ware = "tradeorder.ware")
if reserved:
add_ware_reservation (amount = "reserved", duration = "5h", entity = "this", object = "tradeorder.buyer", replace = True, ware = "tradeorder.ware")
else:
add_ware_reservation (amount = "tradeorder.amount", duration = "5h", entity = "this", object = "tradeorder.buyer", ware = "tradeorder.ware")
Code: Select all
@aiscript (priority = 60)
def trade_performplayertraderun (debugchance = 0):
# debugging
failreason = ''
wait (
max = "2s",
min = "1s",
)
# get top item from shopping list
label .check_shoppinglist
shoppinglist = get_trade_from_shoppinglist (
multiple = True,
object = "this.ship",
)
for c in range(shoppinglist.count):
tradeorder = shoppinglist[c]
if tradeorder.seller.exists:
reserved = add_ware_reservation (
amount = 0,
entity = "this",
object = "tradeorder.seller",
ware = "tradeorder.ware",
)
if reserved:
add_ware_reservation (
amount = "reserved",
duration = "5h",
entity = "this",
object = "tradeorder.seller",
replace = True,
ware = "tradeorder.ware",
)
else:
add_ware_reservation (
amount = "tradeorder.amount",
duration = "5h",
entity = "this",
object = "tradeorder.seller",
ware = "tradeorder.ware",
)
elif not tradeorder.unbundle:
reserved = add_ware_reservation (
amount = 0,
entity = "this",
object = "tradeorder.buyer",
ware = "tradeorder.ware",
)
if reserved:
add_ware_reservation (
amount = "reserved",
duration = "5h",
entity = "this",
object = "tradeorder.buyer",
replace = True,
ware = "tradeorder.ware",
)
else:
add_ware_reservation (
amount = "tradeorder.amount",
duration = "5h",
entity = "this",
object = "tradeorder.buyer",
ware = "tradeorder.ware",
)
You might notice the second form is in python syntax. If you slap a framework behind it with various node definitions, code writing can then be done in any nice python IDE (pycharm, visual studio, etc.) with the usual autocompletions and documentation popups and such. Scripts would also be runnable as python code, though initially it would probably just be for some logic checks. Eventually, functional test support could be added.
Conversion from python back to MD xml would be slightly tougher, since it would take some ast parsing, but isn't that big of a deal (python makes it really easy to do ast traversal). All sorts of functionality can be injected into the reverse conversion, like compilation warnings/errors if node fields look wrong, function inlining, debug code injection or pruning, dead code removal, etc.
Author of X3 Customizer and X4 Customizer
- LittleBird
- Posts: 762
- Joined: Mon, 19. Dec 11, 02:02
"level design gameplay"... I think that describes it really good.X2-Illuminatus wrote:I think you are too focussed on using level design gameplay in a sandbox. While in some instances in story telling it's beneficial to have independent areas (and again this has been done in previous X games already), it's by no means necessary to create content. You also do not have to take care of everything possible in that sandbox. In any way, the biggest obstacle to proper mission design is the player, finding ways around what you carefully planned before.
By looking for game balance and posibilities I mean stuff like "massive Xenon invasion in Argon Prime". If we would have an easy to use tool many players would create... everything and everything is not practical in a sandbox.
This is just not practical.JSDD wrote: if you really want to create missions, you have to start learning the language, it took me a long time (i dunno, at least 1year with almost no experience in programming except c++ basics, which doesnt help you much in terms of MD) to understand how to script stuff in x3. you`ve got to invest a bunch of time into that before you can create awesome stuff / missions / plugins / whatever ...
The idea should make it possible that many players can create content.
I disagree in the last point.Killjaeden wrote: The main problem with it is the considerable time it would take to create this tool and have it run reliably. And it would of course still require people to learn it anyway. It might be quicker to learn than script. But once a beginner understand mission structure and all that - he might discard the tool and use text instead (whatever is more time efficient ).
The tool would be allways faster and more time efficient. That is its purpose.
But the tool is limited and for more complicated stuff experienced user would switch to coding. So it would be great if the tool could show you the code. This would also helps in learning it.
I am sure that would help existent modding and scripting community. But face the truth it very unlikely that new people would take on what JSDD above described.Killjaeden wrote: So this problem is, i think, more efficiently tackled with didactically better tutorials sound that go into all the basics of 1) mission structure in MD in general 2) structure in script s 3) concrete examples that break down a mission into it's components, explaining what is what and why.
Sooooo my conclusion for this thread.
- Tool creation and support is to time consuming for realization.
- MD learning is very time consuming and it is unrealistic it could attract many players... even with a better documentation.
- The idea of independent areas for more level design like missions collides with the sandbox aspect.
- I still believe it would extent the design possibilities compared to sandbox missions. And I still believe it would be a great way to fill empty space with the help of the community.
Ich bin für die Einführung von Ironie- und Sarkasmustags.
Alle Klarheiten beseitigt!
Alle Klarheiten beseitigt!
Here I think you are skewing the notion a bit. I doubt a mission tool will attract new players, it arguably would inspire existing players to create missions sure, but I think those that have the drive to create content usually find a way to do it, with more or less effort.LittleBird wrote:- MD learning is very time consuming and it is unrealistic it could attract many players... even with a better documentation.
I'd also argue that the MD coding itself is pretty easy to learn, with existing documentation and tools. Cant speak too much about XR MD, but I think its not much different, in that the struggle to "learn MD" is to know how the game ticks. Its far more important imho to know the inner workings of the game's logic (Jobs, map design, assets, voices, text, etc) then MD itself, since it will be important to know when to make use of what and the impact that will have in the "universe".
Now if we were to just able to magically wish a tool into existence, I'd wish for it to be able to cross ref assets, so that one could say "make a Paranid actor" and it would create all the needed lines for a working NPC, that just needs lines fed, that would be nice.
MFG
Ketraar
he meant the effort for egosoft (or whomever) to create such a tool, not the effort for the user which you refer to also why create such a Tool in the first place if it can only cover the simpler stuff if you have to switch to the already existing tool if you want to do more?LittleBird wrote:I disagree in the last point.Killjaeden wrote: The main problem with it is the considerable time it would take to create this tool and have it run reliably. And it would of course still require people to learn it anyway. It might be quicker to learn than script. But once a beginner understand mission structure and all that - he might discard the tool and use text instead (whatever is more time efficient ).
The tool would be allways faster and more time efficient. That is its purpose.
But the tool is limited and for more complicated stuff experienced user would switch to coding. So it would be great if the tool could show you the code. This would also helps in learning it.
@Ketrar
for me a one-eyed Paranid please
@SirNukes
what you converted was an AI Script, which is similiar in many aspects to MD but not the same (it controls Ships and such stuff, but is not usedl for Missions), and compared to MD is pretty "classic" flow-wise.
try the same for any File in the md directory (best something really Mission-related). i guess this will turn out to be pretty complicated to convert because of the possibly many event conditions and parallel stuff happening...
if not stated otherwise everything i post is licensed under WTFPL
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter
I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help
- Killjaeden
- Posts: 5366
- Joined: Sun, 3. Sep 06, 18:19
Thank you very much for this efford. I personally think XML is eyecancer... and i would never get within 10m of "MD" if i had to deal with xml BS. I will never understand why they would chose xml over any other "language style" to embedd their script language in, especially for missions - and then also advertise it as beginner friendly...SirNukes wrote: For fun, I spitballed some code to convert MD xml to something slightly more recognizable.
I'm not a programmer by profession, but i can read and write c and python code (and "X3 script") just fine, because it's logical, clean and structured. "X3 script" was so easy to use with the script editor that it motivated me to write some smaller stuff on my own back in the days. XML has the opposite effect. XML is structured but ridiculously cluttered... obfuscating the real content with "fancy" tree structures and <word>tags</word>, wasting everyones space and time.
But we already had this topic i think a while ago... and that ship has already sunk, its not going to resurface differently anymore.
Edit: 5000th post. Celebrations. Insanity.
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work: