Today I cried. I can’t put into words exactly why I cried. But I can say I felt a heaviness in my heart that emitted the dark purple I am very familiar with. If I had to put it into words, the dark purple feels like a combination of disappointment, over-whelming stimulation, sadness, and hopelessness. It feels like I am caught in a never ending loop with no real direction. My wife is my light in these moments of darkness. She extends a hand and takes me out of the loop. I have to find a way to stay out of it more often. I must.
In lighter news, I didn’t get much done today. I still have some school assignments that should be getting completed, and general errands I could have done. Instead I woke up and tried to clip my dogs nails. What a mistake that felt like, initially.
As I was wrestling with my dog just to clip his nails, he kept jerking, and I accidentally cut too deep. He began bleeding rivers of blood from his nail! ONE NAIL! I began freaking out, and I took him outside and tied him up. Thankfully the bleeding ceased, but that was horrifying. Me and my wife now have plans to take him to the vet, just to give him a check-up (he has been walking funny anyway, so we might as well). Leave it to guilt to get something done.
I then spent most of the day playing Evil Within 2 from my Steam Link! First of all, what a game! Okay, well maybe it isn’t for everybody. You gotta mind some odd bugs/jank from time to time, and maybe the gameplay mechanics aren’t exactly re-inventing the wheel, but these games have a place! To me, EW2 is Resident 4 in 2017. To the cheesy story and dialog, to the combat and upgrade system, this game is living on top of the shoulders of RE4. The protagonist, Sebastian, is a drunk father who is mourning the death of his daughter, until he finds out his daughter is alive! But alas, she is in danger! Captured and used by corporation Mobius, he is on a mission to save her from their grasps. This premise would give you the impression that Sebastian is a very serious, but his attitude throughout the game so far comes off as goofy, and entirely out of place! It’s hard for me to take the story as seriously as they want, and honestly, sometimes it feels like even they (the developers) don’t want me to take the story seriously either. I’m enjoying the goofy moments amidst the serious setting. 4 hours in so far. We’ll see how it goes.
As for the Steam Link, it’s been very impressive so far. It simply works. I can stream my PC to the TV in our room and play while laying back with a controller with little affects to performance or visuals.
Now I’m thinking about getting a Steam Controller…
First of all, I want to give Sabrina a solid high-five for exposing me to the beauty that is Rachmaninoff’s 18th Variation from “Rhapsody On a Theme of Paganini”. To be explicit for a moment, I listened to it the first time while casually drinking wine, and it impressively managed to separate me from myself. I felt empowered by and all at once shackled to the notes.
Please, give it a listen:
I believe Sabrina is arguing that the plot was merely acceptable in comparison to the superb score, setting, and actors/actresses for the film “Somewhere in Time”.
I get the feeling that this review has a very specific audience. I have no idea who Rachmaninoff, Christopher Reeve, or Jane Seymour are, but with the specificity of the films genre and score, I believe the way Sabrina started her paper was perfect. It made me feel confident in her knowledge on this topic, and sold me on the idea that Sabrina knew what she was explaining.
The plot was explained so effectively that it managed to pull the wool over my eyes. I didn’t even realize that it was being summarized until I was done reading the paragraph, and that’s a good thing! I felt like Sabrina was there next to me, giving me the synapse on “Somewhere in Time“, as I listened to Rachmaninoff in the background. Now this score is starting to make sense! Of course it’s a time piece! Of course it’s a romance! The song sounds all so classic!
When a plot has evocative themes such as “Love at first sight”, Time-Travel, and Tragic-Romance, I can see how it could fall flat in its attempts to stitch these themes together. However, I do not whole heatedly agree with the “Why” in Sabrina’s argument. She state’s:
“Although a beautiful romance between the two characters, it felt as if it only lasted 3 days, making the validity of their relationship a bit insignificant”, and “…her ethereal beauty makes it hard to focus on her acting. Because of her beauty I kind of understood Richard Collier’s obsession at a glance. On the other hand, Elise McKenna lacks depth.”
I feel like it infers to us that the scale of love is measurable. I must go on record to say that the characteristics of love, and what it can make us do, are too sporadic to define accurately. Yet, what is definable is a persons idea of beauty and attraction (within the subject, of course). However, this is not to say that a beautiful person must hold dear the same knowledge and experience to those who do not consider themselves beautiful — in order to truly be deep. Flaming love found in 5 minutes, or love worked on in 5 years, need not be separated. I find that my most cherished moments in the battlefield of love were those of unknown, and by anyone else’s accounts, shallow forces (awe of beauty) pulling me into a new journey. In short, most deep moments start shallow, and we should not forget that fact or make it a taboo.
There were many references to our Times, so-to-speak. I don’t think Sabrina is the only one “guilty” of using things like “today’s Society”, “21st Century”, “century of today”, etc. This may be a non-issue to many, but I find that sometimes it can be over-kill. I yearn for an article or review that makes little reference to these themes, and speaks of the product/art piece as it is, not as it is in relation-to. I apologize if this is super nit-picky, it’s just that when I read more than one of these relative/comparative sentences, I begin to tune out.
Having heard one of the films main theatrical pieces, but not actually partaking in viewing the film, I find myself at odds with what the goal of what Sabrina’s rhetoric is, and maybe that’s okay. At times it sounds like I am being told that this movie isn’t a must-watch film, and at other times I am being told that the score, setting, and actors/actresses had her wanting to return to this world over and over again. Ultimately, I think Sabrina meant to inform us that the parts of the film that are worth watching are superb in their respective fields, and that we should partake in it’s journey solely to experience them. The passion she displayed for all these marks in the film adequately convinced me to give the film a chance, regardless of the plots weakness to scrutiny.
theeory: This is going to be a quick one Zab, I promise.
Zab: Yeah, that’s what you said last time. Btw, I didn’t get paid yet for the last training session…
thee0ry: Everything is about money to you, isn’t it? Gah! What I’m offering you is more valuable then money. I offer you the ability to rotate and move objects with your code! Now, enough squandering time! Let’s drill down on the core here. The methods in discussion today will be:
Zab: Didn’t we just cover a topic like this!?! We were enabling and disabling in Lesson 11 with dot enabled!
thee0ry: Ah, an honest mistake if I’ve ever seen one, ol’ boy! You confuse dot enabled, which is really for enabling and disabling Components of Game Objects, with the different method that we are covering today:
thee0ry: ISN’T SHE A THING OF BEAUTY! This marvelous built in method from Unity will enable and disable entire GAME OBJECTS, not Game Components.
Zab: I see, and what’s the..
thee0ry: ..AND, there is a GUI for it as well, if you needed reference! Look down below, Zab!
Zab: You’re excitement almost seems disingenuous…but I’ll play along…for now. Anyway, that seems like the best short way to remember the difference! dot enabled disables/enables Game Components, and dot SetActive() disables/enables entire Game Objects! Cool. Now, mister know-it-all, can you give me an example of a case we would use this in Game Development?
thee0ry: If I may, imagine you were making skating game. Somewhere, there is a classic, heaven-forged piece of sushi floating and spinning as an icon, similar to the VHS icons in the timeless game of Tony Hawk Pro…
Zab: Stop, you’re losing the audience! It’s too cliche! thee0ry: How is this cliche, you fool!? It’s a classic! Zab:While that may be the case, your still just being another millennial on the internet who has a blog and occasionally browses Reddit who also happens to think Tony Hawk 2 is the butter to any toast! Drop it! Pick Mario, and move on!
thee0ry: I could’ve done without the image. We’ll discuss this later… thee0ry: Wait a minute… they can see our conversation! So….this is what XXXXXXXX™ Company Policy 12.A meant when it said “You may occasionally realize there is indeed a 4th wall to be broken, only for it to be forgotten or regressed soon after — for your own fictional sanity. Fun Fact: Most life thrive somewhere in the middle of being self-aware/willingly-oblivious! It’s okay, buddy! We all do it! It’s the XXXXXXXX™ company way!”….
thee0ry: If I may, let us use Super Mario as an example. Imagine you were working on Super Mario 64, and Nintendo assigned you with making sure that a Game Object, in this case a box crate, gets removed from the game when Mario performs the glorious butt-stomp. We don’t want to destroy it, we simply want it set to SetActive(false) so that it conveys a sense of strength! Marios Butt-Stomp is not to be trifled with, and that box has no business existing if a Butt-Stomp collides with it! In the same breathe this lets us access the object at a later time because we are not destroying it.
Zab: I see! So since we have the syntax already, I’ll cook up a little script! Let me know what you think:
public class ActivateObjects : MonoBehaviour
protected bool MarioButtStomp; // declared a protected variable for a boolean about booty-romping Butt-Stomp
public GameObject MarioCrate; // declared a public variable the MarioCrate GameObject
if (MarioButtStomp == true)// if the coveted Butt-Stomp is true
MarioCrate.SetActive (false); // then disable the feeble box
MarioButtStomp = false; //Set the butt-stomp off. Holster that attack!
Please note: This code is super loosely written. Might as well be pseudo code, at this point! I just figured it would get the idea across! I didn’t want to muddle the simple idea with Triggers, Collision, and code of the like.
thee0ry: Exactly, good sir! You’re not as slow a learner as the Recruiter made you sound! Perhaps you’ll do well in this company after all! Please, don’t ask me what the Recruiter thought of you, either. In fact, don’t ask funny company related questions — period. But stay curious! 😀
thee0ry: Right. Now, when we are dealing with Objects, we know that there are cases in which we have Parent Game Objects and Child game Objects, right? Do you know what we are referring to?
Zab: Well, I don’t believe we’ve covered that specifically, but I’ve heard it loosely mentioned here and there. To my understanding it is a hierarchy system, similar to many programming languages, OS behaviors, and even the Unity Editor!
thee0ry: What’d you draw that on, MS Paint? Crude. But the idea is there. When you are enabling/disabling the SetActive() of a GameObject, you must be cognizant of the Parent / Child Object relationship. Here are some golden rules to remember:
If you SetActive(false) a Parent Object, any Child Objects also go with it.
If you SetActive(true) a Child Object while the Parent Object is SetActive(false), then you will not see it active on the scene. In order for Child Objects to be active in the scene, Parent Objects MUST be SetActive(true).
thee0ry: With this in mind, you may find it useful to check if your Objects are active in the scene through Debug scripts.
Zab: How so? Won’t I just know by looking at the screen?
thee0ry: Imagine if you were making a game the size of Skyrim… would you still be able to check everything in the screen? I’m sure you can imagine, things get messy. Scripts are essential!
Zab: Got it. 0_0
thee0ry: The two methods to concern yourself with when checking for an Objects Active status in code is:
GameObject.activeSelf: The local active state of this GameObject. (Read Only) This returns the local active state of this GameObject, which is set using GameObject.SetActive. Note that a GameObject may be inactive because a parent is not active, even if this returns true. (ring any bells?)
GameObject.activeInHierarchy: Is the GameObject active in the scene? This lets you know if a gameObject is active in the game. That is the case if its GameObject.activeSelf property is enabled, as well as that of all it’s parents.
Zab: I see. So .activeSelf lets you know if the game object is active, regardless of it’s parent being active or inactive. In other words, if you check the status of a child object and its set to active, it will return true, even if the parent object is disabled — thus leaving this object inactive in the scene!
thee0ry: Correct, correct…
Zab: This leaves us with .activeInHierarchy, which checks to see if the object is ACTUALLY in the scene. This means it will return true (object is active) ONLY if the child object and all of it’s parent objects are active as well?…
thee0ry: Spot on! Nailed it! Right on the nose! Keep in mind, this info is most likely going to be printed on a Debug Logger. print() or Debug.Log will do just fine. That’s all the time we have for today, hope to see you in next lesson Zab!
Undeniably,there will be points in time where you have to enable/disable an object within a video game.
A perfect example would be a light switch. You want to enable a light object if the switch is pressed to On and disable a light object once a switch is pressed to off. This light object is in your Editors hierarchy, thus making it a part of the Scene once the Play button is pressed.
In this Scene, we have created a script and attached it to the light object as follows: