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">

Working daily -=)

Determined… welp my little decal/detail in engine system is close to done. So glad to have its ease of use. I hope to be complete with it in a few hours. Just clean up and terrain to check.

Terrain should just be a query adjustment (Heopfully) Then back to making VR work.

I actually bought a system that gives more then all the weapon uses items. Bows, swords, guns, reloading all sorts of stuff worth the 80 bucks for sure! Super excited to experience Mission Europa in VR beginning to end =).

Working through the change to the latest version of everything unity.

I am glad the unreal experience is over. Quite the learning experience. A lot of conversion and writing code to accelerate it has been going on. But that should go faster and faster.

Done with the current entry screen. I do plan on making a banshee soft intro screen also later.

I am moving one state at a time. All along the way being cognoscente the goal is to be for VR, PC, and Mobile. Yes I know large goals especially with UI concerns. First VR. I LOOOVE seeing ME2 like I am in the universe =). Next set step is the main port change over. And getting the UI working correctly with VR from the original goal of just PC/Mobile.

Here is a look at where it is currently. With an awesome song from a musician I have lost contact with. Maybe he will show up here someday. I love his work.

LOL after a LOT of wasted time in Unreal……

Lets not call it wasted. It was a huge learning experience.

Back to unity… Unreal is soooooo Crashy… and very much more time consuming in iterations.

I mean crashing ALL the time. Without any code added in my side besides test scenes.

I am back to Unity and once I get some more progress I will shoot some pics up.

I am starting front to back. It will hopefully be both VR and other devices. But I want to target VR first as it is a much smaller market I might get seen in. I will be keeping in mind both styles of playing.