Thursday, March 19, 2020

Reading 8.

So I've taken a break from blogging last week to focus more on my group project, but this week I've been doing some research on creating an introduction and conclusion for both of my topics. I've come across an online article on how to write an introduction, conclusion, and the body of your paragraphs (https://lsa.umich.edu/sweetland/undergraduates/writing-guides/how-do-i-write-an-intro--conclusion----body-paragraph.html) that really helped me get started on it. 

↣ An introduction is usually the first paragraph of a chapter so I really wanted to grab the attention of the viewers by providing and discussing an interesting statement, i.e an explanation of strategic dominance in gameplay, or the fascination of game complexities. I've already written my introductions which are as follows;

Managing complexities
↣ Developers of game AI (artificial intelligence) are always fascinated with packing more complexity into the virtual brains they build. However, complexities usually have a price, or rather multiple; poor run-time, a lack of directability, poor scalability, and worst of all, a dim experience for players in which the AIs seem to act "randomly" rather than "intentionally". We will discuss sources of complexity and the different ways in which complexity can manifest itself.

Avoiding Dominant Strategies 
↣ Strategic dominance in game theory happens when one strategy that a player uses leads to much better outcomes for them than other possible strategies, regardless of which strategies their opponents use. In the following article, we will discuss more strategic dominance, dominant and dominated strategies, and strategic dominance in general. Then, we will see how leaning towards strategic dominance can help you make more strategic decisions, and how it can help you expect your opponents’ behavior.

↣ The conclusion is the last part of a chapter, so I had to do my best to summarize the topics and explain the significance of each topic. In order to do so, I had to restate my main points and keep in mind that my introduction and conclusion aren't the same.


Image found on pixabay.com

Thursday, March 5, 2020

Unity tutorial 06.

To continue on my findings of Unity tutorials and to improve on my Unity skills, I've come across various tutorials on their website, such as animation, sound, effects, the jump force, making the world whiz, and hand presence and interaction with VR. 

⇒ In terms of the animations, sounds, and effects tutorial (https://learn.unity.com/project/unit-3-sound-and-effects?courseId=5cf96c41edbc2a2ca6e8810f), I programmed  a fast-paced endless side-scrolling runner game in which the player needs to time jump over oncoming obstacles to avoid crashing. In creating this prototype, I learned how to add music and sound effects, completely transforming the experience. I also got to learn how to create dynamic endless repeating backgrounds, which are critical for any side-scrolling game. Finally, I also got to incorporate particle effects like splatters and explosions, which really made the game much more satisfying to play.

⇒ In relation to the short "jump force" tutorial (https://learn.unity.com/tutorial/lesson-3-1-jump-force?courseId=5cf96c41edbc2a2ca6e8810f&projectId=5cf9639bedbc2a2b1fe1e848), the goal of the lesson was to set up the basic gameplay, by creating a new project and importing the starter files. Next, I got to choose a beautiful background and a character for the player to control and to allow that character to jump with a tap of the spacebar. I then got to choose an obstacle for the player, and create a spawn manager that throws them in the player’s path at timed intervals and blocks the player’s path.

⇒ With "making the world whiz" (https://learn.unity.com/tutorial/lesson-3-2-make-the-world-whiz-by?courseId=5cf96c41edbc2a2ca6e8810f&projectId=5cf9639bedbc2a2b1fe1e848), I dived straight into the core mechanics of the game and gave the player the ability to tap the spacebar to jump over incoming obstacles. However, the player at first appeared to be running for the first few seconds, but then the background just disappears. In order to fix this, I had to repeat the background seamlessly to make it look like the world was rushing by. I also set the game to halt when the player collides with an obstacle, which stopped the background from repeating and stopped the obstacles from spawning. Lastly, I then destroyed any obstacles that got past the player.

⇒ Lastly, in terms of the hand presence and interaction with VR (https://learn.unity.com/tutorial/unit-5-hand-presence-and-interaction?courseId=5d955b5dedbc2a319caab9a0), I learned how to interact with my hands in a VR environment, how to add oculus-standard hands in my game, and how to change standard hands to custom hands. This tutorial gave me a better understanding of how to attach objects to hands, how to utilize basic physical interactions in a VR experience, how to recognize common hand-object interaction challenges, and how to implement two-hand interaction in a VR experience.

Overall, I found these tutorials very. helpful and will continue on in researching some more tutorials to best improve my knowledge of unity. 

This image was found on pixabay.com

Reading 6.

To continue on in my readings, I've done additional writing on the body of my paragraphs and have completed further research on my chosen topics in relation to managing complexities and avoiding dominant strategies. Some extra subtopics I've discovered are such as games using the same rules to simulate the real world, the complexity curve, why gaming strategies are important, and the differences between a dominant and a dominated strategy. Here are two further subtopics I've written on along with a couple more in a separate word document;

The complexity curve.

↱ A game’s “complexity curve” defines the amount of information and understanding that a player must have in order to make strategically practical choices during gameplay. Therefore, in a game like chess, you would need to understand the game’s objective and how the pieces can move.  At that point, there is no further information you need to play the game. The complexity curve only applies to a game’s width and not its depth.  Say you had all of the tools and knowledge you needed in the game, but you lost, the reasoning behind this is that you lacked the mastery of the game’s inner workings. In the “coalition games profiling” process, we categorize this as “accessibility vs intensity”. The more a player commit to learning a game, the higher the chance of being rewarded, especially player types that are more fundamentally motivated, but also keep in mind the consequences here, as complexity hurts approachability. This means overall satisfaction with your game could suffer no matter how technically sound it may be.

Dominant vs. Dominated strategies.

↱ A dominant strategy is better than any alternative strategies a player can pick, regardless of the moves their opponents make. This means that, in any given game, a player’s dominant strategy will lead to the greatest payoff for them. There are two kinds of dominant strategies, a strictly dominant strategy, and a weakly dominant strategy. Strategies that are strictly dominant refer to it always giving a better outcome, regardless of which moves other players make. Strategies that are weakly dominant refer to it always giving an outcome that is as good as or better than choosing an alternative strategy. 

Whereas a dominated strategy is worse than all alternative strategies a player can pick. This means that, in any given game, a player’s dominated strategy will lead to the worst payoff for them. There are two kinds of dominated strategies, a strictly dominated strategy, and a weakly dominated strategy. Strategies that are strictly dominated refer to it always giving the worst possible outcome, regardless of what moves other players make. Strategies that are weakly dominated refer to it always giving an outcome that is as good as or worse than choosing an alternative strategy.

I've discovered both these subtopics on https://effectiviology.com/strategic-dominance/ and http://coalitiongames.com/wordpress/2016/05/17/game-theory/.

This image was found on pexels.com

Thursday, February 27, 2020

Unity Tutorial 05.

This week in regards to unity tutorials, I've come across several videos on Unity's website about Collision Decisions, developing VR Experiences and locomotion ergonomics. (https://learn.unity.com/tutorial/lesson-2-4-collision-decisions?courseId=5cf96c41edbc2a2ca6e8810f&projectId=5cdcc312edbc2a24a41671e6). As for the collision decisions, instead of pressing S to spawn the animals, I’ve set a spawn on a timed interval so that the animals can appear every few seconds. Next, I’ve added colliders to all the prefabs and made it launch a projectile into an animal to destroy it. Finally, I’ve learned how to display a “Game Over” message if any animals make it past the player. This tutorial explained coding with colliders and trigger components much clearer than any other older versions such as Jimmy Vegas' ones, as they finally work on my laptop! 

I’ve also come across another article based on a challenge, where balls are randomly falling from the sky and I have to send my dog out to catch them before they hit the ground. To complete this challenge, I had to make sure the variables are assigned properly, the if-statements were programmed correctly, the collisions were being detected perfectly, and that the objects were being generated randomly. I struggled a little on this one, but with a little help from my classmates, I got through the challenge (https://learn.unity.com/tutorial/challenge-2-play-fetch-with-random-values-and-arrays?courseId=5cf96c41edbc2a2ca6e8810f&projectId=5cdcc312edbc2a24a41671e6). 

In regards to the continuation of the development of VR experiences, I’ve learned how to install the Oculus Integration and VRTK in Unity, enable VR in a Unity project and explore VR SDK use cases, and set up a basic scene using Oculus Utilities and VRTK (https://learn.unity.com/tutorial/unit-3-using-unity-to-develop-vr-experiences?courseId=5d955b5dedbc2a319caab9a0). 

Lastly, in relation to the locomotion ergonomics, I got to recognize common triggers of discomfort, such as the common causes of motion sickness, following guidelines for minimizing motion sickness, how to avoid and minimize their effects, and also be able to implement a teleport system within the escape room vertical slice. I also am now able to identify usability considerations for different types of VR movement design and implement a teleport-based movement system in the escape room vertical slice.

This image was found on pixabay.com

Reading 5.

For my readings this week, I've done further research into both my topics and created subtopics in relation to managing complexity and avoiding dominant strategies, such as what exactly are game complexities? The different ways of measuring game complexities, examples of dominant strategies, and comparing the dominant strategy solutions to the Nash equilibrium solution. Here are two subtopics I've written out along with a couple more in a word document;

Measures of game complexity.

↪ The four measures of game complexity are as follows; state-space complexity, game tree size, computational complexity, and decision complexity. What are they may you ask? Well, the state-space complexity is the number of gaming positions accessible from the original position of the game. When this is too difficult to investigate, one can also count some illegal positions, meaning some game positions that can never result from in the course of a game. The game tree size is the total amount of potential games that can be played. The game tree size is usually bigger than the state space because the same positions can happen in the games by mixing the moves in different orders. The decision tree is a subtree of the game tree size where with each position labeled with "player A wins", "player B wins" or "drawn", that position can be demonstrated to have that value by investigating other positions in the chart. Finally, the computational complexity of a game describes the difficulty of a game as it grows particularly large. This concept doesn't really apply to any particular game, but rather to games that have been generalized so they can be made bigger. 

Comparing a dominant strategy solution to the Nash equilibrium solution.

↪ Usually, the best strategy will be the same no matter how all other players act, also known as the dominant strategy. On the other hand, there also exists the Nash equilibrium, which doesn’t describe a particular strategy, but more so a mutual understanding whereas each player understands the other player's optimal strategies and takes them into consideration when optimizing their own strategy. In the dominant strategy, each player's strategies are unaffected by the actions of other players. This reduces the assumption of the Nash equilibrium, where each player knows the strategies of other players. The Nash equilibrium was founded in a one-page article in 1950 by John Forbes Nash, Jr., Where he was describing a stable-state equilibrium in a multi-player situation where no participant gains any sort of change in his strategy as long as the other participants also remain unchanged.

This image was found on pixabay.com

Thursday, February 20, 2020

Unity Tutorial 04.

This week, I've continued researching and watching different unity tutorials to help improve my skills with Unity. I've found two articles, one on an interactive prototype whereas the player throws pizza at hungry animals in order to win (https://learn.unity.com/project/unit-2-basic-gameplay?courseId=5cf96c41edbc2a2ca6e8810f), and the other article is related to designing, developing and deploying VR gaming and prototyping (https://learn.unity.com/tutorial/unit-1-design-develop-and-deploy-for-vr?courseId=5d955b5dedbc2a319caab9a0#5d955a53edbc2a001f0ea3ff).

↷ For the first article, I began by creating a new project and getting basic player movements working. I first chose a character that I liked, some animals I wanted the character to interact with, and a food item to feed the animals, and gave the player some basic side-to-side movement on the screen based on the users left and right keys. I then continued on in creating a new script, to allow the player to be able to press the spacebar and launch the foodie item, which in turn destroys itself when it leaves the game screen, and have animals be removed once they leave the screen also. Finally, I've continued on in creating a spawn manager so that when the player presses the S key, a randomly selected animal will spawn at a random position at the top of the screen which will walk towards the player. I've never created an interactive game like this, so it taught me a lot more about scripting and creating spawn managers for various objects.

↷ As for the second article, I was able to better understand the consumer expectations for VR content, recognize traits that successful VR titles have in common and better understand how to create higher quality VR applications. I've also ended up learning the best practices for creating a game design document, a player profile report, and a press kit for the escape room vertical slice that I've built throughout the tutorial.

This image was found on pixabay.com.

Reading 4.

For this week's reading post, I've since continued on in researching and working on my matrix offline and will be uploading the finished product within the following week. As part of my research, I've been learning how to conduct and write my analysis through literature reviews in which I've found an online article that gave me a greater understanding of it (https://www.teachingcouncil.ie/en/_fileupload/Research/Literature-Review-Webinar.pdf). This pdf covers the basics, what exactly is a literature review and how to start one, how to source academic literature and some bonus tips. When researching and discussing my two chosen topics, I find it rather difficult to find gaming articles in relation to them, as managing complexities is more in relation to geographical terms and business methodology and dominant strategies don't have enough information on them online. However, I've found an article based on a series titled "Creative Chronicles" where one article talks about managing the complexities in game audio (https://www.gamesindustry.biz/articles/2020-02-14-creative-chronicles-managing-complexity-in-game-audio), and a youtube video on the iterative deletion of dominant strategy equilibrium (https://www.youtube.com/watch?v=ErJNYh8ejSA). Overall I do feel like I'm struggling a little bit as both these topics are quite hard to research and discuss the information found, but a little help from looking at both primary and secondary research and comparing them will get me through it. 

This image was found on pexels.com.

Thursday, February 13, 2020

Unity Tutorial 03.

So today, I've decided to continue on in the Driver's simulation series and the how-to-use VRTK series so I could improve my knowledge of Unity. I've also discovered a new series also on Plane Programming that also taught me quite a bit.

↝ For the "Step into the Driver's Seat" (https://learn.unity.com/tutorial/lesson-1-4-use-user-input-to-control-the-vehicle?courseId=5cf96c41edbc2a2ca6e8810f&projectId=5caccdfbedbc2a3cef0efe63#5cbe3969edbc2a191e639150), I've learned some more coding on creating player controls and making the vehicle rotate instead of sliding. The Plane Programming tutorials allowed me to mess around with a brand new Assets pack titled "Challenge 1 starter files" and as the tutorials went on, they allowed me to get more familiar with the new tools. I've also been able to have the plane move forward, slow it down, have the plane tilt only to the user's controls, moved the camera from the front to the side of the plane, have the camera follow the plane also, and finally, making the propeller spin as part of a bonus step.

↝ As for the VR snap zones and user interfaces (https://learn.unity.com/tutorial/snap-zones?projectId=5cdc9e4cedbc2a1ef423426c), I've learned about transitioning and scaling certain objects and creating meshes. I did struggle with these steps as the terminology and coding were a little too advanced for me. I did, however, find creating a clipboard with instructions and messing with the typography on google fonts quite enjoyable. 

This image was found on pexels.com

Wednesday, February 12, 2020

Reading 3.

Since the continuation of my studies on managing complexities and avoiding dominant strategies, I've developed a fair bit of knowledge in relation to both of these topics, through online articles and searching through google's books.

↳For my first topic on managing complexities, I've figured, well first of all what actually are complexities? Complexities are constraints on economic decision-making and how the human brain works. How does this relate to gaming in any way? Well, studying the effects on these complexities can help us make our predictions more accurate when it comes to game development for future players. This can also help us recognize their behaviors towards different kinds of games, whether they are positive or negative reactions.

↳ As for my second topic, what are dominant strategies? How does one avoid such? In-game theories, a dominant strategy is an action that pays off for a specific player, regardless of what other players do.  These strategies are considered better than others and have two kinds of dominance. A strictly dominant strategy always provides a greater service to a specific player, whereas a weakly dominant strategy provides the same service to all other players, and sometimes greater for other strategies, depending on what.

This image was found on Pixabay.

Tuesday, February 11, 2020

Unity Tutorial 02.


⇨ I find these tutorials much easier to understand as he is much slower, goes more in-depth in his tutorials to start for basics rather than ramble on like Jimmy Vegas, and keeps his videos nice and short. He also uses a much more recent version of Unity than Jimmy Vegas (finally something more compatible with my laptop!) So far, I've messed around and got more familiar with the Driver simulation assets, and found it much easier to use objects from other Asset packs rather than creating my own objects from scratch. I've also learned how to focus and move the camera in the hierarchy tab, which made the gameplay run more smoother and made it easier for me the navigate the screen. Messing around with the tabs by minimizing and moving them around made it much more efficient in terms of game design, and saving it as a new layout for future projects. Something that's always bummed me out with Unity is using C sharp, I'm very good when it comes to developing my own websites but somehow game scripting never works out for me, but I find that this Unity developer takes his time and explains each step much clearer than Jimmy Vegas did with each and every component and variable. 

⇨ As for the second article, I've learned how to install and include the VRTK pack in my own game, and messing around and getting more familiar with the pack's new tools and assets. After following the steps of the tutorial, I've gained a much greater understanding of placing my very own interactable objects and creating a car modifying game. 

This image was found on Pixabay.

Reading 2.

As for the proposed books, I've chosen the topics in relation to managing complexity and avoiding dominant strategies. The reasoning behind me choosing these topics is because I'd like to challenge myself and go for topics I've never actually heard of before.

↝ As for my first topic, on managing complexity;
I began my research by breaking down the two words, such as finding out the definitions and finding any synonyms in relation to gaming.
Managing; In relation to maintaining control over a subject in a game, or using your currency, time or other resources sensibly. According to Google Dictionary, managing also means succeeding in surviving or in achieving something despite the difficult circumstances, also known as coping mechanisms. Some synonyms in relation to the word are being in charge of, handling, organizing, guiding, taking care of, and leading. 
Complexity; In relation to the difficulty of a game, easy, medium and hard. According to Google Dictionary, complexity means the state or quality of being intricate or complicated or a factor involved in a complicated process or situation. Some synonyms in relation to the word are complications, problems, difficulties, twists, turns, convolutions, entanglements, intricacies, complicatedness, involvements, and convolutedness.


↝ As for my second topic, on avoiding dominant strategies;
I, once again, continued on my research by breaking down the words and finding out any information I could find online in relation to gaming.
Dominant; In relation to winning/being in the lead of a game i.e dominance. According to Google Dictionary, dominance is also related to power or control over someone or something. Some similar words include supremacy, superiority ascendancy, domination, mastery, authority, rule, command, control, leverage, and influence.
Strategy; In relation to an outcome determined by a choice made by a game player. According to Google Dictionary, it also means planning and directing operations or movements in a war or battle. Some similar words include master plan, grand design, plan of action, tactics, and schemes.


This image found on pixabay.

Reading 8.

So I've taken a break from blogging last week to focus more on my group project, but this week I've been doing some research on cre...