<<

Unity Playground

Instructor: Prof Pisan [email protected] Overview

Game Engine Architecture

Unity's approach to creating a

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. 2. Will Wright 3. 4. Warren Spector Pick 2 designers and find out 5. Richard Garfield what is important about them

6. 7. Gary Gygax 8. 9. 10. Hironobu Sakaguchi 11. Ken Levine 12. Todd Howard Community 13. 14. 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 + → "" arcade machines

Consoles ● - ● Nintendo - Shigeru Miyamoto - Donkey Kong, Mario, 90% of market in 1980s ● Sega ● Playstation ● XBOX

Home PCs ● Apple - Commodore - IBM -

Designers ● Will Wright - SimCity ● Sid Meier - Pirates ● Ken and Roberta Williams - Colossal Cave ● Richard Garriott - I

11 A Brief History of Video Games

● PacMan ● Tetris ● Resident Evil ● (1987) ● Myst (1993) ● Pokemon (1996)

Studios ● & Infocom - text adventures ● ● Interplay ● Lucas Arts ● Blizzard ●

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

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