Quest Development Questions...

Tips, tactics, and general discussion for Evochron Legacy.
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Quest Development Questions...

Post by matchbox2022 »

I most definitely have a quest question as I've been looking into it during my spare time, I plan on releasing a very very tiny one (maybe about 3-4 quest stages at best) to just test the waters and its capabilities so to speak, creating a russian roulette situation.

It will involve finding a shipwreck on a planet, where data drive messages would describe a problem with a new method of fulcrum travel, and describing what happened. There would be a unique item loaded into the ship as well (it would be nice to specify it as something unique and worthless like a satellite / something else unique and interesting, that is automatically loaded into your cargo bay once finding the beacon)
It will involve entering an anomaly, where a specific "item" inside allows the teleporting directly to a location.

However the "risk" element would be extremely high of doing so...I don't think the quests can handle probability and generating variables on the fly, but that's pretty damn easy to do in batch, to recompile the quest on a new try (though the "it won't work or it will" will be written in stone so to speak on game load, I'll be giving a 90% chance of failure).

Following questions in order of priority;

1) Basically I need a way to create a situation where the player MUST jettison the cargo obtained from the beginning of the quest, before a timer ends (while playing an audio file), if they do not, they explode and die. (I can't find any event that destroys a player, nor where the objective is to jettison an item, nor to create a situation of "go to here if fail to do this, else nothing")

2) Are there any "Stock" anomalies one could use from the game and load it through the quest system, where it checks if you have an item it can teleport? (I think the teleport an if item acquired continue exists)

3) How do you give an engineering template for a specific piece of equipment through a beacon / shipwreck (or on talking with an NPC or trading...I assume the beacon is easier)?

The end game is that once you have a specific condition, ie. the use of a disruptor in the anomaly at the end of the quest, that the teleport works.
User avatar
Vice
Administrator
Administrator
Posts: 12227
Joined: Fri Apr 25, 2003 1:38 am

Re: Existing List of Upcoming Features\Changes?

Post by Vice »

1) Basically I need a way to create a situation where the player MUST jettison the cargo obtained from the beginning of the quest, before a timer ends (while playing an audio file), if they do not, they explode and die. (I can't find any event that destroys a player, nor where the objective is to jettison an item, nor to create a situation of "go to here if fail to do this, else nothing")
To require the player jettison something (after verifying it is in the cargo bay using event ID 20) might work by reusing even ID 20 with a Data1 value of 0 and Data2 value of 0 (they'd have to jettison the cargo to clear out the cargo bay as you may require of them in the directives). Granted though, I don't think this has been tried before, so there may be some other dependencies/requirements that need to go along with it and/or may require some code additions to the system by me at some point. I've got the game ripped apart at the moment working a bunch of other things for the next planned update, so it's not a bad time for me to evaluate such a thing if needed. Just needs to be done before closing down feature creep coding for the update and locking in the codebase for final testing.

You can destroy the player after a timer runs out by using event ID 99 at the end of an active timer stage (might be easiest to set that up on a losing route).

You can set up a situation where the player has to go somewhere and if they fail, the quest either suspends until they do or you can route to a losing path to do what you want next (can be done with a timer or location trigger).
2) Are there any "Stock" anomalies one could use from the game and load it through the quest system, where it checks if you have an item it can teleport? (I think the teleport an if item acquired continue exists)
Possibly, yes, depending on what anomaly you might be interested in. You can also create and load your own as an object as part of the quest. To check for an item, use event ID 20. To teleport, use event ID 10.
3) How do you give an engineering template for a specific piece of equipment through a beacon / shipwreck (or on talking with an NPC or trading...I assume the beacon is easier)?
The mechanics of transferring engineering template to the engineering log/list is internal to the game and is a separate scenery entity system. So the only way you could do it at this stage is to display the template details via text or image and have the player log it manually for future retrieval.
The end game is that once you have a specific condition, ie. the use of a disruptor in the anomaly at the end of the quest, that the teleport works.
That may require my involvement on the codebase side of things, if the final event is not something that just requires arriving at a location, acquiring something, building something, or deploying something.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

For the first iteration of this thing :P I'm going with simpler is better by far, I'm trying to work within what the game already provides and nothing outside that other than a sound and an object .x file.

Thx for the reply vice! That seems pretty helpful, I'm looking into the examples I've found fumbling around to learn a bit more since that seems like a lot more meat and potatoes I haven't explored at all in this game.

Just a quick follow up...
are the anomalies scenery objects....how does one conjure them up....is there a list somewhere I can see?
User avatar
Vice
Administrator
Administrator
Posts: 12227
Joined: Fri Apr 25, 2003 1:38 am

Re: Existing List of Upcoming Features\Changes?

Post by Vice »

There are some and they actually carry the filename prefix of 'scenery'. You can enter them in as any other filename for spawning a quest object. You can see an example of one of them loaded in the first two quest files. You'll generally need to try out various scaling and positioning values you want and specify these texture indexes in the following data lines (although you can certainly specify your own and include your own model for even more customization):

QuestData4=2540
QuestData5=14
QuestData6=2545
QuestData7=2544

Here is a quick list:

scenery2.x - Kind of a sensor/station looking structure.
scenery4.x - Data beacon.
scenery8.x - Ringed gate looking structure.
scenery20-25.x - Shipwrecks.
scenery27-28.x - Debris fields.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

I think most of what you want can already be done. Quests 2 and 3 are both text files and might give you an idea as to how to go about it. Actually, you're bypassing what I felt was the hardest part: scripting battles. It's a lot easier to set up objects ... keeping in mind that any scripted object will disappear when the player moves on to another stage.

P.S. As for creating your own objects, the two quests mentioned above include "wafers" which fit inside the warp rings and display images specific to each stage. Also, there is another mod-quest at SeeJay's website which uses a cube with surface textures.
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

Hey guys, I was pretty curious about two things for quests,

1) Is there any way to create that "fade" effect on a ship like what happens when you use a build constructor.....as something builds it kind of warps into the background before it becomes solid......I was wondering if it was possible to give a specific ship that effect before blowing it up (if there's an event to make that happen too that'd be great).

2) The anomaly found during a specific quest to find a specific piece of equipment.....the big "dark one" that's bright inside. Would someone mind sending me either a PM of its location or better how I could call it up in a quest as well? (I'd like to use it as a brief "intermission" through a jump somewhere else). I already did it and got it, but don't seem to have things recorded....I'd look again just to be sure through the game itself map log....but if it can be built into the quest that'd be a lot easier if it was spawnable

3) most importantly. Is there any way to set the players fuel to low levels or to trigger smth at low levels. In theory Id like to make the player have a massive fuel drain and give it back to him after the ordeal is over.
crossing fingers :).
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

There are questevents which do something similar to what you propose in question 3:

11 = Disable player's jump drive for 200 seconds (hit by disruptor mine)
12 = Disable player's nav system
13 = Disable player's weapon system
14 = Disable player's engine system

I don't think you can reduce the fuel directly but you can simulate such a thing in one or more of the above options.
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

For question one, you could probably create a fade using the following questevent:

10 = Transport the player to the specified location
Data1, Data2, and Data3 are for the SX, SY, SZ
Data4, Data5, and Data6 are for the X, Y, Z

Only, set the destination location to the same coordinates as your current location. I haven't tried it but I think it would work.
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

As for the big dark one ... I have no idea which object you mean. ???
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

Nah....the mechanic would involve having critical fuel and navigating a maze using thrusters only, using ids would be cheating so I figured with critical fuel levels you'd "have no choice" but to do it with thrusters, then I could transport the player to where gas is if need be...
so the ability to take away or give fuel would be pretty important....the only other way would be something that checks the player fuel level to see if it is a certain "number" before going to the next stage.


Spoiler. I'm talking about where you find the blueprints for the Terrain Walker in that quest, that's the specific anomoly I'm talking about, white inside everywhere, pitch black from the outside. Not sure if its a planet just with a "beacon inside". The location sector through PM would work just as well so I can shoot the player there as a temporary effect (they will blow up shortly after arriving there) To not spoil for anyone I was just hoping to find the location through a PM without trying to find the old file I had when I visited it. Trying to work a bit smarter as life is being busy :P.
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

Must be a brain fart at my end. Which quest? Which stage?
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

Vice wrote:There are some and they actually carry the filename prefix of 'scenery'. You can enter them in as any other filename for spawning a quest object. You can see an example of one of them loaded in the first two quest files. You'll generally need to try out various scaling and positioning values you want and specify these texture indexes in the following data lines (although you can certainly specify your own and include your own model for even more customization):

QuestData4=2540
QuestData5=14
QuestData6=2545
QuestData7=2544

Here is a quick list:

scenery2.x - Kind of a sensor/station looking structure.
scenery4.x - Data beacon.
scenery8.x - Ringed gate looking structure.
scenery20-25.x - Shipwrecks.
scenery27-28.x - Debris fields.
So this is from the quest materials I've been able to find.

Event 4 = Just place object at location in sector only; QuestObjct is for the object ID or filename.
Data1, Data2, and Data3 are for the X, Y, Z
Data4 specifies the base texture (default 2480)
Data5 specifies the normal map texture (default 2481)
Data6 specifies the specular texture (default 2482)
Data7 specifies the emissive texture (210 = none, 15 = glow, 2544 = secondary option for glow)
Data8 specifies the scale (default 2)
Data9 specifies rotation along the X axis (default 270)

I'm just curious, how are we to know what texture types are what # and which is associated with what scenery?
Is there like...a list somewhere? I don't even know what the indexes mean so its a pretty big shot in the dark.
User avatar
Vice
Administrator
Administrator
Posts: 12227
Joined: Fri Apr 25, 2003 1:38 am

Re: Existing List of Upcoming Features\Changes?

Post by Vice »

There hasn't been a list per se, since the system itself is primarily designed/intended for using custom objects and textures with custom quests. Internal textures are also often 'moddable' themselves and can be changed by players, so they aren't always a good option for custom quests which might depend on specific textures (where external solutions are best). Plus, many/most of the internal textures are designed with specific UV formatting that wouldn't work well with external objects they aren't intended for. They have also been subject to change in the past for updates, although I don't anticipate too many, if any, changes to them in the future at this point. But here are several of the available indexes for internal textures that are somewhat more generic in their formatting. Some are sets and some are individual (where individual, you can specify index 210 to fill in other indexes with a blank texture):

Station type textures:
2540 = Diffuse
14 = Normalmap
2545 = Specular
2544 = Emissive

Rocky texture:
29 = Diffuse
850 = Normalmap
851 = Specular

Light flare:
99 = Diffuse

Destroyed structure:
2480 = Diffuse
2481 = Normalmap
2482 = Specular

Small orange glowing orb:
145 = Diffuse

Bright starburst:
11 = Diffuse

White star:
4300 = Diffuse

Yellow star:
4301 = Diffuse

Blue star:
4302 = Diffuse

Red star:
4303 = Diffuse

Cyan star:
4304 = Diffuse

HUD Race/Imagery rings:
1470 = Diffuse

Generic panel, seamless (ie cargo pods):
642 = Diffuse
3052 = Normalmap
3054 = Specular
3053 = Emissive

Solar panel:
205 = Diffuse

As this is turning into some useful info for custom quests, I may separate it for its own dedicated thread soon.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

In the main game folder you can find a number of "quest4" textures which use the .png format. Most of them act as inserts to the gate-like object (four of which are scattered across the gated sectors). I'll take a look at the corresponding quest file and see if I can add some remarks to help you understand how quest objects work.
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

ID 0 is used for default quest that comes with the game

QuestIDNum=0 ; default - each quest must have a unique number
QuestTitle=Quest Title

QuestStage=1
QuestTextL=3
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Text for stage one goes here
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

QuestLoctn=
QuestLocSX=
QuestLocSY=
QuestLocSZ=
QuestLocXC=
QuestLocYC=
QuestLocZC=
QuestLHide=

QuestEvent=
QuestObjct=
QuestSpace=
QuestData1=
QuestData2=
QuestData3=
QuestData4=
QuestData5=
QuestData6=
QuestData7=
QuestData8=
QuestData9=

QuestNextW= ; this tells the game what stage to go to next based on an event win
QuestNextL= ; this tells the game what stage to go to next based on an event loss (use 0 for no option)


Note: All quests must start at Stage 1. When a player begins a quest, the quest engine will look for Stage 1, as displayed in the Pilot Statistics window of the Available Pilot Profiles menu.


If your quest exceeds the 5,000 line limit, you can split it up and, as long as the player's Quest Progress indicates that he is at a stage reflected somewhere in the follow-on part of the split quest, the quest will continue ... but only if you've used the same quest ID number. If you use a different ID number, then you must start the follow-on part of the quest at Stage 1. You can then number the remaining stages as you like.

QuestLoctn

0 = None (<10K)
1 = Meet within 300m of location (must specify SX, SY, SZ, X, Y, and Z coordinates)
2 = Meet at location and require station docking (must specify SX, SY, SZ, X, Y, and Z coordinates)
3 = Meet at location and require city docking (must specify SX, SY, SZ, X, Y, and Z coordinates)
4 = Meet at location and require carrier docking (must specify SX, SY, SZ, X, Y, and Z coordinates)
5 = Meet at sector location only (must specify SX, SY, SZ)
7 = Meet within 500m of ground-based object (specify SX, SY, SZ of primary object – see Attachment 2)
8 = expanded combat are to 50K range (recommended for large battle/event areas)

QuestEvent
  • The 'Objct' value is for specifying an object ID or filename
  • The 'Data#' values can be used to specify a file, object ID, AI threat level, text, or location
  • The 'Space' value tells the game whether the object is in space or on the in-sector planet
  • If the 'Space' value is 0, then the object is in space, if the value is 1, then the game will place
    the object on the planet's surface and allow it to rotate with the planet, 'Data1' then becomes
    the X angle placement and 'Data2' becomes the Y angle placement relative to the planet
  • The 'QuestLHide' is for specifying the visibility of a quest waypoint
    if the value is 0 or the command is left out, the waypoint is visible
    if the value is 1 then the waypoint is hidden
0 = Nothing, advance to the next stage automatically if player arrives at location (good for text messages)

1 = Play audio sound (see Attachment 2):
  • Data1 is used for the sound file you want to load and play
    wav file, PCM, 16-bit, 44KHz stereo or 22KHz mono
2 = Display indicated text (good for message beacons, requires close proximity before advancing)
  • Color will be purple by default, or specify a color for each line by adding \RGB at the end
    where R = 0-2, G = 0-2, and B = 0-2
    0 = no color, 1 = dim color, 2 = bright color
    Data1 is for the text; leave all other data lines blank
3 = Place ship at location in sector (see attachments 4,5 & 6 for special cases):
  • QuestObjct is for the object ID of the ship, starting at:
    1221 for capital ships
    1230 for fighters
    1261 for ships in sectors withoug stations
    Data1, Data2, Data3, are for the X, Y, Z
    Data4 is for threat values (1-3 friendly to hostile)
    Data5 is for specifying the faction affiliation of the ship (0 = None, 1 = ALC, 2 = FDN)
    Leave Data 6-9 blank for ships not designated for morting (see Attachment 4)
    Data6 specifies if ship needs to be destroyed or not (0 = no, 1 = yes)
    Data7 specifies number of the ship within the kill group (1-9 for up to 9 ships at a time)
    Data8 specifies total number of ships in the kill group to destroy
    Data9 sets ship type (see Spacecraft ID Numbers section), leave blank for default
4 = Just place object at location in sector only:
  • QuestObjct is for the object ID or filename
    Data1, Data2, and Data3 are for the X, Y, Z
    Data4 is for specifying a custom texture for base (see Attachment 1)
    Data5 is for specifying a custom texture for normal map
    Data6 is for specifying a custom texture for specular
    Data7 is for specifying a custom texture for emissive
    Data8 is for specifying a custom scale level
    Data9 is for specifying an X rotation angle
5 = Player must reach waypoint/complete objective specified in next stage by time limit
  • Data 1 is for the time limit in seconds
    Data 2 is for displaying the timer value on screen or not (0 = display, 1 = do not display)
7 = Player must destroy the ship(s) specified in event 3 before advancing to the next stage

8 = Warp specified ship away
  • QuestObjct is for the object ID of the ship, starting at 1221
9 = Warp specified ship in
  • QuestObjct is for the object ID of the ship, starting at 1221
    Data1, Data2, and Data3 are for the arrival location
10 = Transport the player to the specified location
  • Data1, Data2, and Data3 are for the SX, SY, SZ
    Data4, Data5, and Data6 are for the X, Y, Z
11 = Disable player's jump drive for 200 seconds (hit by disruptor mine)

12 = Disable player's nav system

13 = Disable player's weapon system

14 = Disable player's engine system

15 = Wait until player has specified equipment item installed
  • Data1 is for equipment item (19-40)
16 = Wait until player has specified particle cannon installed
  • Data1 is for particle cannon (1-15)
17 = Wait until player has specified beam cannon installed
  • Data1 is for beam cannon (1-5)
18 = Wait until player has specified missiles installed
  • Data1 is for missile type (71-84, 86-88)
    Data2 is for number of missiles (1-8)
19 = Delete object
  • Data1, Data2, and Data3 are for the X, Y, Z

20 = Retrieve the specified number of units of material
  • Data1 is for the material type
    Data 2 is for the number of units
21 = Build module at specified location (+/- 100 for location is allowed)
  • Data1 is used for module type (0-8)
    Data2, Data3, and Data4 are for the SX, SY, SZ
    Data5, Data6, and Data7 are for the X, Y, Z
22 = Deploy module at specified location (+/- 100 for location is allowed)
  • Data1 is used for module type (0-5)
    Data2, Data3, and Data4 are for the SX, SY, SZ
    Data5, Data6, and Data7 are for the X, Y, Z
25 = Cancel the timer (when timer CNX isn't triggered by events 7, 10, 16, 17, 18)

27 = Flash effect
  • Data1, Data2, and Data3 are for the X, Y, Z
    Data4 is for the total size of the flash (300-5000)
    Data5 is for the flash expansion rate (10-200 slow to fast)
28 = Explosion effect
  • Data1, Data2, and Data3 are for the X, Y, Z
    Data4 is for the total size of the explosion (40-80)
88 = Quest completed


Item ID Numbers

Commodities:
1: Food units
2: Medical supplies
3: Hydrogen fuel cells
4: Electronics
5: Solar cells
6: Metal ore
7: Diamonds
8: Anti-matter cells
9: Fusion cells
10: Machinery parts
11: Textiles
12: Platinum
13: Biological Units
14: Oxygen
15: Gold
16: Silver
17: Water
18: Armor
800: Memory banks
801: Batteries
802: Energy emitters
803: Reflective mirrors
804: Focal mirrors
805: Radio receivers
806: Radio transmitters
807: Particle accelerators
808: Lenses

Equipment:
19: Fuel converter
20: Mantis drive
21: Class 1 Fulcrum jump drive
22: Class 2 Fulcrum jump drive
23: Class 3 Fulcrum jump drive
24: Class 4 Fulcrum jump drive
25: Class 5 Fulcrum jump drive
26: Class 1 cargo scanner
27: Class 2 cargo scanner
28: Class 3 cargo scanner
29: Class 4 cargo scanner
30: Class 5 cargo scanner
31: Cannon relay system
32: Mining and tractor
33: Shield batteries x1
34: Shield batteries x2
35: Shield batteries x3
36: Shield batteries x4
37: Shield batteries x5
38: Repair devices class 1
39: Repair devices class 2
40: Repair devices class 3

Particle Cannons:
41: FlareBeam particle cannon
42: IceSpear particle cannon
43: FireFury particle cannon
44: StarGuard particle cannon
45: Stalker particle cannon
46: Eclipse particle cannon
47: StarForge particle cannon
48: Maxim-R particle cannon
49: SunRail particle cannon
50: Razor particle cannon
51: Predator particle cannon
52: Trebuchet particle cannon
53: Atlas particle cannon
54: Phantom particle cannon
55: Banshee particle cannon

Beam Cannons:
56: Refractor Laser
57: Metal-Vapor Laser
58: Coil Laser
59: Neodymium Laser
60: Fusion Laser

Missiles:
71: Echelon missile
72: Viper missile
73: Rockeye missile
74: Starfire missile
75: Exodus missile
76: Leech EMP missile
77: Excalibur regenerative missile
78: Stealth devices
79: Disruptors
80: Lynx missile
81: Rage missile
82: Cyclone missile

Additional Equipment:
83: Disruptor mines
84: Probes
86: Fuel packs
87: Charge packs
88: Shield packs
100: Stealth generator
104: Repair beam
105: Anti-missile system
106: Shield array recharger
107: Automatic CM launcher
108: Cannon heatsink
109: Deploy constructor
110: Build constructor
111: Afterburner drive
112: Terrain walker
114: Target scanner
115: Escape pod
117: Satellite

Exclusive Engineering Items:
120: Shield Modifier P (particle cannon shield enhancer)
121: Shield Modifier B (beam cannon shield enhancer)
122: Shield Modifier M (missile shield enhancer)
123: Thruster Overdrive
124: Solar Recharger

Build Modules:
0: Power Supply
1: Living/Crew
2: Production
3: Storage
4: Command
5: Shield
6: Weapon Turret
7: Horizontal connector
8: Vertical connector

Deploy Modules:
0: Hangar station
1: Repair station
2: Sensor station
3: Fuel processor
4: Shield array
5: Mining probe

Spacecraft ID Numbers

Alliance:
1: Talon
2: Osprey
3: Saber
4: Falcon
5: Raptor
6: Phoenix
7: Eagle
8: Renegade
9: Centurion
10: Leviathan

Federation:
41: Arrow
42: Scorpion
43: Hunter
44: Typhoon
45: Venture
46: Sentinel
47: Guardian
48: Paladin
49: Titan
50: Starmaster

Vonari:
11: Fighter
12: Interceptor
13: Bomber

Navy/Military:
21: Pulsar
22: Razor
23: Shadow
24: Wraith
25: Evoch
26: Nighthawk
27: Lamprey
28: Firestar
29: Avenger
30: Shrike
31: Predator

Scenery Objects

Scenery2.x: phantom station
Scenery4.x: default message buoy
Scenery8.x: hyper gate
Scenery20-25: shipwrecks
Scenery27-28: debris fields


Attachment 1

In the game engine, you must always specify the 4 texture layers. Whatever material properties you want to apply must be done via the shader system provided by the game. The normal map is a kind of heightmapping, specular is how shiny it is and is usually grayscale, and emissive are any lights you want to have on the object. So for a disc that looks like it is rendering a scene, you just need index 1 and 4 to contain the required data to display the fully illuminated scene image. You could also just have index 1 be a blank black image and use the emissive layer only.

Note: If the texture looks washed out, use a black layer for index 1 and only the emissive layer for the actual texture.

Example:

QuestEvent=4
QuestObjct=scenery1.x ; default scenery object
QuestSpace=0 ; place object in space
QuestData1=10000 ; in-sector X coordinate
QuestData2=13000 ; in-sector Y coordinate
QuestData3=-47000 ; in-sector Z coordinate
QuestData4=scenery1.png ; texture image (dark square if image is washed out)
QuestData5=scenery1-normal.png ; height map (dark square for 2-dimensional image)
QuestData6=scenery1-specular.png ; specular (dark square for a non-reflective object)
QuestData7=scenery1-emissive.png ; emissive image (the actual texture)
QuestData8=1000 ; size of the object
QuestData9=90 ; orientation of the object

Attachment 2

Sound files can be placed in their own folder. In the example below, the sound (query2.wav) is placed in a folder (audio) and begins playing (QuestEvent=1) when the person gets withing 500 meters of a default object anchored to the surface of a planet (QuestLoctn=7).

QuestStage=144 ; current stage
QuestTextL=3 ; number of lines in text (chat) window
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\101 ; Red=1 (dim) Green=0 (no color) Blue=1 (dim): light purple
The object is asking us a question.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\101

QuestLoctn=7 ; Meet within 500m of ground-based object (specify SX, SY, SZ of primary object)
QuestLocSX=1400
QuestLocSY=0
QuestLocSZ=-1525
QuestLocXC=
QuestLocYC=
QuestLocZC=
QuestLHide=0

QuestEvent=1 ; play audio sound
QuestObjct=
QuestSpace=
QuestData1=audio\query2.wav ; backslash only placed between folder and sound file
QuestData2=
QuestData3=
QuestData4=
QuestData5=
QuestData6=
QuestData7=
QuestData8=
QuestData9=

QuestNextW=145 ; if a win, goto state 145
QuestNextL=250 ; if a loss, goto stage 250
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

Thx guys, I'll do more with this when school's over, right now life is a mess and I have no free time to mess around with this :P, though I'd love to put in some kind of very high quality short 3 jump max story in. Having the options around is super helpful to give me the ability to chisel the unique ideas in my head that people haven't had to do in game quite yet.
Mostly, some kind of obstacle avoidance timed challenge...without engines (thrusters only) as well as basically a distress call based on chance for players if they run out of gas...I think with everything here I could cobble something together.
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Existing List of Upcoming Features\Changes?

Post by Marvin »

When scripting a quest, I've often used small-stage test scripts. Not only are they useful in checking how or if an idea will work, they also are easier to de-bug since it doesn't require sorting through numerous lines of scripting code to find (what usually turns out to be) the typo.
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Quest Development Questions...

Post by matchbox2022 »

I think I'm slowly starting to get it.

So Object ID doesn't refer to a "specific" object right? It starts from the magic 1221 1230 or 1261 based on order of creation and isn't refering to a dictionary of objects to pick from.


I do have one big question as I'm essentially trying to make a distress call scenario, but I'd really like the player to be able to obtain a specific item (like a fuel pack) through a trade with an AI ship that comes in (or through destroying it). Any way to spawn / warp in a fighter that has one as cargo?
User avatar
Vice
Administrator
Administrator
Posts: 12227
Joined: Fri Apr 25, 2003 1:38 am

Re: Existing List of Upcoming Features\Changes?

Post by Vice »

Correct, the number is the object index rather than a fixed/static object identity type.

It's not really possible/feasible to spawn a ship with a particular cargo item onboard for trade. However, you could theoretically spawn a ship that leaves an item behind or hide it in/near another location or object in the area.

We might want to split this thread soon over to the customizing forum as a dedicated topic considering the scope and direction it's branched off into.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

Ah, any idea what kind of event # that would be?
Yeah it's become a quest thread by far.

From everything I've read I can't manage to find a way to make this quite work in order to have someone fight a ship which leaves behind some fuel as a fuel pack for them.
User avatar
Vice
Administrator
Administrator
Posts: 12227
Joined: Fri Apr 25, 2003 1:38 am

Re: Existing List of Upcoming Features\Changes?

Post by Vice »

The fuel pack is the omitted part. Leaving behind profitable cargo/equipment/items is within the realm of exploit exclusion, so there isn't a directive to spawn those (since a player could just repeatedly loop their delivery). Quests being more designed for revealing easter-eggs, following clues, exploration/transportation to distant locations, narratives, directing build operations, resource gathering, guided battles/combat, etc.

That said though, there is a scope of cargo parameters for AI ships which could wind up giving the player something in a cargo container in a ship after its destruction. And in theory, that could be used to direct the player to keep destroying enemy ships until a particular 'material' item is recovered. A fuel pack isn't one of them, but certain materials can be checked for using directive 20. You could just check for one unit of a material they occasionally carry (material types 1, 3, and 5 and spawning civilian ship frame types 1-2, 3-4, 5-6, or 41-42, 43-44, and/or 45-46 respectively in data line 9 for best chances). There would unfortunately be an uncertainty factor with it though since they may or may not carry cargo at the time. And the player may also accidently destroy the cargo during the fight.

I'll likely split this into its own thread over in the customizing section soon.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Existing List of Upcoming Features\Changes?

Post by matchbox2022 »

Yeah I was thinking about exploits for sure, I'm designing a system where if someone uses the quest and it's not being used as intended, the batch launcher kills the quest, it'd be very hard to track down undoing it so even another download wouldn't magically give them the ability back.
I mean....if they REALLY try hard and read the code before the first install, they could get around it if they're fluent in basic scripting...but at that point someone would find a similar way of doing it anyway...
Kinda like back when item duplication on servers was a thing.
matchbox2022
Commander
Commander
Posts: 609
Joined: Fri Nov 13, 2015 3:21 pm

Re: Quest Development Questions...

Post by matchbox2022 »

SO.
This is more an fyi thing on my experience as a user working with the quest system.
Firstly, Here's what I LOVE; scripted events, deploying modules, timers, and ALL the questevents are excellent.
Being able to shake a player around without mercy is fantastic for storytelling mechanics. ;P
Although not "intended"...being able to loop back when achieving an objective.
Don't change this. It's a very happy accident or well thought out idea to have done c:

Here's what I don't So much love;
1) After trying to make my own quest I can attest that the system for generating AI opponents could really use more "user friendliness" I don't envy you Marvin getting hostiles working. It's a pita.

2) The timer system is awesome, unless you WANT to give someone time to read something BEFORE an event happens. I could make it work, but it had to be set so the objective timed was utterly impossible with only a
losing option to progress.

3) I was REALLY hoping to get the "jettison" button mechanic more "into the game" than it is now (it's pretty much useless minus one contract)
However making an item as being "0" or "-1" as a requirement makes that game still think the item is REQUIRED as opposed to being dumped. I got it to work "crudely half-baked" at the end of the quest as a loop, but its straight up broken minus that.
Not gonna lie, it'd be pretty awesome to have that as a legitimate QuestEvent option

Some ideas for contracts;
Furthermore, I was trying to get an "achievement" through a batch of slingshoting a ship back in time, kinda like to their last save. It simply killed and reloaded them, but was wondering...
With all the 6 dof the game is praised for, we don't really get a contract requiring trying to set up a proper orbit with a star..which can TOTALLY be done...feel like this could be explored more...maybe as part of a new contract?
Or even a contract where you need to avoid "subspace pockets" and can't use IDS (something that can be monitored via savedata.txt?) It'd give a good reason to use thrusters. I was also trying something similar.
"Key word trying" Very hard with the quest system...impossible without a batch file to help.


As far as my quest goes, a batch would monitor variables to see if orbit was attained as part of a challenge where the player lost his fulcrum drive earlier and unlock the next part (a new quest)...which allows them to get home. Slingshot around a star like old school star trek :P
Right now though its crude and improper, I doubt the quest system was built for this, I'm stretching its limit, requiring the losing path where they have the equipment installed, then they don't while in a loop, where losing the objective breaks them out.

I doubt this quest will be ready anytime soon, but it's giving new challenges not found in the game which as a user who really likes the game would like to pose as potential contract ideas first and foremost which the game has great potential to expand on even beyond what Elite Dangerous, SC and NMS do
User avatar
Marvin
Global Moderator
Global Moderator
Posts: 14373
Joined: Wed Mar 04, 2009 5:47 am
Location: Fallon-Reno

Re: Quest Development Questions...

Post by Marvin »

matchbox2022 wrote:Although not "intended"...being able to loop back when achieving an objective.
Don't change this. It's a very happy accident or well thought out idea to have done c:
It was intended, I'm sure. I sometimes made use of it myself during win/lose cycles.
Here's what I don't So much love;
1) After trying to make my own quest I can attest that the system for generating AI opponents could really use more "user friendliness" I don't envy you Marvin getting hostiles working.
I built a "fill in the gaps" sheet for big battles. And something similar for smaller altercations. I'd then paste the sheet into any part of the quest which required enemy incursions. The fun part was being able to script Vonari into gated space.
2) The timer system is awesome, unless you WANT to give someone time to read something BEFORE an event happens. I could make it work, but it had to be set so the objective timed was utterly impossible with only a
losing option to progress.
My work-around was to require the player to do a bit of mining. In increments. Allowing me to add chat dialogue one bit at a time.
As far as my quest goes, a batch would monitor variables to see if orbit was attained as part of a challenge where the player lost his fulcrum drive earlier and unlock the next part (a new quest)...which allows them to get home. Slingshot around a star like old school star trek :P
If you want to go where even Star Trek never went (although if the Orville hasn't been there yet, I'm sure they will get there eventually) then build yourself a black hole (don't use a current one ... they all have hard-coded destinations) and use it to sling-shot your player to some place never explored before. For realism, add ship damage after the warp is completed.