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