Members | Sign In
All Forums > Mission Scripting
avatar

Routine Chaos

posted Dec 22, 2011 23:37:25 by Vorus
I'm trying to write a new mission that would work with the stock game, and any of the main mods. And I want it to have the ability to have branching events that change what happens in the mission depending on what the player does, or where he goes, etc. But I need ideas for events that can happen. And they have to be things that can happen in any of the universes. And I'd like some of them to be non-combat. Maybe things like rescuing ships from black holes, figuring out some little puzzle, (Or something else for the SCI officers) piloting challenges, etc.

Any ideas?
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
page   1 2 3 next last
38 replies
avatar
DrTwitch said Dec 23, 2011 02:34:01
The worst thing is that SCI only has some limited options in 1.55

Defector in an escape pod.
must search an asteroid field. (short range scans) opponent ships are also searching, add in a monster for giggles. Close approach will let you affect a rescue. Once you have the person, hot foot it to the warp out point (edge of map?)

(generic objects can have many names and the generic asteroids could be also littered with wrecked or older escape pods.
some pods could also contain mines...
no bases for resupply...

convoy attack (attacker).we need thse supplies!!!!!
Must disable (or force surrender) from 20% of the convoy ships
Game has mission time limit (or till ships leave the map or reach their home base/planet on the map)

a damaged freighter could be set upon by the convoy escort (or pirates) as it attempts to leave the area.
no bases for resupply...

Monster capture:
lure monster to a science ship - triangle formation of stationary ships.
Monster must be escorted through a maze of "radiation belts". Find a path clear of radiation, find a monster, drag the monster along to the triangle. (not sure of the way to set up the "death barriers" for the monster, making the generic meshes visible to science but not helm?
(we are in space, no bases)
COMMS:
Science ships could give messages about fragility of monster.
Monster could deteriorate as mission progresses

Pirates could also be using the belts
Pirates could be poachers, they kill the monster - you loose.
Hostage Rescue(?)


The long way home:
sort of a lady or the tiger kind of choice.
thrown into a wierd space there are two warp points.
the locals in the sector have them in their mythology (constelation) as the bull and the cricket.
the locals are at war.
each side claims to know which is a wormhole and which is an unstable path to hell.

there are a handfull of installations and colonies.
visits to the planets unlock comms messages.

i have to figure if clues lead to the coordinates or names being the kiey (primes, magic dates, etc.)
---- ---- ----
here come the drums
avatar
Vorus said Dec 23, 2011 02:44:50
Oooo, some nice ideas here! I'm definitely going to use some of these. Thanks!
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
DrTwitch said Dec 23, 2011 03:35:35
i think that you can "trick" the system into makeing these work (i tried to limit myself to what i have seen in other missions and also what i gather is possible given 1.55 scripting.

If you reaaaaaaly want to throw scripts out for testing, just send email to twitchew@gmail.com. I have a rather captive audience through the 30th. half finished or rough is OK. we can provide feedback.
---- ---- ----
here come the drums
avatar
Mike_Substelny said Dec 23, 2011 03:39:28
I like DrTwitch's "Search asteroid field" idea very much. Here are my thoughts:

Create a gigantic asteroid field. There are no bases in this sector, but numerous anomalies.

Select a tiny ZONE of the field where the defector's escape pod is located.

Have several fleets of bad guys also in the asteroid field. Direct them to a search pattern that they follow unless the players get close to them. Make it a weird search pattern that only aliens would understand.

At least one of the fleets should have the job of molesting the players.

Give Science clues via pop-up messages as the players get closer to the escape pod's ZONE. These would be like a child's "hotter" or "colder" game except more science-y sounding.

Also give Comms clues as Bad Guys tell each other about signals they are picking up.

If bad guy ships enter the ZONE then they kill the defector and the players lose.

Have the search pattern lead bad guys to the ZONE after 10 minutes or so. If players accidentally lead any bad guys to the ZONE sooner that's too bad.

When the players find the ZONE create the escape pod as a generic object. Defector is beamed aboard and the chase is on! Immediately have all bad guys converge on players.

Players must reach certain map edge to escape. Of course extra bad guys will stand in their way.

The defector might give the players a power up. For example, he might tell them a weakness of bad guy shields. Your script would then weaken the shield strength of all bad guy ships to beam frequency D . . . or something like that.
"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
avatar
TreChipman said Dec 23, 2011 05:33:30
This is actually something I've been trying to implement in my 'Verse mod, Vorus-- Going into a given sector might trigger either generic or location based events. I've been tackling it in small parts, though, and work has been brutal lately, but I'm hoping the holidays will give me a chance to work on it more. Let me know if you want to compare notes or ideas! For that matter, same goes with the rest of you guys!
[Last edited Dec 23, 2011 05:39:16]
I'm not a mad scientist. I'm an angry one. You'd be wise to fear the latter.

Visit Artemis Command!
avatar
DrTwitch said Dec 23, 2011 14:03:44
@Tre
i am really glad to hear that you are going to work on an "expanding verse" ;)

not sure how to contact you, but if this list format is fine with you it is fine with me as well.
---- ---- ----
here come the drums
avatar
Vorus said Dec 23, 2011 14:21:49
Excellent, thanks for the help guys! DrTwitch, I'll send you what I have if I get anything done in time.

I actually was working on making a giant asteroid field, but I didn't have any use for it yet. I think I might have to make this a multi-sector mission, though.

One of my other goals with this project is to create some nearly self-contained blocks of code that could easily be modified an used by other people. So if I end up with anything cool, everyone should feel free to use anything.
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
DrTwitch said Dec 23, 2011 15:20:56
Vorus
...create some nearly self-contained blocks of code that could easily be modified an used by other people.


I have to say that this is exactly what i was thinking about since starting to script.
For other script "repositories" there are often "snippets", with a bit of documentation and also try and break things down into task based elements.

I am a big fan of the "for dummies" books and I am also a bear of very little brains. I like the tone of a snippet to assume that the reader is using Artemis as a first time script writer or programmer, loves the idea of a narrative, and may not understand that we only have a handfull of tricks, but they can be used any number of ways and tricks can be stacked together to make more complex effects.
Also I wanted to try and have snippets that would feel more like a part of the narrative, so there may be examples that are all actually variations on a theme (create object), but would let a story teller be thinking "and once the ambassidor is on board, 4 Kralien ships show up!" and not have to switch mental gears to programming right away. Some really great story tellers can't really script, so I hope to expand the appeal to them as well. Plus if a story teller works with a person that scripts, one could provide a bit of a translation book that both the scripter and teller can refer to during development.


So a humble example. (this is some pseduocode and hope it give you an idea of a readable tutorial/recipe could look like.)
===============================================
"Switcharoo" (aka, revolving door, how did YOU get here, alakazam, turncoat, polymorph, thats no moon)

Want to have a ship change into a villian or become an ally? A ship suddenly power up and appear from a supposed clump of debris? In artimus, you basically need to replace on thing for another thing.
To do this you need to know:
@@NameofFirstThing@@
@@NameofSecondThing@@

This script is for version 1.55 of the game.

The Script itself
<event>
/-- make the switch condition
/-- (see examples under the headings "SomeRedFlags", "ItsATrap", "ThatsNoMoon", "LetsTalkAboutYou" for examples of ways to find out if something has happened during the story, where things are, what properties of a ship or other object.)
< if...
/-- create @@NameofSecondThing@@

/-- (see examples under the headings "UtopiaPlanatia", "TrickyTerrain", "ThatsNoMoon" for examples of ways to make ships, adteroids, plants based or ther things.)
<create object ... >

/-- use copy object property
< copy_object_property @@NameofFirstThing@@, @@NameofSecondThing@@, positionX />
< copy_object_property @@NameofFirstThing@@, @@NameofSecondThing@@,positionY />
<copy_object_property @@NameofFirstThing@@, @@NameofSecondThing@@,positionZ />
< copy_object_property @@NameofFirstThing@@, @@NameofSecondThing@@,angle />

/-- Maybe warn the players? You Wuss!
(see: "MyBlueLightSays", "HailingFrequencysOpen", "WhereCouldHeBe? for examples of how to send messages, alter sensor readings.)

/-- could the new object affect the ship or set some other condition?
(see: "I like to move it", "TheMainEnergizerIsOut", "ShieldsCollapsing", "SomeRedFlags" for examples of how to change a ship's course and speed, how to damage or take systems off line, how to change ship system settings, how to set a variable for other events.)

/-- now remove the orignal and our swap is complete.
<destroy @@NameofFirstThing@@ />
</event>
=====================


Does this help? or make things too complicated?
could it be housed on the wiki?
---- ---- ----
here come the drums
avatar
ThomRobertson said Dec 23, 2011 19:46:31
I also like all the mission/story ideas in this thread.
Creator of Artemis
avatar
Vorus said Dec 23, 2011 19:57:05
@DrTwitch: Yeah, I think a code database section of the Wiki would be very cool. I'd rather have it contain actual code than pseudo code, but that's just my opinion.

@ Anyone else:

Am I doing something wrong here? I'm trying to use random values to change how the enemies hunt for the defector, so their search pattern isn't entirely predictable. But neither of my log entries get written.

<if_inside_sphere name="Enemy01" centerX="58000" centerY="0" centerZ="58000" radius="250"/>
<set_variable name="bTurn01Var" randomIntHigh="100" randomIntLow="1"/>
<if_variable name="bTurn01Var" comparator="<=" value="50"/>
<log text="less than or equal to 50"/>
<if_variable name="bTurn01Var" comparator=">=" value="51"/>
<log text="greater than or equal to 51"/>



<EDIT> I should have mentioned, the variable is being set to random values, I just can't figure out how to test against it. I even created a new event just to test it, still nothing.
[Last edited Dec 23, 2011 22:11:20]
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
DrTwitch said Dec 23, 2011 22:44:21
I'd rather have it contain actual code than pseudo code, but that's just my opinion.


the pseudo code was more just for me to whip out an outline of an example without worrying too much about getting it right in the forum.
i agree that working code blocks (with version numbers) would be the best way to go...
---- ---- ----
here come the drums
avatar
Mike_Substelny said Dec 24, 2011 08:19:25
Vorus: you need to make those variable tests separate events. Because they are mutually exclusive they can't be in the same event block or they will never execute.
"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
avatar
TreChipman said Dec 24, 2011 08:21:48
I think you need to have your actions explicitly set within your code, Vorus. When all the if conditions have been met, then you can add in your settings, but I don't think you can do conditional/set/conditional/set within a single event block. Rather, you should have your initial conditionals set a flag that enables another set of conditionals/, even if it's just a flag to initiate something that happens in another event block. I'd recommend trying something like this:

<start>
<set_variable name="crazyIvan" value="0"/>
</start>

<event>
<if_inside_sphere name="Enemy01" centerX="58000" centerY="0" centerZ="58000" radius="250"/>
<if_variable name="crazyIvan" comparator="=" value="0">
<set_variable name="bTurn01Var" randomIntHigh="100" randomIntLow="1"/>
<set_variable name="crazyIvan" value="1"/>
</event>

<event>
<if_variable name="crazyIvan" comparator="=" value="1">
<if_variable name="bTurn01Var" comparator="<=" value="50"/>
<log text="less than or equal to 50"/>
<set_variable name="crazyIvan" value="2"/>
</event>

<event>
<if_variable name="crazyIvan" comparator="=" value="1">
<if_variable name="bTurn01Var" comparator=">=" value="51"/>
<log text="greater than or equal to 51"/>
<set_variable name="crazyIvan" value="2"/>
</event>

I'm not a mad scientist. I'm an angry one. You'd be wise to fear the latter.

Visit Artemis Command!
avatar
TreChipman said Dec 24, 2011 08:23:07
... er, yes, what Mike said. :)
I'm not a mad scientist. I'm an angry one. You'd be wise to fear the latter.

Visit Artemis Command!
avatar
Vorus said Dec 24, 2011 17:27:20
Of COURSE . . . Guess I just spent too much time in front of the screen yesterday. Or I'm just an idiot, one of the two.

Thanks guys! :)
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
Login below to reply: