Universal Mission Development Kit

Universal Mission Development Kit

Requests for features in the spring code.

Moderator: Moderators

Post Reply
SDBryan
Posts: 10
Joined: 23 May 2010, 06:24

Universal Mission Development Kit

Post by SDBryan »

A universal Mission Development Kit is to easily create campaign missions specific to the game/mod; a GUI tool (Java, C++, C#, Lua possibly, whatsoever) will be created to make it easy to place units on the map, create triggers, and so on as it is extensible, tailored specifically to the selected game/mod. This mission file (similar to the OTA TDF file, but in lua because it is more flexible) is what it look like:

Code: Select all

-- mission.lua
local header = {
	-- all parameters can be read by LuaUI
	missionname = "Mission name",
	missiondescription = "Mission description here",
	location = "Some location, some planet or moon, some system",
	missionhint = "",
	brief = "somebriefingscript.lua",
	{ -- Schema 0
		-- Schema parameters go here
		{
			-- Units go here
		},
		{
			-- Specials go here
		},
	},
}

-- functions go here

return header
These missions can be run from the extended LUA/proper GUI (as stated here) or any other means.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Universal Mission Development Kit

Post by gajop »

I don't understand the point of this thread.
Are you proposing a format? Are you asking questions? Something else?

As far as the format is concerned, it doesn't suit me (I'm making an in-game mission editor). Firstly, fields are named oddly, there is no reason to specify the "mission" prefix, and some sort of camel case or underscore notation is required to make it readable. Adding stuff that aren't clear, or that may be game specific should be avoided at first (brief and missionhint). I don't understand what schema 0 is, nor what specials are (triggers?) but those things need to be written in detail. You are also missing mandatory mod, map and player fields.

Now a question of mine. What stake do you have in this? Are you a mission editor/runner developer? A game/lobby developer? Because I really don't want to discuss this with people that are just here to make proposals without being involved in it's direct use.

PS: Don't take any of this as a sign of hostility. I'd be glad to work with anyone that's interested in standardizing the mission format.
SDBryan
Posts: 10
Joined: 23 May 2010, 06:24

Re: Universal Mission Development Kit

Post by SDBryan »

gajop wrote:I don't understand the point of this thread.
Are you proposing a format? Are you asking questions? Something else?

As far as the format is concerned, it doesn't suit me (I'm making an in-game mission editor). Firstly, fields are named oddly, there is no reason to specify the "mission" prefix, and some sort of camel case or underscore notation is required to make it readable. Adding stuff that aren't clear, or that may be game specific should be avoided at first (brief and missionhint). I don't understand what schema 0 is, nor what specials are (triggers?) but those things need to be written in detail. You are also missing mandatory mod, map and player fields.

Now a question of mine. What stake do you have in this? Are you a mission editor/runner developer? A game/lobby developer? Because I really don't want to discuss this with people that are just here to make proposals without being involved in it's direct use.

PS: Don't take any of this as a sign of hostility. I'd be glad to work with anyone that's interested in standardizing the mission format.
I am proposing a format to be used by game mods. I am asking questions whether this GUI tool can make campaign mission creation easier.

This format is much flexible, and is LuaUI-readable. Schema is just like the "bots" as specified in the singleplayer lobby; schema 0 is the player itself. Specials are start points, triggers, scripted sequences, etc.

I am aspiring developer.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Universal Mission Development Kit

Post by gajop »

SDBryan wrote: I am proposing a format to be used by game mods. I am asking questions whether this GUI tool can make campaign mission creation easier.

This format is much flexible, and is LuaUI-readable. Schema is just like the "bots" as specified in the singleplayer lobby; schema 0 is the player itself. Specials are start points, triggers, scripted sequences, etc.

I am aspiring developer.
I don't see you posting a GUI tool. And sure, a tool would make creating missions easier, but it requires a lot of work for it to be a true editor of the likes seen in WC3 f.e (terrain, mod and scenario editing all in one).

Regarding the format you posted, as I said, it's not going to be used in that form. You should look at zero-k missions (mission.lua file) for a good start. Basically, take that one and divide conditions into conditions and events, add variables, move the initial unit spawn trigger into a separate "initial units" category, remove unit groups and replace it with unit ids, remove areas from conditions and replace it with references, add special parametric conditions and actions (f.e based on 'trigger unit', 'player sending the message') and you got an idea at what I'm aiming at. I'm also considering custom functions but for now I'm not sure how to do that.

Well it's good to know that you're willing to work. If you're interested, we can collaborate once I create an initial version of the editor (couple of weeks probably). I'm still working on some stuff that are probably best coded alone (chili editbox is my next mini goal), so I don't think I should include you for now. Also, iirc Pako was mentioning something about creating a complex save mechanism (which could allow map/feature modification amongst other things, i.e terrain editing), so model is still uncertain for now.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Universal Mission Development Kit

Post by smoth »

there are already 2 missions systems.

try the offerings that are not ba before you start looking for features that already exist.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Universal Mission Development Kit

Post by gajop »

smoth wrote:there are already 2 missions systems.
Licho said that as well once I think. I'm aware of the zero-K one, but what's the other (links please)? It may be helpful to see how it was done, in order to learn from example at least.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Universal Mission Development Kit

Post by smoth »

Gundam and KP use the same system.

to run the gundam missions you will need the gundam installer as the current version does not work in spring and the dev version is fixed in places.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: Universal Mission Development Kit

Post by gajop »

smoth wrote:Gundam and KP use the same system.

to run the gundam missions you will need the gundam installer as the current version does not work in spring and the dev version is fixed in places.
I'm currently interested just in their model (and thus what can be expressed with it). I gave it a look (example below to make sure I'm looking at the right thing), and from what I understood it doesn't hold any trigger information. It seems to only have some team/player data, initial units, their position/rotation and their initial orders.
Attachments
4 Grueling Climb.txt
(37.6 KiB) Downloaded 108 times
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Re: Universal Mission Development Kit

Post by zwzsg »

I added triggers mission to my system only later. See for exemple the missions
"Challenge 6 - Navigating through N X flags.txt"
"Script Exemple 3 - Pathfinder Test.txt"
in Kernel Panic.



Oh well here's an exemple:
Trigger1=Name RampStart Period 90 InDisk 6176 5056 32 Bit Move 5920 5056 Echo Trying to climb ramp...;

This create a trigger named RampStart. It is checked every 90 frames (one second and a half). It triggers when there's at least one unit of type "bit" in the disk of position x=6176 z=5056 and radius 32. When it triggers it gives a move order to position x=5920 5056 to that (or those) bits, and it prints " Trying to climb ramp..." to the console.



Or another exemple:
Trigger12=Name KillAll Trigger EndGame Once Stop SelfDestruct Echo Time-Out!;

This create a trigger named killall. This triggers first wait for the trigger named endgame to be true. This trigger can only be triggered once (it removes itself after). It has no period so it's checked every frame. It has no InDisk/InRect so it's map wide. It has no unit type so it's applied to every unit. And so when it triggers it gives to every unit the order to stop and to selfdestruct.



Yet another, from when I ported my mission system to BA:
Trigger3 = Name Five_Mex_and_Solar 5 armmex armsolar;
This trigger when there's at least five units, of type either armmex or armsolar.



You can also use the keywords Team (followed by one or more team numbers), Constructed (optionnaly followed by completion percentage) and Skip (optionnally followed by the number of words to skip).

For more details, you can read the code of the function ReadTrigger in the file \LuaRules\Gadgets\libs\dump_units_lib.lua

In case it's not clear, my triggers return a selection to which is applied the order queue at the end of the trigger. But individual units can also insert a WaitTrigger in their order queue to have them wait for a specific trigger.

I planned to add boolean operators to combine my triggers but have not yet.
Post Reply

Return to “Feature Requests”