Lecture 1: Introduction

15 downloads 284 Views 1MB Size Report
Nov 13, 2013 ... 1. Introduction. Opdracht. 11/13/2013. 4. Ultimate goal: create a playable game. ( 5-10 min fun playtime). In particular: • Implement a retro game.
Lecture 1: Introduction Frank van der Stappen

Contact: [email protected]

Introductieproject Gametechnologie

Welcome!

Who am I? Frank van der Stappen

• Member and co-leader of the Virtual Worlds division • Research: mostly about Robotics and Simulation • Teaching: Motion and Manipulation (GMT master)

Coordination and major contact Note: if you are not a first year student or if you do not have a tutor (yet), make sure to contact me in the break!!!

11/13/2013

2

1. Introduction

Placement in the curriculum Gameprogrammeren, 1st quarter learn how to program 2D games Gametechnologie Introductieproject, 2nd quarter implement a game in a team of 5-7 students Including: 1. the actual (playable) game 2. promotion material 3. a presentation to the public More on 2. and 3. in the 3rd lecture. Today: mostly 1. and organizational issues. 11/13/2013

3

1. Introduction

Opdracht Ultimate goal: create a playable game (5-10 min fun playtime) In particular: • Implement a retro game • Extend it with state-of-the-art technology 11/13/2013

4

1. Introduction

Retro games – examples

11/13/2013

5

1. Introduction

Retro games – example

Cannonade (1982, for Commodore VIC-20) 11/13/2013

6

1. Introduction

Retro games – example

Video source: http://www.youtube.com/watch?v=uKspG_sJMxk 11/13/2013

7

1. Introduction

Angry Birds (2009, for Apple iOS)

Retro games – example

Cannonade (1982, for Commodore VIC-20)

Better graphics Better sound Better physics Better interaction … 

Better usage of state-of-the art technology!

11/13/2013

8

1. Introduction

Retro games – technology What technology was used? • • • • •

Graphics Sound AI Interaction Networks 1st deliverable: analysis document (more on this later!)

And how could you improve it? 11/13/2013

2nd deliverable: design document (more on this later!)

9

1. Introduction

Extension with new technology Examples from previous years: graphics

3D graphics Particles 11/13/2013

10

1. Introduction

Extension with new technology Examples from previous years: physics

Better (and bloodier) physics 11/13/2013

11

1. Introduction

Extension with new technology Examples from previous years: networks

Online multi-player mode

11/13/2013

12

1. Introduction

Extension with new technology Examples from previous years: interaction

Game control via gestures (& web cam)

11/13/2013

13

1. Introduction

Extension with new technology Examples from previous years: interaction

Speech recognition 11/13/2013

14

1. Introduction

Opdracht Ultimate goal: create a playable game (5-10 min fun playtime) In particular: • Implement a retro game • Extend it with state-of-the-art technology Notice: • This separation is not necessarily strict • Focus is on technology, not on game design

11/13/2013

15

1. Introduction

Procedure – how? Who is going to do this? You (and your team) How are you supposed to do this? Figure it out yourself :) This is not a regular course where we teach you how things are done, but you have to learn it yourself. But don not worry: we will help you (more on this later)

11/13/2013

16

1. Introduction

Procedure – why? Learn how to work in a team • Essential in software engineering Learn how to “figure things out” yourself • We cannot teach you everything Learning by doing is often more successful • You only learn things better by experiencing, not by listening to others talking about it Learning from mistakes is often even better

11/13/2013

17

2. Support

People involved

YOU

your team TA for questions related to programming 11/13/2013

your tutor

experts for advise on technical knowledge

Lectures for general background

18

2. Involved people

Your tutor

Task and role: • Your tutor is not part of the project team • He/she serves as an advisor • He/she supports you with management and organizational issues • He/she provides help if needed • He/she monitors your progress and performance • He/she is involved in your final grading

11/13/2013

19

2. Involved people

The teaching assistant (TA) Sander Verkuil [email protected] You can arrange meetings with him (via a Google Spreadsheet, cf. below) Usually on Thursday and Friday afternoons in the Game Hall (basement of BBL) Some mandatory meetings (esp. for SVN and blog setup) Spreadsheet shortcut: http://goo.gl/GW7ogr https://docs.google.com/spreadsheet/ccc?key=0AszHK9XAz1cdGNWR0Z1LUdTRi12c2Nlek1 rZ0IyQ3c 11/13/2013 20

2. Involved people

Experts for technical advise Getting in touch with experts from the department via vouchers You get vouchers for 2 meetings of 20 minutes. Use them wisely. Your tutor • Gives you the vouchers • Helps you finding experts • Helps you getting in touch with them 11/13/2013

21

2. Involved people

Accompanying lectures / intro talks 1. 2. 3. 4.

Introduction & organization (today) Software engineering & teamwork (Fri 15, Silja) Tools, rights, and resources (Wed 20, Wolfgang) Guest lecture from the industry (Fri 29, Manuel Kerssemakers, Abbey Games)

Goal: general, high-level intro no “blueprint” but hints and tips Attendance: mandatory!

11/13/2013

22

3. Procedure

Team building How to build your team: 1. Splitting tutor groups 2. Getting a cool name 3. Writing short bios 4. Presenting yourself to the world Note: you are not students anymore, you are a game developing company now :)

11/13/2013

23

3. Procedure

Team building 1st deliverable: Deadline = Friday, November 15, 2013 09:00-11:00 before 11:00 11:00-12:45 13:00-17:00 before 17:00 11/13/2013

Meetings with tutor (arrange yourself) Teams (members & names via email) 2nd lecture (SW engin. & teamwork) Meetings with TA (arrange via Google Spreadsheet) Topic (retro game name via email) 24

3. Procedure

Pick a retro game Consider in your selection: • The limited amount of time for the project not too complex • Possibilities for technology related extension focus on technology, not game design • The “5-10 min fun playtime” goal this excludes games that need tutorials, etc. If in doubt: discuss it with your tutor or an expert (you could use a voucher for that) 11/13/2013

25

3. Procedure

Pick a retro game – questions Can we use open source software? Can we re-use code (e.g. from other courses)? Can we use graphics, sounds, etc. from the web? Yes,

you are welcome and even encouraged to do so. But, you have to indicate this clearly, so we can give you a fair grading in the end. Also, consider legal issues (cf. lecture 3)

11/13/2013

26

3. Procedure

Pick a retro game – questions Can we use special hardware? Yes, you are welcome to do so. But, make sure that • You have the necessary support needed • Don’t make yourself dependent on someone • Don’t just use fancy tools but also produce something You are welcome to use resources from the department (Kinect, MoCap Lab, …) but you have to arrange them yourself (ask your tutor). 11/13/2013

27

3. Procedure

Pick a retro game – questions How “retro” does it need to be? Retro games have been chosen • To avoid the need for detailed game design • Because you can do this based on your experience from Gameprogrammeren Others are possible, but not recommended. Discuss it with your tutor if you have doubts.

11/13/2013

28

3. Procedure

Pick a retro game – possible extensions Example: how could you extend this with • • • • •

Graphics, Sound, AI, Networks, Interaction?

11/13/2013

29

3. Procedure

Pick a retro game – possible extensions AI • "Smarter" ghosts in Pacman • Realtime analysis of the game and automatic adaptation of the level of difficulty (*) Sound • Adding 3D sound effects • Control sound via the Wiimote • Completely audio-based version of the original game Networks • Multiplayer modes via network • Highscore lists on a website 11/13/2013

Interaction • New interaction via Wiimote(s) • Using a web cam for motion tracking (a-la Microsoft Kinect) • Fullbody fighting by using lamps and a camera to control games such as Streetfighter (*) Graphics • Particles systems • Shaders • Ambilight-like additions for a better atmospherical impression 30

3. Procedure

Pick a retro game – advise Important: Be prepared for the worst • Things can go wrong (and they will) • People might drop out and stop the course Therefore: • Have a backup plan that still guarantees a playable game in the end • Monitor team activity, identify problems early • Having problems is not critical (we expect that) • Not recognizing them and not reacting appropriately however is! 11/13/2013

31

3. Procedure

Pick a retro game – advise Generally, you are encouraged to • Aim high • Be ambitious But also realistic and careful in your planning. Failure because of this is acceptable. Failure because of laziness, lack of effort, chaotic approach, etc. isn’t.

11/13/2013

32

3. Procedure

Team meetings / project meetings • • •

Weekly Mandatory With tutor

• • •

You organize it Tutor observes, advices, monitors If necessary, he interferes

• •

Ideally, the tutor does nothing But: he has final control and power

11/13/2013

33

3. Procedure

Team meetings / project meetings Remember: • This project is a team effort • Team work is difficult (esp. with such a diverse group) Make sure to: 1. Talk to each other 2. Identify talents and use them 3. Help others to learn and improve themselves More on team work in the next lecture! 11/13/2013

34

3. Procedure

Team meetings / project meetings Each member should contribute equally. Contribute according to your qualities, but make sure that you also learn things where you lack knowledge. To monitor the amount of work that you put in, you have to keep a logbook (mandatory!) with • Your working hours, • A short description what you have done. Update it at least weekly. 11/13/2013

35

3. Procedure

Initial documents – analysis document Analyzes the original game and used technology • What is the gameplay idea? • What technology has been used? • Why was it popular? There is a handout on the website with further info. Deadline for delivery (as PDF by email to tutor, TA & coordinator): Friday, November 22, 2013 11/13/2013

36

3. Procedure

Initial documents – design document Describes your game and the used technology • How will it be made? • What is necessary for that? • What technology will be used and how does this affect the gameplay? There is a handout on the website with further infos. Deadline for delivery (as PDF by email to tutor, TA & coordinator): Friday, November 29, 2013 11/13/2013

37

3. Procedure

Implementation and testing Implementation: should be with C# and XNA • For version control, you are supposed to use the department’s SVN server (more in lect. 3) • There will be code checks for style and comments twice during the course (more on this on the website) Important: implementation includes testing • Testing for correctness to find bugs • Testing for gameplay and fun

11/13/2013

38

3. Procedure

Website & blog posts Your are supposed to create a website and keep a blog to illustrate your progress. Blogs setup will be done by the TA. First post: presentation of your team (team name, short member bios, and name of your game) Deadline: Friday, 22.11.13 More on the regular updates and final website in the 3rd lecture. More on the blogs in the 3rd lecture! 11/13/2013

39

3. Procedure

Intermediate report & presentation Halfway through the project, there will be 1. An intermediate report templates will be provided online 2. A presentation about your progress make sure you can show something by then 3. A chance to revise your goals and plans only if it is necessary 4. And another mandatory blog update

11/13/2013

40

3. Procedure

Intermediate report & presentation Procedure and deadlines: 1.Intermediate report & code Monday, December 16 (via email) 2.Presentation about your progress Wednesday, December 18, 13:15-17:00 Attendance is mandatory! Minor changes on time etc. may apply! 1.Revision of your goals and plans 2.Mandatory blog update Both on Friday, December 20 11/13/2013

41

3. Procedure

Implementation and testing Implementation: should be with C# and XNA • For version control, you are supposed to use the department’s SVN server (more in lect. 3) • There will be code checks for style and comments twice during the course Important: implementation includes testing • Testing for correctness to find bugs • Testing for gameplay and fun Start preparing promotion material 11/13/2013

More on SVN in the first TA meeting and 3rd lecture 42

3. Procedure

Final deliverables

More on the promotion material in the 3rd lecture!

1. Final project report & code Mon, 27.1.14, template will be provided 2. Promotion material: video, flyer, website Mon, 27.1.14, further info online 3. Presentation (10 min), demo & discussion (10 min) & final product (box with CD/DVD) Wed, 29.1.14, 9:00-17:00 4. Demo and (if you are good) presentation at final symposium Fri, 31.1.14, 12:00-17:00 Note: dates and times are preliminary; minor changes may apply 11/13/2013

43

4. Symposium & grading

Grading (I)

On Wednesday, a jury gives “game like” rating for final product considering: 1. 2. 3. 4.

Your presentation (max. 10 min) The final game play (5-10 min fun) The promo material A short discussion with you (< 10 min)

The jury contains 3 tutors (including yours) and 2 general members. They nominate 5 candidates for best game award. 11/13/2013

44

4. Symposium & grading

Symposium

Note: minor changes may apply

Thursday: Nominees for best game award prepare a presentation (5+2min) Friday, 12:00-15:00h, Demos in BBL 1. Playtime :) 2. Audience award 3. Award committee checks nominees Friday, 15:30-16:30h, Closing event 1. Presentation of nominated games 2. Audience & best game award Afterward: borrel (& jury ratings for all teams) 11/13/2013

45

4. Symposium & grading

Grading (II)

Tutor gives final grading based on jury rating. This can be 1. The same for the whole team 2. A little better or worse depending on the team’s performance & issues 3. A lot better or worse for individuals based on issues, such as • Low number of working hours • Lack of attendance in meetings & lects • Laziness or above average commitment 11/13/2013

46

5. Summary

Website Watch the NEWS section on the first page for announcements and updates!

11/13/2013

47

5. Summary

Schedule

11/13/2013

48

5. Summary

Next steps 1. 2. 3. 4. 5. 6. 7. 8.

Build teams and organize meeting with tutor (Friday, 15.11.13, 9:00-11:00 or earlier) Send team name and member list (deadline Friday, 15.11.13, before 11:00) Attend 2nd lecture (Friday, 15.11.13, 11:00-12:45) Meet with the TA for SVN & blog setup (Friday, 15.11.13, 13:00-17:00, arranged via http://goo.gl/GW7ogr Send name of retro game that you want to enhance (deadline Friday, 15.11.13, before 17:00) Start working on first deliverable (analysis document & team bios) Attend 3rd lecture (Wednesday, 20.11.13, 15:15-17:00h) Have fun!

11/13/2013

49

5. Summary

Questions? Contact me (now or later) Email: [email protected] Important for all email conversations (also with the TA): Start your subject with “INFOB1PGT: “ followed by some content related words Also make sure to check the website for further info and constant updates! 11/13/2013

50