Unity Playground
Total Page:16
File Type:pdf, Size:1020Kb
Unity Playground Instructor: Prof Pisan [email protected] Overview Game Engine Architecture Unity's approach to creating a game engine Defining a game - components, criticism Role of Game Designer Unity Playground https://unity3d.com/learn/tutorials/s/unity-playground 2 HW1: Unity Basics Review answers Grading: #2 2pts #5 2pts #8 2pts Rest 4pts 3 Game Designer Advocate for the player See the world through the player's eyes Player experience Playtesters - providing feedback Game design as hosting a party - an interactive experience Communication - sell your game, good listener and compromiser Teamwork - personalities Process - games are fragile, prioritize goals Inspiration - world as challenges, structures and play. Money to relationships Beyond existing games Will Wright - ant colonies to SimAnt What parts of your life can be turned into games? 4 Fail and Fail Again https://officechai.com/startups/51-failed-games-rovio-created- angry-birds-now-going-public-1-billion-valuation/ Playcentric Design Process Keeping the player experience in mind and testing the gameplay with target players through every phase of development. Setting player experience goals Players have to cooperate to win, but structured so cannot trust each other Players will feel a sense of happiness and playfulness Prototyping and Playtesting Paper is easy to modify, software decisions harder to reverse Iteration Design → Test → Evaluate → Design → Test → …. 6 Game Development 1. Brainstorming 2. Physical prototype 3. Presentation (if you need $$s) 4. Software prototype 5. Design documentation - putting the notes together 6. Production 7. Quality assurance Approaches: Jump from concept to writing up design to coding. Works OK when the game is a variation of an existing game Game Jams: Tapping into community for ideas and prototypes Innovation: unique play mechniques, beyond existing genres, integrating into daily lives, taking on new business models, emotionally rich gameplay, …. Have to walk before we can run -- good execution is crucial 7 Threes vs 1024 vs 2048 http://asherv.com/threes/threemails/ https://www.engadget.com/2015/05/05/threes-2048-google-play-app-store/ 8 Designers YOU should know 1. Shigeru Miyamoto 2. Will Wright 3. Sid Meier 4. Warren Spector Pick 2 designers and find out 5. Richard Garfield what is important about them 6. Peter Molyneux 7. Gary Gygax 8. Richard Garriott 9. Gabe Newell 10. Hironobu Sakaguchi 11. Ken Levine 12. Todd Howard Community 13. Hideo Kojima 14. John Romero 15. Jane McGonigal 16. Tracy Fullerton 17. Jesse Schell 18. Ian Bogost 9 Readings A Brief History of Video Games Games and Society Ludology for Game Developers Game engine architecture - Introduction 10 A Brief History of Video Games ● Tennis for two ● Spacewar ● Ralph Baer + Nolan Bushnell → "Computer Space" arcade machines Consoles ● Atari - Pong ● Nintendo - Shigeru Miyamoto - Donkey Kong, Mario, 90% of market in 1980s ● Sega ● Sony Playstation ● Microsoft XBOX Home PCs ● Apple - Commodore - IBM - Designers ● Will Wright - SimCity ● Sid Meier - Pirates ● Ken and Roberta Williams - Colossal Cave ● Richard Garriott - Ultima I 11 A Brief History of Video Games ● Space Invaders ● PacMan ● Tetris ● Resident Evil ● Final Fantasy (1987) ● Myst (1993) ● Pokemon (1996) Studios ● Activision & Infocom - text adventures ● Electronic Arts ● Interplay ● Lucas Arts ● Blizzard ● id Software https://gamejobhunter.com/local-video-game-companies-seattle/ https://ceattle.com/seattle-gaming-companies.html 12 Games and Society Why do people play video games ● Audience and Demographics ○ Average game players age is _____ ○ ESRB ○ Violence ● Cultural Issues ○ Banning of games ● Society Within Games ○ Good / Bad / Ugly ● 13 Ludology for Game Developers Ludus (game) + Logos (reason / science) ● ludology - studies and theories focusing on games (parallel to narratology) Terminology: Games, Play, Gameplay Homo Ludens: A Study of the Play-Element in Culture (Huizinga, 1938) - anthropological and historical perspective on games The debate that never happened - games as narratives VS games as games 1. Research into design - aesthetics and history of art and design 2. Research through design - building prototypes 3. Research for design - analyzing gameplay, principles of how to design 400 Project - Falstein's rules of game design 14 Games We Play http://bit.ly/ypagmesweplay 15 Range of Games Mainstream games are "mainstream" Much wider range of games available for inspiration and experimentation: Independent Games Festival http://www.igf.com/ Global Game Jam https://globalgamejam.org/games 14 of the Weirdest Video Games You'll Ever Find https://www.cheatsheet.com/technology/9-bizarre-video-games-its-hard-to-believe-exist.html/ The 12 best games that aren't about killing stuff https://www.businessinsider.com/the-12-best-non-violent-relaxing-games-2016-6 The 20 best non-violent games on PC https://www.rockpapershotgun.com/2018/01/26/best-non-violent-games/ 16 Unity Playground https://unity3d.com/learn/tutorials/s/unity-playground https://github.com/Unity-Technologies/UnityPlayground Physics based 2D games Prerequisite: Complete Interactive Tutorials in Unity Hub OR Interface Essentials videos https://unity3d.com/learn/tutorials/topics/interface-essentials Cheatsheets: https://github.com/Unity-Technologies/UnityPlayground/blob/master/Assets/Docu mentation/Cheatsheets.pdf 17 Under The Hood - Move // FixedUpdate is called every frame when the physics are calculated void FixedUpdate () { // Apply the force to the Rigidbody2d rigidbody2D.AddForce(movement * speed * 10f); } void Update () { // Moving with the arrow keys moveHorizontal = Input.GetAxis("Horizontal"); moveVertical = Input.GetAxis("Vertical"); ... movement = new Vector2(moveHorizontal, moveVertical); …. } 18 Under the Hood - AutoMove public class AutoMove : Physics2DObject { // These are the forces that will push the object every frame // don't forget they can be negative too! public Vector2 direction = new Vector2(1f, 0f); //is the push relative or absolute to the world? public bool relativeToRotation = true; // FixedUpdate is called once per frame void FixedUpdate () { if(relativeToRotation) { rigidbody2D.AddRelativeForce(direction * 2f); } else { rigidbody2D.AddForce(direction * 2f); } 19 } Under the Hood - FollowTarget public class FollowTarget : Physics2DObject { public Transform target; public float speed = 1f; public bool lookAtTarget = false; ... void FixedUpdate () { if(target == null) return; …. //Move towards the target rigidbody2D.MovePosition( Vector2.Lerp(transform.position, target.position, Time.fixedDeltaTime * speed)); } 20 Cat on Yer Head https://www.playniac.com/games/cat-on-yer-head/ 21 Road Ahead HW: Unity Basics HW: FSM - Finite State Machines Playground Challenge (Group) …. Final Project 22 Iterative Design 1. Brainstorming Short description of player experience goals 2. Physical Prototype 3. Presentation (optional) Secure funds 4. Software Prototype Using different software/platform, maybe just clickable web pages 5. Design Documentation Making sure everybody on the team shares the same goals - not necessarily a big static document 6. Production Exercise: Rock-Paper-Scissors based game Extra Credits: Playing Like a Designer https://www.youtube.com/watch?v=_HmtmoGwpZc Making Your First Game https://www.youtube.com/watch?v=z06QR-tz1_o&list=PLhyKYa 0YJ_5BkTruCmaBBZ8z6cP9KzPiX&index=1.