Mission design under valued by ED? - Page 9 - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 02-17-2017, 06:09 PM   #81
Redglyph
Member
 
Redglyph's Avatar
 
Join Date: Aug 2015
Posts: 980
Reputation power: 6
Redglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the rough
Default

Quote:
Originally Posted by Pikey View Post
Whilst not being an elegant solution, DAWS savestate has been saving mission states for quite a long time now. The next iteration will bring it into the UI of DCS for simplicity. Yes , its a mod, but then without it, you can't save a mission. I don;t know that it's simple, as you say, the code runs into thousands of lines, so I think the developer would like to defend the view that it's simple, as he has worked on it for many months, but then i'm sure you used the word in a throwaway sense.
Regarding the persistence, it should really be something that does not require the user to modify DCS (specifically, removing the sanitizeModule in MissionScripting.lua). If a developer wants to share missions, those should be independant from the installation; requiring the users to modify files they may not understand, and to do it after each update, is an awkward solution.

Quote:
Originally Posted by Pikey View Post
For accessing cockpit this gets into a different design kettle of fish, access to affect clients from the server side is not allowed, the reasons seem obvious to me, the thought of allowing talented coders access to my controls in Multiplayer are quite scary. This applies to adjusting a helicopters weight in MP too at one level. Nevertheless access to positions and indicators is possible and is done in all the tutorials for start up that you see, so unsure what the limitation you need resolved is.
The functionality is already there, so I don't think making it available in Lua scripts would endanger anything. I've already mentioned one use-case that could greatly benefit from this improved API, yes it's possible to access the positions and highlight indicators, but not from a script. So if you want your tutorial to check a group of switches and show the one that is wrong, you have to write tens of triggers which is a nightmare - I know, I've done it Whereas it would only take a few lines in Lua, would be easier to maintain and extend, and much simpler to port to other missions.

Quote:
Originally Posted by Pikey View Post
LUA Predicate is often spoken of. I'm not finding a need for it, you can trigger LUA in other ways, it's just a defunct box until resolved, if at all. If you need to run Lua there are conditions and so on that cover the use case, but I haven't thought of one that doesn't match.
The alternative is a separate continuous trigger that sets a flag. It's awkward, impacts the performances, and is more difficult to understand or debug. As for the rest, I'm not sure I understand what you are saying, actually Anyway, if it's there and often spoken of, there's a reason, it would make life easier for those who need such a link between Lua and the triggers (link that must be there, since it's not possible to access the cockpit and other things from Lua).
__________________
System specs: Win7 x64 | CPU: i7-4770K | RAM: 16 GB | GPU: GTX 980 Ti 6 GB | Thrustmaster HOTAS | Saitek Pro Flight Rudder Pedals
Redglyph is offline   Reply With Quote
Old 02-17-2017, 07:55 PM   #82
Pikey
Senior Member
 
Pikey's Avatar
 
Join Date: Sep 2009
Location: Reading, UK (GMT)
Posts: 2,566
Reputation power: 28
Pikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of light
Default

Can you run me through a LUA predicate example, please? What's wrong with the DO SCRIPT? I genuinely don't come across the need, perhaps I can join the support.

As for the additional comments, I'm not sure where the point is going now or what you are trying to make understood about LUA. I think I was responding to the comment about LUA being less than ideal, but it seems a little distant and hazy now, feel free to elaborate on your original point, I don't share the view as I understood it.
Pikey is offline   Reply With Quote
Old 02-17-2017, 08:20 PM   #83
ruskybeaver
Member
 
ruskybeaver's Avatar
 
Join Date: Jun 2016
Location: Vancouver, BC
Posts: 555
Reputation power: 5
ruskybeaver is a jewel in the roughruskybeaver is a jewel in the roughruskybeaver is a jewel in the roughruskybeaver is a jewel in the roughruskybeaver is a jewel in the roughruskybeaver is a jewel in the roughruskybeaver is a jewel in the rough
Default

we have to face the fact that ED's focus is not on mission design (or I should say a game play), their focus is on detailed implementation of aircraft. This sim is about aircraft selection and quality. The mission aspect is a secondary thing. It's given to us in a form of mission editor and scripting means, but we are pretty much left there alone.
__________________
...i5-4690|16Gb|gtx-970-OC4G|Rift CV1|2560x2640...

Universal Radar for DCS ver 3.0
ruskybeaver is offline   Reply With Quote
Old 02-18-2017, 06:08 AM   #84
EasyEB
Member
 
EasyEB's Avatar
 
Join Date: Mar 2015
Location: Sweden
Posts: 460
Reputation power: 4
EasyEB has a spectacular aura aboutEasyEB has a spectacular aura aboutEasyEB has a spectacular aura aboutEasyEB has a spectacular aura aboutEasyEB has a spectacular aura about
Default

Quote:
Originally Posted by ruskybeaver View Post
we have to face the fact that ED's focus is not on mission design (or I should say a game play), their focus is on detailed implementation of aircraft. This sim is about aircraft selection and quality. The mission aspect is a secondary thing. It's given to us in a form of mission editor and scripting means, but we are pretty much left there alone.
Well, yes. You are stating the obvious and the start of this whole thread. I think the point of this whole discussion is that mission design tools and possibilities, features of the editor and support for mission makers is under valued and could use some love. I feel that everyone making missions, including myself, has "faced it" multiple times, but it is infuriating to have something that breathes so much life and continued enjoyment so low on the priority list. And when you feel that steps are beeing taken to actually make your life as a mission designer harder, well, you kind of want to talk about it.
If it only was a detailed sim with a map and the oficial missions this simulator would be dead a long time ago, hence the feeling of under value.

For the record, I know ED is not trying to make mission designers lives miserable on purpose.
EasyEB is offline   Reply With Quote
Old 02-18-2017, 08:42 AM   #85
Grimes
ED Testers Team
 
Grimes's Avatar
 
Join Date: Jan 2006
Location: Black Mesa
Posts: 6,862
Reputation power: 145
Grimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud of
Default

Quote:
Originally Posted by Pikey View Post
Can you run me through a LUA predicate example, please? What's wrong with the DO SCRIPT? I genuinely don't come across the need, perhaps I can join the support.
I know several people were using something like this in a predicate:

if not Group.getByName('whatever') then
return true
end

Then with the action a do script for whatever they want. Its just a different way of doing things that is quasi UI with scripting. Perhaps its easier for them to wrap their head around than just doing it all with a script. I used it occasionally out of sheer laziness because it made it really easy to mix triggers and scripting for whatever purposes I needed it for.
__________________
You can only tie the world record for lowest flight.
Current Projects: Scripting Wiki, Something...
Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread), SLMOD for DCS 1.5/2.0, IADScript, Mission Editing Wiki!, Mission Building Forum
Grimes is online now   Reply With Quote
Old 02-18-2017, 09:50 AM   #86
Pikey
Senior Member
 
Pikey's Avatar
 
Join Date: Sep 2009
Location: Reading, UK (GMT)
Posts: 2,566
Reputation power: 28
Pikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of light
Default

Damn, I thought we were talking about the LUA predicate in the advanced waypoint actions, didnt realise there was two of them. In which case seems like a somewhat powerful condition and now makes sense on why it would have to be run continuous as above. That's a shame. It's right on the border of writing a while loop or an entire script, I can see how this dropped inbetween, since it kind of suggests, hey If I can write lua, what do I need a GUI interface for?

I think a lot of us were 'brought up' on one-liner scripting with MIST and do the hybrid thing, I certainly do, which is an interesting point on how DCS mission editing has evolved.
Quote:
Originally Posted by Grimes View Post
I know several people were using something like this in a predicate:

if not Group.getByName('whatever') then
return true
end

Then with the action a do script for whatever they want. Its just a different way of doing things that is quasi UI with scripting. Perhaps its easier for them to wrap their head around than just doing it all with a script. I used it occasionally out of sheer laziness because it made it really easy to mix triggers and scripting for whatever purposes I needed it for.
Pikey is offline   Reply With Quote
Old 02-18-2017, 11:11 AM   #87
Redglyph
Member
 
Redglyph's Avatar
 
Join Date: Aug 2015
Posts: 980
Reputation power: 6
Redglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the rough
Default

Quote:
Originally Posted by Pikey View Post
Can you run me through a LUA predicate example, please? What's wrong with the DO SCRIPT? I genuinely don't come across the need, perhaps I can join the support.
Quote:
Originally Posted by Grimes View Post
I know several people were using something like this in a predicate:

if not Group.getByName('whatever') then
return true
end

Then with the action a do script for whatever they want. Its just a different way of doing things that is quasi UI with scripting. Perhaps its easier for them to wrap their head around than just doing it all with a script. I used it occasionally out of sheer laziness because it made it really easy to mix triggers and scripting for whatever purposes I needed it for.
I had two cases where I wanted to use that recently.

In the first one, I had a test that was a bit too complex to code in trigger conditions. I was using a trigger zone to determine when an aircraft was North/South/East/West of it, for example for a circuit without many zones all around to get the same effect. The test would typically check "is that North of the zone?" and when it's the case, proceed to the next mission step.

I replaced that by a continuous action that sets flags to tell whether it's N/S/E/W, but it had the disadvantages I said earlier.

In the second test, I needed to test whether an aircraft was parked in any of several spots at TTR. Doing that with zones would just be a nightmare, so I gathered all the coordinates of the spots in a simple Lua list, that I'm checking against the unit's coordinates to return a "yes, it's in one of those", and optionally which one for the action part ("good, you are in spot ...").

Again, I had to split that. Trouble is that this test is a loop over all the spots, and having to run it continuously is a bit of a shame, so I have to guard those dummy continuous actions with yet another flag... it's just a bit messy, where a simple LUA PREDICATE would have been so much easier and cleaner.

If course, perhaps it's possible to do it entirely by code, inserting a check in a scheduled task that verifies the condition in Lua, and removes itself when necessary to emulate a ONCE. So there are work-arounds, they're just more complicated.

In general, I'm not keen on huge trigger condition lists (especially the OR which is awkward to handle since there is no parenthesis and you have to repeat the conditions), and sometimes it's much easier to express in a LUA PREDICATE. Except when it comes to cockpit or avionics checks, since we can't access them from the API, otherwise it would be another powerful combination.

You teach this guy to start an A-10C or a Mig-21bis, for example, and you want to check that he's correctly set-up before doing something serious like starting the engine, taking off, or to make sure he's within the correct enveloppe during the landing phase. Just compare how much effort it takes with either method and you should be convinced In Lua I'd just call a function with a list of arguments/value pairs to check, it would verify and highlight or say what is wrong. In the current system, it would require at least one trigger/condition/action set by cockpit element, probably in double to highlight them / mention what parameter has to be taken care off (too low for landing, too slow, too fast, ...). You quickly end up with big drawings on your walls and pulling your hair out

It's been said that mixing code and "GUI-oriented" design is not optimal ("hidden code"). Sure, it's never perfect, but I believe that if a developer has a method and remains consistent, it should not be a problem. For example the function library can be kept in a file, or in the first "DO SCRIPT" of the mission, and the other triggers only call those functions, keeping them quite simple to read, understand and modify if necessary. The GUI part has enormous advantages like presenting the waypoints, the map, list of aircraft, zones. The visual aspect helps, I don't see myself doing the whole mission in pure code, but that's a personal preference. It's most probably shared by many while the pure code approach is preferred by many others. In most cases it's a winning combination, but I think those 2-3 simple items I mentioned would amplify the possibilities and make it easier.

Anyway.

That being said, there are great campaigns out there with no Lua script. But I guess there are always people trying to peek and poke in the engine to bring new types of events in the missions, and that's what is great about DCS.

Even with non-Lua'ed missions, taking care of the ME (and I've seen very nice and helpful improvements lately, discreete though they might seem), the AI, the infrastructure..., is in favour of a larger and better DLC choice. And I'm convinced aircraft alone don't make a (military) sim, it's great to learn one... for a while, then you want to do something with what you've learned.

But that must be hard to sort out relative priorities between that, the graphics and weather, to the terrains, the aircraft, the DLCs, the bugs ... I don't believe mission design is under-valued, I just think the team is stretched thin over all the huge current developments.
__________________
System specs: Win7 x64 | CPU: i7-4770K | RAM: 16 GB | GPU: GTX 980 Ti 6 GB | Thrustmaster HOTAS | Saitek Pro Flight Rudder Pedals

Last edited by Redglyph; 02-18-2017 at 11:14 AM.
Redglyph is offline   Reply With Quote
Old 02-18-2017, 11:32 AM   #88
Redglyph
Member
 
Redglyph's Avatar
 
Join Date: Aug 2015
Posts: 980
Reputation power: 6
Redglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the roughRedglyph is a jewel in the rough
Default

Quote:
Originally Posted by Grimes View Post
I know several people were using something like this in a predicate:

if not Group.getByName('whatever') then
return true
end

Then with the action a do script for whatever they want. Its just a different way of doing things that is quasi UI with scripting. Perhaps its easier for them to wrap their head around than just doing it all with a script. I used it occasionally out of sheer laziness because it made it really easy to mix triggers and scripting for whatever purposes I needed it for.
By the way, what happened to the hoggit wiki? Hope it's just a temporary glitch, such a helpful resource
__________________
System specs: Win7 x64 | CPU: i7-4770K | RAM: 16 GB | GPU: GTX 980 Ti 6 GB | Thrustmaster HOTAS | Saitek Pro Flight Rudder Pedals
Redglyph is offline   Reply With Quote
Old 02-18-2017, 04:10 PM   #89
Pikey
Senior Member
 
Pikey's Avatar
 
Join Date: Sep 2009
Location: Reading, UK (GMT)
Posts: 2,566
Reputation power: 28
Pikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of lightPikey is a glorious beacon of light
Default

I believe Mist has an in polygon zone condition you can check against but your point remains that this would have been best used in the LUA predicate condition.
Pikey is offline   Reply With Quote
Old 02-18-2017, 11:00 PM   #90
Grimes
ED Testers Team
 
Grimes's Avatar
 
Join Date: Jan 2006
Location: Black Mesa
Posts: 6,862
Reputation power: 145
Grimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud ofGrimes has much to be proud of
Default

Quote:
Originally Posted by Redglyph View Post
By the way, what happened to the hoggit wiki? Hope it's just a temporary glitch, such a helpful resource
It is back up now. It occasionally goes down, its just a matter of messaging the guy that runs it. I put all the documentation on there because the ED wiki wasn't editable for a long period of time. Now that the ED wiki is back I should probably start transferring documentation over there at least as a backup.
__________________
You can only tie the world record for lowest flight.
Current Projects: Scripting Wiki, Something...
Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread), SLMOD for DCS 1.5/2.0, IADScript, Mission Editing Wiki!, Mission Building Forum
Grimes is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 08:45 PM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.