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.

Welp Unreal it is

I cannot trust unity they already caused a major rewrite removing tools to a much higher priced version years ago. That made me just stop. Unreal has not and will not change supposedly. And in my opinion the only advantage of unity is C# and fast iterations. I have been learning the latest unreal engine the last few days and I am pushing forward with Mission Europa 2.0 VR.

So far so good. The tools are great and really it is the same concept as Unity. A lot better then when I was working at 2015 and created the first in engine lightmapper with Jon Olick. (Miss that guy I need to find him.) So far so good and it has assets that will make my life much easier. I will be in the process of moving from unity to Unreal for a little bit here. But I am for once again really excited. The lighting in Unreal is INSANELY better. I am also a fan of c++ for speed albeit the cavoite of dangerous code that can arise. Anywho… back at it!

Well Unity has caused a setback

But probably for the good.

Time to look into Unreal engine!….

If you have not looked it up. The are not trust worthy now. I cannot invest all the time I do and not trust when I release they destroy me.

Bad move…. possible deadly for them. No grandfather even. Just we are changing the rules.

Not a good look and indicates to me serious issues there.

They may want to look at their company like twitter and start there with improving profits.

Anyway time to investigate Unreal Engine again! =)

I kind of enjoy that.

OK

I am thinking I need to test the VR waters with a more simple game to make. Basically ME and ME2 are a 30-50 man team normally… so lots of work..

I am going to think of a smaller game for VR to test the market. Any ideas are welcome. I need something that could make a little cash to afford making ME2.

Ideas are welcome. Goodness knows I have time now the main job has dwindled.

Anyway please post ideas I will be researching ideas of what works and what I like making… =)

I am still not sure but ME2 is a looooooong way from done.. I do not like releasing a half baked idea… I may just try for it but income may become an issue in the near future…..

Damn I am on the fence lol. Even writing this I want to finish ME2……We shall see… I am still looking into my ME2 assets to see where I stood.

OK now after sitting staring at my screen I want to do ME2. I need to redesign a little. I have the story line done and I LOOOOOOOOOOVE it…. so I just need to get to work!.

Restarting

I am going to restart working on Mission Europa 2 (Day job willing).
I have a lot to do to remember just where the heck I was.

I have had many people ask to get it done eventually -)

SOOOoooo… here goes again.. I will probably create a new project and bring over the pieces individually to keep it as clean as possible in the new version.

Anywho I will document the fun here!

Update: well the upgrade went really quick!
Up and running now to start digging into it again.

Working on the cobat and item system

Spitballing here….I want it to be as open as possible but also as compact and doable as possible. It is hard to balance the best operating method. Every item you wear may have a special ability on attack or defend. So far I have item effects. On weapons and abilities they get a down, held down, and up command and each item effect decides what to do. IE a ballistics weapon would on down fire a shot. Collect the closest enemy hit and operate on them and the attacker. It would 1 reduce the ammo count 2. Tell all equipped items there is a attack on X and do what you want. There is a helm with a 1% chance of life steal. It adds a life steam to the attack. Your chest piece might have a chance of butterflies attacking the enemy on hit (just an example of how different it could get down the road). However, when you are wearing all life steal I want to add it all up and use that. On the other hand the hundereds of other possible effects would be impossible to add. I think I need to look at the base stats of Health, Energy, and armor. Use them as a baseline somehow and all other effects would be their own thing. Then again there goes the open idea of having crazy effects like a possible pathogen that spreads to nearby enemys. I know there is a greay solution sooo… tonight I think =)… K.I.S.S. keep it simple stupid..