CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7

1,560 views
1,450 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,560
On SlideShare
0
From Embeds
0
Number of Embeds
321
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • http://farseerphysics.codeplex.com/http://helium.codeplex.com/http://blogs.msdn.com/b/davrous/archive/2010/07/22/silverlight-4-xna-platformer-level-editor-for-windows-phone-7-overview-1-4.aspx?wa=wsignin1.0
  • What’s new in XNA4 MSDN Docshttp://msdn.microsoft.com/en-us/library/bb417503.aspx
  • What’s new in XNA4 MSDN Docshttp://msdn.microsoft.com/en-us/library/bb417503.aspx
  • Очевидно, что в рамках одного доклада осветить детально все аспекты данной темы не представляется возможным, поэтому мы приглашаем вас посетить официальные курсы Microsoft, которые созданы при участии разработчиков продуктов. Их можно пройти у наших партнеров-учебных центров, полный список которых есть на веб-сайте.Курсы в авторизованных учебных центрах проводятся под руководством сертифицированных тренеров (Microsoft CertifiedTrainer, MCT)  и получить как теоретические знания, так и реальный опыт работы с программным продуктом, т.к. каждая тема курса сопровождается лабораторной (практической) работой. Освоение одного учебного курса занимает в основном от трех до пяти дней - в зависимости от его глубины и сложности. Всего в России доступно более 300 официальных аудиторных курсов Microsoft, из которых вы сможете выбрать именно то, что вам требуется. (Если вы являетесь IT-менеджером и готовы провести обучение группы, то вы сможете также договориться с учебным центром о кастомизации курса под ваши потребности или о выездном обучении.) Помимо официальных курсов, Майкрософт предлагает систему оценки знаний в области ИТ и разработки с помощью сертификационного тестирования специалистов. По результатам успешного прохождения одного или нескольких сертификационных экзаменов присваивается тот или иной сертификационный статус Microsoft. Такой статус является «визитной карточкой» IT-профессионалов по всему миру, подтверждая их знания конкретной технологической области и умение эффективно справляться со своими должностными обязанностями. Для работодателей наличие у специалиста сертификационного статуса является одним из важных показателей его навыков и знаний в области ИТ. Согласно исследованию IDC, 40% сертифицированных специалистов считают, что сертификация помогла им получить работу или повышение. Исследование IDC также показало, что эффективность команды растет, если в ней есть сертифицированные специалисты (это отмечают 75% менеджеров). Это происходит потому, что с одной стороны, такие специалисты обладают соответствующим багажом знаний, а с другой стороны – у них есть общая система подходов к решению задач, что облегчает взаимодействие в команде. Поэтому получение сертификационного статуса будет большим плюсом для вас.Microsoft предлагает гибкую систему сертификаций - от базового статуса («Специалист») до основного («Профессионал») и элитного «Мастер» и «Архитектор»). Подробности – на веб-сайте.Найти нужный вам учебный курс, учебный центр или центр тестирования можно на веб-сайте www.microsoft.com/rus/learning в новой удобной системе Поиска курсов и центров.<Только на случай вопросов о языке курсов:> Часть учебников переведена на русский язык, хотя бОльшая часть – на английском языке. Тем не менее, даже если учебник на англ. языке, курс ведется русскоговорящим тренером, и зачастую наиболее важная информация (инструкции к лабораторным или саммари курсов) переводится учебными центрами на русский язык и раздается слушателям. <Только на случай вопросов о стоимости обучения на таких курсах:> Стоимость обучения может отличаться в разных учебных центрах, и зависит от многих факторов. В среднем, один человеко-день обучения стоит около 4-5 тыс. рублей, что для обучения такого высокого качества является вполне оправданным (особенно если сравнить со стоимостью официальных курсов некоторых других вендоров). Но, как я уже сказал(а), точную информацию о стоимости нужно получать в конкретном учебном центре. <По всем остальным вопросам:> Ознакомьтесь с информацией на веб-сайте www.microsoft.com/rus/learning. Кроме того, у вас есть прекрасная возможность подойти сегодня на стенды учебных центров или в зоны сертификационного тестирования, или неофициального шуточного тестирования здесь на мероприятии – и выяснить все детали.
  • Обратите внимание на специальные предложения в области обучения и сертификации. Спецпредложение для ИТ-специалистов и разработчиков: Идеальное предложение для тех, кто хотел бы получить более продвинутый сертификационный статус (например, MCITP), для получения которого требуется сдать от 2-х до 4-х сертификационных экзаменов. Скидки от 15% до 20% на пакет из нескольких экзаменов (2-3 экзамена – скидка 15%;4-5 экзаменов - скидка 20%). «Второй шанс» включен в пакет (т.е. в случае неудачи при сдаче любого экзамена из пакета вы можете пересдать его бесплатно). Сдавать экзамены из пакета может только один человек (тот, кто приобрел пакет). Узнайте больше о преимуществах, которые сертификация дает специалистам, и деталях этого предложения на веб-сайте.Спецпредложение для ИТ-менеджеров: Сертификация – идеальный способ проверить знания вашего ИТ-персонала или мотивировать на изучение новых технологий. ИТ-менеджеры могут приобрести пакет из 10 экзаменационных ваучеров со скидкой 15% для сотрудников ИТ-отдела. В пакет включена попытка бесплатной пересдачи экзамена в случае неудачной первой попытки («Второй шанс»). В отличие от первого спец.предложения, коды ваучеров можно произвольным образом распределить между разными сотрудниками ИТ-отдела. Мы рекомендуем вам подробнее познакомиться с преимуществами сертификации ИТ-сотрудников для организации и с этим спец.предложением на нашемсайте. Оба предложения ограничены по сроку действия – до 30 июня 2011 года. (Но в первом случае к этому сроку нужно сдать (и если понадобится – пересдать) все экзамены. Так что не откладывайте на завтра.)Глобальная конференция, посвященная вопросам карьеры в области ИТ (Microsoft Career Conference). Эта уникальная конференция проводится впервые. 24 часа сессий nonstop по всему миру (с 18 ноября). Технические треки, сессии по построению карьеры, возможность общения с коллегами и работодателями всего мира. Участие в конференции стоит 55$, для сертифицированных специалистов и студентов - скидка 50%. Зарегистрированные участники смогут также зайти и после окончания конференции (в течение 3-х месяцев) и прослушать любые сессии в записи. Детали – на веб-сайте Microsoft Learning. Бесплатная подписка на TechNet для слушателей официальных курсов.С конца ноября, т.е. буквально через неделю, Microsoft также запустит новое спец.предложение, в рамках которого слушатели некоторых официальных курсов Майкрософт смогут получить бесплатно годовую подписку на TechNet. Список курсов, для слушателей которых действует предложение, – на веб-сайте Microsoft Learning. <По всем вопросам:> Ознакомьтесь с информацией на веб-сайте www.microsoft.com/rus/learning. Кроме того, у вас есть прекрасная возможность подойти сегодня на стенды учебных центров или в зоны сертификационного тестирования и неофициального шуточного тестирования здесь на мероприятии – и выяснить все детали по обучению и сертификации.
  • CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7

    1. 1.
    2. 2. Разработка игр для Windows Phone 7<br />Дмитрий Сошников<br />Координатор академических программ<br />Майкрософт Россия<br />DT210<br />интерактивное представление<br />dmitryso@microsoft.com; twitter: @shwars<br />
    3. 3. Содержание <br />Мы напишем простую 2D-игру «Морской бой» менее, чем за 30 мин<br />Посмотрим другие примеры игр<br />Также вы узнаете<br />Разработка для WP7: Silverlight vs. XNA<br />XNA – не только для игр!<br />Концепция 3 экранов и разработка под 3 экрана<br />Управление телефоном: multitouchи жесты<br />Облачные игры: XBox Live<br />
    4. 4. Любите ли вы играть?<br />
    5. 5. Телефон как платформа для игр<br />
    6. 6. Концепция трёх экранов<br />
    7. 7. Разработка под 3 экрана<br />XNA Game Studio<br />XNA Framework<br />
    8. 8. Выбор платформы<br />Silverlight<br />XNA<br />
    9. 9. Выбор платформы<br />Современные приложения, управляемые событ-ми.<br />Быстрое создание богатых графических приложений<br />HTML/Javascript<br />Устоявшаяся, надёжная, популярная технология<br />Высокопроизводительная игровая платформа<br />Быстрое создание многоэкранных 2D и 3D игр<br />Богатая content pipeline<br />Устоявшаяся технология для Xbox, Windows, и Zune/WP7<br />Игры(и приложения)<br />Приложения<br />(и игры)<br />
    10. 10. Самая главная мысль на сегодня!<br />Программная модель XNA основана на игровом цикле, а не на событиях!<br />
    11. 11. Игровой цикл<br />public void LoadContent(…) <br />{ <br /> … <br />}<br />public void Update(…) <br />{ <br /> … <br />}<br />public void Draw(…) <br />{ <br /> … <br />}<br />LoadContent<br />Update<br />Draw<br />
    12. 12. Что нужно, чтобы пробовать?<br />Windows Phone Developer Tools<br />Visual Studio 2010 Express for Windows Phone<br />Интеграция с VS 2010 Pro<br />Видеокарта с DirectX 10<br />Windows Phone 7 – не обязателен!<br />
    13. 13. Игровой цикл<br />Демонстрация <br />
    14. 14. Разработка под 3 экрана<br />XNA Game Studio<br />XNA Framework<br />
    15. 15. Архитектура XNA<br />Content<br />Code<br />Components<br />XACT<br />XINPUT<br />XContent<br />Direct3D<br />Graphics<br />Audio<br />Input<br />Math<br />Storage<br />Application Model<br />Content Pipeline<br />Starter Kits<br />Games<br />Extended<br />Framework<br />Core<br />Framework<br />Platform<br />
    16. 16. Обработка ввода<br />Состояние и опрос вместо событий<br />Кросс-платформенное API<br />Xbox 360 Controllers (Xbox/Windows)<br />Keyboard (Xbox/Windows/Windows Phone 7)<br />Touch Input Handling<br />vartouchCollection= TouchPanel.GetState();<br />//...<br />foreach(vartouchLocationintouchCollection)<br />{<br />if(touchLocation.State == <br />TouchLocationState.Released)<br /> {<br />//...<br /> }<br />}<br />Touch API<br />Для совместимости есть на всех платформах(не нужно #ifdef) <br />На Windows Phone 7 и Windows поддерживает Multipoint<br />Учитывает ориентацию и разрешение<br />
    17. 17. Работа с устройствами ввода<br />Демонстрация <br />
    18. 18. Масштабирование / ориентация<br />Пишем игру без учёта нативного разрешения и ориентации экрана<br />Автоматический поворот между портретным и ландшафтным режимамиTouch API автоматически поддерживает изменение ориентации<br />Масштабирование для поднятия производительности<br />Компромисс между производительностью и четкостью800x480 = 384,000 пикселей, 480x320 = 153,600 пикселей<br />Масштибирование в обе стороны к нативному разрешению<br />Много лучше, чем билинейная фильтрацияПростой перенос игр с других платформ<br />Поворот / масштабирование на аппаратном уровне!<br />
    19. 19. Работа с ориентацией<br />Демонстрация <br />
    20. 20. Audio Capture Example<br />Звук<br />publicvoidEventDrivenCapture()<br />{<br />mic= Microphone.Default;<br />buffer = new byte[mic.GetSampleSizeInBytes(mic.BufferDuration)];<br />mic.BufferReady += newEventHandler(OnBufferReady);<br />DynamicPlayback = newDynamicSoundEffectInstance(mic.SampleRate,<br />AudioChannels.Mono);<br />}<br />publicvoidOnBufferReady(object sender, EventArgsargs)<br />{<br />// Get the latest captured audio. <br />int duration = mic.GetData(buffer);<br />// Do some post-capture processing and playback. <br />MakeMeSoundLikeARobot(buffer, duration);<br />DynamicPlayback.SubmitBuffer(buffer);<br />}<br />Захват и воспроизведение<br />Простой API для проигрывания WAV<br />Изменить pitch, volume, pan<br />Синтез/буферизация аудио<br />Сериализация захваченных данных<br />Контроль над типами System.Mediaв Windows Phone 7<br />Audio Playback Example<br />// Load a sound effect from a raw stream<br />SoundEffecteffect1 =<br />SoundEffect.FromStream(GetStreamFromTheWeb("http://url.wav"));<br />effect1.Play();<br />// Create dynamic audio on the fly<br />byte[] fluteSound = GetFluteNote();<br />effect2 = newSoundEffect(fluteSound, SampleRate, AudioChannels.Stereo);<br />SoundEffectInstanceinstance = effect2.CreateInstance();<br />instance.Pan = -1; instance.Pitch = 1.5f;<br />instance.Play();<br />Microphone/Bluetooth Support<br />Воспроизведение на наушниках<br />Ввод с микрофона<br />
    21. 21. Музыка/фото/видео<br />URI Song Playback Example<br />Поиск и воспроизв.музыки<br />// Constructs a song from a URI<br />UrimediaStreamUri = newUri("http://song.asx");<br />SongstreamedSong = Song.FromUri("Song", mediaStreamUri);<br />// Play the song<br />MediaPlayer.Play(streamedSong);<br />Автоматическое управление списком медиа в игре<br />Можно воспроизводить по URI/URL <br />Picture Enumeration and Playback<br />Поддержка выбора.публикации фотографий<br />Retrieve Image Data<br />MediaLibrarymedia =newMediaLibrary();<br />// Get the JPEG image data<br />StreammyJpegImage = ReadAndModifyPicture(somePicture);<br />// Save texture to Media Library   <br />media.SavePicture("Awesome", myJpegImage);<br />Воспроизведение видео<br />Поддержка Video Player API<br />Показать или убрать элементы управления<br />
    22. 22. Компонентизация игры<br />Контент<br />Выделение в отдельный проект<br />Разделение по директориям<br />Код<br />Выделение классов под объекты игры<br />GameComponent / DrawableGameComponent<br />Game State Management<br />Хорошие ресурсы:<br />http://create.msdn.com/en-US/education/roadmap<br />Offline Windows Phone 7 Training Kit<br />
    23. 23. Catapult Wars Sample<br />Демонстрация <br />
    24. 24. Графика<br />Эволюция существующего immediate mode rendering API<br />Простое управление ресурсами и состоянием рендеринга<br />Возможности меняются для“Reach”/“HiDef” profiles<br />2D и 3D примитивы<br />
    25. 25. 3D-графика<br />World Matrix<br /><ul><li>Преобразование модели перед отображением</li></ul>Camera View Matrix<br /><ul><li>Направление обзора</li></ul>Camera Projection Matrix<br /><ul><li>Угол обзора / фокусное расстояние
    26. 26. Плоскости отсечения</li></li></ul><li>Эффекты<br />BasicEffect<br />SkinnedEffect<br />Доступны на всех платформах<br />EnvironmentMapEffect<br />DualTextureEffect<br />Custom effects (шейдеры) недоступны на Windows Phone 7<br />AlphaTestEffect<br />
    27. 27. 3D-графикаи работа с жестами<br />Демонстрация <br />
    28. 28. Основные жесты WP7<br />Tap<br />Double Tap<br />Pan<br />FreeDrag | Horizontal Drag | Vertical Drag<br />Drag -> DragComplete<br />Flick (всегда после Pan)<br />Hold<br />Pinch / Stretch<br />Pinch -> PinchComplete<br />
    29. 29. Законченная игра + работа с акселерометром<br />Демонстрация <br />
    30. 30. Производительность<br />Оптимизация загрузки контента<br />Уменьшение размера<br />Загрузка в правильное время<br />Оптимизация работы с памятью<br />Больше Value Types<br />Вызов GC.Collect()<br />Простные структуры < 1Mb<br />Работа в меньшем разрешении + автомасштабирование<br />Tombstoning<br />
    31. 31. Построение множества Мандельброта (Ч.Петцольд)<br />Демонстрация <br />
    32. 32. Engines<br />http://farseerphysics.codeplex.com/<br />http://helium.codeplex.com/<br />
    33. 33. Powerful<br />Productive<br />Portable<br />
    34. 34. Производительная<br />Продуктивная<br />Переносимая<br />
    35. 35. Производительная<br />
    36. 36. Игры на управляемом коде?<br />Frameworks designed for performance<br />Frameworks designed for performance<br />Frameworks designed for performance<br />Разработаны с требованием производителности<br />Опробованный успех на игровых сценариях<br />В будущее WP7 – с управляемым кодом!<br />Нет лишней сборки мусора<br />3+ года профилирования и оптимизации<br />Эффективная работа на WP7<br />Оптимизированные мат.библиотеки<br />Более 800.NET-игр на XBLA / XBIG<br />API с переходом на нативный код<br />
    37. 37. Продуктивная<br />
    38. 38. Visual Studio – среда разработки<br /><ul><li>Эффективная разработка с .NET и C#
    39. 39. Знакомая удобная среда разработки
    40. 40. Intellisense
    41. 41. Интегрированная среда build/deploy/debug
    42. 42. MSBuild engine для автоматизации </li></ul> процесса сборки<br />
    43. 43. Content Pipeline<br />Упрощает использование контента!<br />Управляем содержимым прямо в Visual Studio<br />Импортеры для основных игровых форматов<br />Оптимизация в двоичный формат для эфф.загрузки<br />Полностью расширяемая<br />Не требуется XNA Framework/Game Loop<br />В XNA 4.0 – внешние контентные проекты<br />
    44. 44. Переносимая<br />
    45. 45. Разработка под 3 экрана<br />XNA Framework разрабатывалась кросс-платформенной<br />Меньшее время разработки -большее кол-во клиентов<br />Синхронизация проектовмежду платформами<br />
    46. 46. Профили оборудования<br />Баланс между переносимостью и богатством возможностей.<br />Совместимость между экранами / устройствами<br />Включая Windows Phone 7<br />Reach<br />Лучшие возможности платформы<br />Только Xbox 360/Windows<br />HiDef<br />
    47. 47. Что нового в XNA 4.0<br />Улучшенная поддержка звука<br />Разработка для Windows Phone 7<br />Упрощенный API работы с графикой<br />Интеграция с Visual Studio 2010<br />Новые конфи-гурируемые эффекты<br />
    48. 48. Ресурсы для изучения<br />Windows Phone 7 на MSDN по-русски<br />http://msdn.microsoft.com/ru-ru/windowsphone/default.aspx<br />Windows Phone 7 Training Kit по-русски https://rusdpe.blob.core.windows.net/downloads/RusWP7TrainingKit.zip<br />Одна ссылка: http://create.msdn.com<br />Windows Phone 7 Training Course XNA Unit: http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7xna_unit<br />Сообщество: http://xnadev.ru<br />Книга Чарльза Петцольда Programming Windows Phone 7: http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf<br />
    49. 49. Выбираем Silverlight<br />Графика<br />Много элементов управления<br />Векторная графика в XAML <br />Мультимедиа<br />Богатая поддержка в приложении<br />Инструментарий<br />Используем Microsoft Blend в процессе разработки<br />
    50. 50. Выбираем XNA<br />Графика<br />3D-графика<br />2D-приложения с активным использованием спрайтов<br />Моделирование/отрисовка<br />Если предпочтительна циклическая модель приложения<br />Инструментарий<br />Используем графические форматы, поддерживаемые XNA Framework Content Pipeline<br />
    51. 51. Интеграция Silverlight/XNA<br />XNA Framework Game Loop работает поверх Silverlight Application object на Windows Phone 7<br />Существуют API для интеграции<br />Часть XNA Framework доступна из Silverlight-приложений<br />Включая игровые сервисы (Xbox LIVE)<br />На текущий момент интеграция не полная<br />Сцены с GraphicsDeviceв XNA Framework и UIElementsиз Silverlight<br />Надо выбирать подходящую технологию для вашего сценария<br />
    52. 52. Дальнейшие шаги<br />Скачать Windows Phone Developer Tools<br />http://developer.windowsphone.com <br />http://creators.xna.com<br />http://channel9.msdn.com/Learn/Courses/ WP7TrainingKit/WP7XNA<br />http://xnadev.ru<br />http://techdays.ru<br />
    53. 53. Выводы<br />Производительная<br />Windows Phone 7 – это мощная игровая платформа<br />Управляемый код обеспечивает производительные игры<br />Продуктивная<br />Отличные знакомые инструменты для разработки (Visual Stuio)<br />Можно сконцентрироваться на логике/контенте<br />Переносимая<br />Поддержка трех экранов в едином проекте<br />Фокусируемся на игре, а не на технологиях<br />
    54. 54. Обратная связь <br />Ваше мнение очень важно для нас. Пожалуйста, оцените доклад, заполните анкету и сдайте ее при выходе из зала<br />Спасибо! <br />
    55. 55. Вопросы <br />DT210<br />Дмитрий Сошников<br />Координатор академических программ<br />dmitryso@microsoft.com<br />http://blogs.msdn.com/sos<br />http://twitter.com/shwars<br />Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение получаса после завершения этого доклада <br />
    56. 56. Официальные курсы и сертификация Microsoft<br />Более 300 официальных курсов Microsoft доступно в России. <br />Официальные курсы можно прослушать только в авторизованных учебных центрах Microsoft <br />под руководством опытного сертифицированного инструктора Microsoft<br />интенсивное обучение с акцентом на практику<br />более 80-и учебных центров более чем в 20-и городах России (+ дистанционные и выездные курсы)<br />Сертификат Microsoft - показатель квалификации ИТ-специалиста для работодателя . <br /><ul><li>Microsoft предлагает гибкую систему сертификаций.
    57. 57. Все курсы, учебные центры и центры тестирования: www.microsoft.com/rus/learning</li></ul>40<br />57<br />%<br />%<br />Доказательство № 75<br />Доказательство № 119<br />рекрутеров считают сертификацию сотрудников одним из критериев для повышения в должности<br />сертифицированных специалистов считают, что сертификация помогла им получить работу или повышение<br />
    58. 58. Специальные предложения<br />Сертификационный пакет со вторым шансом<br />Пакеты экзаменационных ваучеров со скидкой от 15 до 20% и бесплатной пересдачей («вторым шансом»). Все экзамены сдаются одним человеком. <br />Сэкономьте 15% на сертификации вашей ИТ-команды<br />Пакет из 10-и экзаменационных ваучеров со скидкой 15% для сотрудников ИТ-отдела. «Второй шанс» включен. Ваучеры можно произвольно распределять между сотрудниками. <br />Microsoft Certified Career Conference<br />Первая 24-часовая глобальная виртуальная конференция с 18 ноября с 15.00 (моск. время) по 19 ноября 2010 г.<br />Сессии по технологиям и построению карьеры<br />Скидка 50% для сертифицированных специалистов Microsoft и студентов<br />Бесплатная подписка на TechNet для слушателей официальных курсов<br />Некоторые курсы по SharePoint, Windows 7; WindowsServer 2008; SQL Server 2008<br />Детали: www.microsoft.com/rus/learning<br />С 22 ноября 2010 г. – подписка TechNet бесплатно для слушателей курсов. Количество ограничено!<br />

    ×