Moving to Patreon!

It is faster and has all the bells and whistles here. Please join us over there. If you are just returning to the Mission Europa universe, ME2 is alive! This will come to completion now. It is time to end the story =).

https://www.patreon.com/RMGames

See you there!

Latest Post : https://www.patreon.com/RMGames

Talking Mission and Story managers.

14 hours agoShow less

I plan on doodling here as an idea board. Ideas welcome!

Starting last night I am working on the most important part of the game, the story delivery.

Below are the doodles on what I am thinking as far as updating the ME2 Story and mission manager.

As a break I got the warp effect in. It is kinda fun in VR =).. It is short or it might be a bit overbearing….it may still be but we all shall see.

————————————————-

(As I go through ideas I am writing them here. =-) )

Thoughts:

Story Manager:

Holds all active and available missions.

Store mission data in an excel spreadsheet for ease of design and revision.

Missions are based off of game objects. A parent with any sub missions as children to the main.

When requested a text string will be returned of the objectives and the story manager will display them if desired in the top right of the UI by the radar.

Story manager will handle the radar, the list of missions, and records of complete, ongoing, and hidden for the rest of the missions available.

Goals:

A very large goal is to have stories tied to all missions. If it is a go fetch type mission it has to have action and story tied in a result and reward that is appropriate. Story can be a huge part of the reward.

Cut scenes will be in game. The mission structure will spawn those cut scenes. IE models speaking, explosions , catastrophes, escapes, spawns, etc. Really anything. Robust is the word.

All self contained so

Mission Class

Responsibilities:

To be totally self contained parent down to children.

Each child to responsible for themselves and notifying parent class they are complete. Along with spawning on complete game objects.

Missions may have several sub missions as part of their heirachy.

Mission node inputs:

Event: string, Game object goNotifying == null

Update: time – return complete to parent.

Mission Items: This class has a game object to spawn in a location even if it is only a trigger.

Upon trigger it notifies this class with a string of what occurred. This class has the string trigger it is looking for to spawn another game object or just react.

Example.

Mission relieve the steam pressure on an emergency valve.

On load wall to floor tag located far away from player.

Tag used and marked as used.

Game object identified in the mission object spawned on tag. This game object has a collider that has a message random of this is it deactivate.

Find and activate a valve.

BTW: If your ever trying to get to a post process item in a volume please see below this took way to long to figure out…

</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">using System.Collections;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">using System.Collections.Generic;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">using UnityEngine;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">using UnityEngine.Rendering;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">using UnityEngine.Rendering.PostProcessing;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">public class WarpBloomEffect : MonoBehaviour</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">private Animator &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;animator &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= null;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">private PostProcessVolume &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ppv &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= null;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">private PostProcessEffectSettings &nbsp;&nbsp;pps;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">private UnityEngine.Rendering.Universal.Bloom bloomVar &nbsp;= null;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">public float &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bloomIntensity &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 1.0f;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">public float &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bloomThreashold &nbsp;&nbsp;&nbsp;&nbsp;= 0.0f;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">void Start()</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">UnityEngine.Rendering.VolumeProfile volumeProfile = GetComponentInChildren&lt;UnityEngine.Rendering.Volume&gt;()?.profile;</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">if (volumeProfile == null)</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">Debug.Log("WarpBloomEffect:: volumeProfile IS NULL");</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">else</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">if (!volumeProfile.TryGet(out bloomVar))</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">Debug.Log("WarpBloomEffect:: bloomVar IS NULL");</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">// Update is called once per frame</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">void Update()</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">if (bloomVar != null)</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">bloomVar.intensity.Override(bloomIntensity);</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">else</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">{</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">Debug.Log("WarpBloomEffect:: bloomVar IS NULL");</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">}</blockquote>
<blockquote style="position: relative;border-left: var(--global-space-4) solid var(--global-content-muted-default);margin: 0px;padding: 0em 1em">

One thought on “

Leave a comment