The Movie - Official Trailer - YouTube.flv

235 Free Indie Games in 10 Minutes - YouTube.flv Introduction

Video Game Programming Spring 2012

Video Game Programming - A. Sharf 1 © What is this course about?

– Real world abstractions • Visuals • Interaction • Design iterations

Video Game Programming - A. Sharf 2 © Nintendo What is this course about?

mechanics • Rapid prototyping • Many examples • FUN !

Video Game Programming - A. Sharf 3 © Nintendo play mechanics are the foundation on which games are built…

Playing with power www.1up.com/do/feature?cId=3151392

Video Game Programming - A. Sharf 4 © Nintendo Game mechanics=ideas

• mechanics determine structure and rules: – how you win – how you lose – what to do to stay alive

Video Game Programming - A. Sharf 5 © Nintendo • Basics - fundamental concepts that have become a part of many of today's games

Video Game Programming - A. Sharf 6 © Nintendo

Video Game Programming - A. Sharf 7 © Nintendo

Video Game Programming - A. Sharf 8 © Nintendo

Video Game Programming - A. Sharf 9 © Nintendo

Video Game Programming - A. Sharf 10 © Nintendo • Handy features - ideas not absolutely essential to the design but enhance experience.

Video Game Programming - A. Sharf 11 © Nintendo

Video Game Programming - A. Sharf 12 © Nintendo

Video Game Programming - A. Sharf 13 © Nintendo

Video Game Programming - A. Sharf 14 © Nintendo

Video Game Programming - A. Sharf 15 © Nintendo • Style - play mechanics that add an exciting touch of artistic flair to games

Video Game Programming - A. Sharf 16 © Nintendo

Video Game Programming - A. Sharf 17 © Nintendo

Video Game Programming - A. Sharf 18 © Nintendo

Video Game Programming - A. Sharf 19 © Nintendo

Video Game Programming - A. Sharf 20 © Nintendo • Side by Side -- mechanics that allow other players or even computer- controlled characters to enrich the gaming experience.

Video Game Programming - A. Sharf 21 © Nintendo

Video Game Programming - A. Sharf 22 © Nintendo

Video Game Programming - A. Sharf 23 © Nintendo About myself

• Andrei Sharf • [email protected] • http://www.cs.bgu.ac.il/~asharf/gaming _spring2012.htm

• Research: – , interactive techniques, shape modeling, geometry processing – 3D shape acquisition, urban modeling, 4D detection

Video Game Programming - A. Sharf 24 © Nintendo Agenda

1. Definition of game and game design 2. Game design in small teams 3. Quick and dirty: rapid prototyping 4. Abstraction of the “real world” 5. Game “feel”: principles of virtual sensation 6. Games as systems/ in software 7. design (+ programming) strategies

Video Game Programming - A. Sharf 25 © Nintendo More agenda

• Reuse content: photos, 3D scans (bubbles, puzzles)

How Trauma Evokes a Realistic Atmosphere The Game Prodigy - The Source for Game Design.flv

Video Game Programming - A. Sharf 26 © Nintendo More agenda

• Create/control feelings and moods • Tricks and magic with interaction (more architecture less gaming)

Ipod Magic Deception (Viral Video) - Iq187 Tech Talk #16 - YouTube.flv

Video Game Programming - A. Sharf 27 © Nintendo Course structure

• Teams of 3-4 people (start forming this week) • Weekly (mandatory!) meetings – Sunday 14-16 (503 build. 72): Lecture – Monday 10-12 (304 build. 28): Practice • You will need at least two full days outside of class to work on games (likely more) • First 6 weeks: 3 per person! • Rest: each team fully develops their favorite and most successful prototype • Home quiz + Oral quiz

Video Game Programming - A. Sharf 28 © Nintendo Requirements

• Most importantly: time • Almost as important: dedication • It would be beneficial to have experience in one or more of the following areas – Graphics programming (OpenGL, etc.) – General programming and systems design – Classical art and painting/sketching/animation – Sound and music design – Organizational and team leading capabilities

Video Game Programming - A. Sharf 29 © Nintendo Submissions

• 3 game prototypes • Final • Final game prototype • Final game beta • Final game • Home quiz

Video Game Programming - A. Sharf 30 © Nintendo Tools?

• XNA (http://creators.xna.com) – core and concepts will be covered in practical session • Other possibilities – Straight up OpenGL and /C++ or Java – 3D – Flixel (Flash AS3 libraries) – SDL (http://www.libsdl.org/) – 2D boy framework (http://2dboy.com/2009/05/27/rapid-prototyping-framework/) – Whatever works…

Video Game Programming - A. Sharf 31 © Nintendo Platforms?

• Again, whatever you like – PC / Mac – 360 (via XNA) – iPhone

• You will need to take care of your own hardware, and be able to present prototypes in class on a weekly basis

Video Game Programming - A. Sharf 32 © Nintendo Contact

• Andrei Sharf – Email: [email protected] – Reception: Monday 12-14, Room 313 • Gilad Bauman(TA) – Email: [email protected] – Reception: Monday 14-16

Video Game Programming - A. Sharf 33 © Nintendo

What is a game? and what is game design?

Video Game Programming - A. Sharf 34 © Nintendo What is a game?

• Many definitions exist… • Common in many definitions: – Participants (players) – Decisions (interactions) – Conflicts (opposition) – Resource management (game tokens) – Pursuit of a goal (or goals)

– (and all of this in a closed, formal system)

Video Game Programming - A. Sharf 35 © Nintendo What is game design?

• A form of modern day Alchemy • If we knew the formula for a great game we would always use it • Alchemy has advanced to chemistry, so we can advance to a science too, right ? • Define rules / guidelines of the game • Design interesting interaction • Risk and reward (e.g. interesting decisions for player) • Advance the „plot“ (score, , skill, narrative, etc.) • Keep the player challenged, not frustrated

Video Game Programming - A. Sharf 36 © Nintendo Aspects of

• What is video game design? – Player mechanics and controls? – Game rules, dynamics and goals? – World and level design? – Choice of colors, icons and setting? – Interactive sound and music? – Intuitive tools and code for designers and coders? – Enemy/ally intelligence and behavior?

Video Game Programming - A. Sharf 37 © Nintendo Aspects of video game design

• Answer: All of the above (and more) • video game design is inherently interdisciplinary • learn as much as you can about all aspects of a video game - you will be a better video game designer!

Video Game Programming - A. Sharf 38 © Nintendo Fundamental meaningful play

• Descriptive – Relationship between player action and system outcome • Evaluative – Discernable • Perceive the immediate outcome of player action • Explosion, sound effect, game state change – Integrated • Outcome of an action is woven into the game system • Actions on earlier „levels“ influence gameplay later on

Video Game Programming - A. Sharf 39 © Nintendo Video Game Programming - A. Sharf 40 © Nintendo Game Design Team Players

For small/medium sized game projects

Video Game Programming - A. Sharf 41 © Nintendo Small design teams

• Team lead / design – Organize team – Schedule milestones – Iterate game design and game rules – Study game theory etc. – See: „Rules of Play“, „Theory of fun“,„The Art of Game Design“

www.experimentalgameplay.com www.2dboy.com Video Game Programming - A. Sharf 42 © Nintendo Small design teams

• Gameplay programmer – game „AI“: refers to rule- based aspects – software engineer – encode „behaviors“, path planning, state machines, etc. – Works closely with lead game designer

Video Game Programming - A. Sharf 43 © Nintendo Small design teams

• Graphics programmer – Rendering technology – Work with content creator on „procedural content“ – Interface with gameplay programmer (collision detection, events, etc.) – Polish the visuals with © Bizarre particle effects, etc. Creations

Video Game Programming - A. Sharf 44 © Nintendo Small design teams

• Content creator – 2D Sprites (Photoshop) – 3D Models – Textures, Normalmaps – 2D/3D animations – Sound design • Role of an art director – Coherent look-and-feel – Adapt style to game mechanics and „story“

God of War™, © SCEA Video Game Programming - A. Sharf 45 © Nintendo Small design teams

• None of these roles are carved in stone – The previous example is one way of splitting work among a group of four – Many successful projects have been completed by groups of two, and also solo developers • Tip/trick: realistically adjust your design ambitions to the expected man-hours you will be able to invest

Video Game Programming - A. Sharf 46 © Nintendo Resources

Stand on the shoulders of giants

Video Game Programming - A. Sharf 47 © Nintendo Resources

• Game development / careers – gamecareerguide.com,gamasutra.com, gamedev.net,igda.com • Game news – kotaku.com,1up.com,gamespot.com – tigsource.com,indiegames.com/blog/ • Podcasts – 1up.com,gamespot.com, brainygamer.net

Video Game Programming - A. Sharf 48 © Nintendo Resources

• Books – Fullerton, Game Design Workshop – Norman, The Design of Everyday Things – Swink, Game Feel – Salen/Zimmerman, Rules of Play – Schell, The Art of Game Design – Koster, A Theory of Fun • Research – Jesper Juul, www.jesperjuul.net – Game studies, www.gamestudies.com

Video Game Programming - A. Sharf 49 © Nintendo Tips

• Keep it VERY simple! – You only have one week for everything • Code quick and dirty – You will not be using this code ever again • Quickly converge on a toolset + platform – Based on previous experience, preference, methods of distribution, etc. • Have friends play test your game – This will always be helpful throughout the course

Video Game Programming - A. Sharf 50 © Nintendo Theory of Fun!!!Raph Koster

Video Game Programming - A. Sharf 51 © Nintendo

Video Game Programming - A. Sharf 52 © Nintendo

Video Game Programming - A. Sharf 53 © Nintendo

Video Game Programming - A. Sharf 54 © Nintendo

Video Game Programming - A. Sharf 55 © Nintendo

Video Game Programming - A. Sharf 56 © Nintendo

Video Game Programming - A. Sharf 57 © Nintendo

Video Game Programming - A. Sharf 58 © Nintendo

Video Game Programming - A. Sharf 59 © Nintendo

Video Game Programming - A. Sharf 60 © Nintendo

Video Game Programming - A. Sharf 61 © Nintendo

Video Game Programming - A. Sharf 62 © Nintendo

Video Game Programming - A. Sharf 63 © Nintendo

Video Game Programming - A. Sharf 64 © Nintendo

Video Game Programming - A. Sharf 65 © Nintendo

Video Game Programming - A. Sharf 66 © Nintendo

Video Game Programming - A. Sharf 67 © Nintendo

Video Game Programming - A. Sharf 68 © Nintendo

Video Game Programming - A. Sharf 69 © Nintendo

Video Game Programming - A. Sharf 70 © Nintendo

Video Game Programming - A. Sharf 71 © Nintendo

Video Game Programming - A. Sharf 72 © Nintendo

Video Game Programming - A. Sharf 73 © Nintendo

Video Game Programming - A. Sharf 74 © Nintendo

Video Game Programming - A. Sharf 75 © Nintendo

Video Game Programming - A. Sharf 76 © Nintendo

Video Game Programming - A. Sharf 77 © Nintendo

Video Game Programming - A. Sharf 78 © Nintendo

Video Game Programming - A. Sharf 79 © Nintendo

Video Game Programming - A. Sharf 80 © Nintendo

Video Game Programming - A. Sharf 81 © Nintendo

Video Game Programming - A. Sharf 82 © Nintendo

Video Game Programming - A. Sharf 83 © Nintendo

Video Game Programming - A. Sharf 84 © Nintendo

Video Game Programming - A. Sharf 85 © Nintendo

Video Game Programming - A. Sharf 86 © Nintendo

Video Game Programming - A. Sharf 87 © Nintendo

Video Game Programming - A. Sharf 88 © Nintendo

Video Game Programming - A. Sharf 89 © Nintendo

Video Game Programming - A. Sharf 90 © Nintendo

Video Game Programming - A. Sharf 91 © Nintendo

Video Game Programming - A. Sharf 92 © Nintendo

Video Game Programming - A. Sharf 93 © Nintendo

Video Game Programming - A. Sharf 94 © Nintendo

Video Game Programming - A. Sharf 95 © Nintendo

Video Game Programming - A. Sharf 96 © Nintendo

Video Game Programming - A. Sharf 97 © Nintendo

Video Game Programming - A. Sharf 98 © Nintendo

Video Game Programming - A. Sharf 99 © Nintendo

Video Game Programming - A. Sharf 100 © Nintendo

Video Game Programming - A. Sharf 101 © Nintendo More agenda

• Reuse content: photos, 3D scans (bubbles, puzzles)

How Trauma Evokes a Realistic Atmosphere The Game Prodigy - The Source for Game Design.flv

Video Game Programming - A. Sharf 102 © Nintendo More agenda

• Create/control feelings and moods • Tricks and magic with smartphones • Smartphone interaction (more architecture less gaming)

Ipod Magic Deception (Viral Video) - Iq187 Tech Talk #16 - YouTube.flv

Video Game Programming - A. Sharf 103 © Nintendo Homework

Your very first prototype

Video Game Programming - A. Sharf 104 © Nintendo Art Games - Part 5 - YouTube.flv

Video Game Programming - A. Sharf 105 © Nintendo For next week…

• Each participant – Select a toolset, and make a very small game! • Constraints – No sound or music whatsoever – Only art assets (bitmaps) allowed: circles and squares what you create in code is up to you… – Input: at most four keys on a keyboard, or one thumbstick and one button, or simple motion controls or taps on a touch-screen (not both)

Video Game Programming - A. Sharf 106 © Nintendo Some Inspirations

• The Marriage – http://www.rodvik.com/rod games/marriage.html Simple game rules + simple rendering – Interesting mechanics • Ikaruga (shooter) – Simple polarity principle – Looks beautiful, but would be equally playable if not

Video Game Programming - A. Sharf 107 © Nintendo Video Game Programming - A. Sharf 108 © Nintendo