Tuesday, May 10, 2016

Dev Blog Entry 8

Unity Technical Questions:
  • What is the proper way to work with Animations and Animators in Unity without having to enable legacy components?
  • How do Unity Ads work?
  • How do you publish an game made in Unity to an app store?
  • Is it really that inefficient/bad to use OnMouseDown() rather than Raycasting to approximate touches on mobile games?
  • How do you develop games for consoles using Unity? How do you get input from game controllers in Unity?
What I Learned:
  1. Working with particles
  2. Making mobile games
  3. Working with UI elements/canvas scaling
The main resources I use to help me with any issues I encounter with Unity are the Unity Manual, the Unity Scripting Reference, and the Unity Answers forum. Unity has great documentation that has helped me figure out how to implement many of the mechanics that I have needed to implement for my games. Piazza was also a great resource for getting help from my classmates and my professor. My teammates were also extremely helpful for the two team projects I worked on. When all else failed, trial and error usually helped me figure out what I needed to do. It was also helpful to write down my ideas and make diagrams sometimes to help me visualize concepts/logic.

Dev Blog Entry 7

I definitely think it is important to encourage innovation in game design. Many great games are created by refining or re-imagining the mechanics from other games. However, when innovating off of an existing game mechanic, it is important not to step on the feet of the people who originally developed that mechanic. This is exactly what happened with the clones of Threes! They came out so soon after the release of the original game that no one had time to appreciate the work that the original developers put in to creating the mechanics for Threes! I think there should definitely be some way for developers who create new game mechanics to sufficiently profit from the time, effort, and capital they invested in their innovation. I do not know if a patent is the right choice for this, but if patents were used in that case I think they should have a shorter length than a traditional patent. Regardless of whether it is called a patent or something else, there should definitely be some legal way for developers to protect their new game mechanics for a couple years. After a new mechanic is created, there should be a period of at least three years in which the game that created that mechanic is the only game on the market with that mechanic. If a developer wants to use that mechanic within that time frame they have to get permission from the people who created the mechanic. That way new games can be made by innovating off of the new mechanic, but in a time frame that will not take attention away from the original developers' game in which the mechanic was created.

Sources:

Monday, May 2, 2016

Touches/Taps On Objects In Mobile Games in Unity

Here's a script that will allow you to do something when you tap on a GameObject for mobile games in Unity. You could use OnMouseDown() and it would work, but after reading the Unity Reference and multiple forum posts it seems that this method is more efficient for mobile processors.

#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER || UNITY_WEBGL
 void OnMouseDown() {
  //Code to execute when you click the object when the game is run on a non-mobile platform
 }

#elif UNITY_ANDROID || UNITY_IOS
void Update() {
    for(int i = 0; i<Input.touchCount; i++) {
        Ray ray = Camera.main.ScreenPointToRay (Input.GetTouch (i).position);
        RaycastHit hit;
        if(Input.GetTouch(i).phase == TouchPhase.Began) {
            if(Physics.Raycast(ray, out hit)) {
                //Code to execute when you touch the object when the game is run on a mobile platform (use hit.transform.gameObject or hit.collider.gameObject to refer to the GameObject that you touched)
            }
        }
    }
}
#endif

The way the code works is that if you run your game on a mobile device it will use Raycasting to determine when you touch the object and when you run your game on a non-mobile device it will use OnMouseDown() to determine when you click on the object. It is important to note that in order for Raycasting to work your object must have a 3D collider on it (ie. a BoxCollider instead of a BoxCollider2D). For more information on Raycasting you can look at Physics.Raycast in the Unity Reference.

-Reposted from Piazza

Thursday, April 28, 2016

Dev Blog Entry 6


My second Game Design/Development Grandparent is Kim Swift. She was born in 1983 and for a women in her early thirties she has accomplished quite a lot. She is most known for her work with Valve on the Portal, Half-Life, and Left 4 Dead series. The reason she is one of my Game Design/Development Grandparents is because of here work on the Portal series (mainly Portal since she left Valve for Airtight Games halfway through the development of Portal 2). She is an inspiration to me because prior to working on Portal she was a student at DigiPen Institute of Technology. For her senior project, her and group of fellow students worked as a team to create a game called Narbacular Drop. Any true Portal fan knows that Narbacular Drop is the predecessor to Portal. Gabe Newell, the then president of Valve, saw the team demo Narbacular Drop at DigiPen and asked the team then and there if they would want to develop a game for Valve. The entire team was hired by Valve directly out of college and went on to develop the extremely successful game that is Portal. This type of success story speaks very strongly to me and I'm sure it does to other aspiring game developers as well. It just goes to show that any project, even a project for a class in college, can go on to become something big if given the right attention. I would describe her influence on games to someone not familiar with the games field by saying that she worked on many of Valve's successful games and should serve as an inspiration for college students (or anyone else) that is an aspiring game developer.


Sources:

Tuesday, April 26, 2016

Dev Blog Entry 5


My first Game Design/Development Grandparent is Shigeru Miyamoto. Miyamoto grew up in the Japanese village of Sonobe. Since Sonobe was a rural village, there was no television. Miyamoto also had no toys so he made his own. He grew up surrounded by nature and spent a lot of time hiking and biking. Miyamoto tries to recreate the sense of childhood wonderment he felt when making his own toys and exploring nature in his games. Miyamoto has helped develop many well-known and influential games including Duck Hunt, Ice ClimberThe Legend of Zelda series, and the Donkey Kong Series. Perhaps what he is most known for is being the creator of the Mario franchise. Mario Mario made his first appearance as Jupman in the original Donkey Kong arcade game in 1981. Since then he has appeared in many games on pretty much all of Nintendo's systems. The Mario franchise his brought a number of memorable characters into the gaming world including Mario's brother Luigi, Princess Peach, Bowser, and Yoshi. The amount of influence that the Mario franchise and Miyamoto's other games have had on the gaming industry is innumerable. It is for this reason, in addition to the fact that Super Mario 64 is my favorite videogame, that I chose Miyamoto as one of my Game Design/Development Grandparents. I'm not sure if there is anyone who is unfamiliar with the Mario franchise, but I would tell someone who is unfamiliar with Miyamoto's work that he is one of the main reasons that Nintendo is the successful company it is today.

Sources:
http://www.newyorker.com/magazine/2010/12/20/master-of-play
http://www.imdb.com/name/nm0594427/

Wednesday, April 20, 2016

Miniature Mini Golf

For my second networked games project this semester I a made a Miniature Mini Golf Course out of cardboard. I then used two Arduinos to power servos and DC motors in order to spin various obstacles. The game went through many iterations including the addition of felt on the ground to improve friction, the creation of specialized clubs, the addition of pipe cleaner bumpers so the ball would not get stuck against the wall, and the creation of detailed instructions that laid out the rules for the different game types. This was a cool project because it allowed me to combine my game making skills with the skills I am learning in my Physical Computing class. Pictures and links to videos of the project are below:


The special golf club I designed for the game. The blue side is a traditional club and the black side is a scoop for aerial shots.
An overhead shot of the entire course.
A view from the Player 1 side of the course.
A view from the Player 2 side of the course.
Videos:
https://www.facebook.com/monopoly10/videos/1151609698183633/
https://www.facebook.com/monopoly10/videos/1151609518183651/
https://www.facebook.com/monopoly10/videos/1151609178183685/

Thursday, April 7, 2016

Dev Blog Entry 4

Grim Fandango is a great game. Although I have never played it directly, I did watch the Super Beard Bros' playthrough of it on YouTube and it was amazing. The art style, the narrative, the characters, and the puzzles all worked really well together to create a compelling and immersive gameplay experience. I found the "Puzzle Document," which breaks down the design and development process for the game, to be very intriguing. I think it is great how organized everything is. It is extremely clear how much effort went into making the puzzles and narrative blend together seamlessly. The document definitely has given me ideas/inspirations that I can use to improve my own design process. I definitely like the idea of using flow charts to track the progression of the story and puzzles. I also was intrigued by the fact they wrote out detailed descriptions of the puzzles and their solutions. Furthermore, I found it interesting that they left the player some options in terms of the order they can play through the puzzles. I like the idea that, even though all the minigames need to be completed, some minigames can be worked on simultaneously. Overall, the designers/developers did a great job making a truly immersive game with a compelling story.