Skip to content

Latest commit

 

History

History
73 lines (54 loc) · 6.74 KB

File metadata and controls

73 lines (54 loc) · 6.74 KB

Завдання до курсу Введення в Ігрову Розробку (2017)

Для успішного завершення курсу, протягом семестру необхідно виконати 3 роботи і курсовий проект. Якщо ви реєструвались на курс окремо (не з груп ІП-71\72), я все одно рекомендую виконувати завдання, тому що ефективність курсу без постійної практики буде стрімко падати.

На кожне завдання виділяється час, після якого максимальний бал за його виконання будуть скорочуватись вдвічі. Всі завдання мають схожий принцип - ви обираєте базовий варіант (тему) і набираєте за допомогою пунктів складності необхідний мінімум. Наприклад, для першого завдання можна взяти Змійку із можливістю повторної гри, на друге - тетрис із рівнями та досягненнями тощо.

Про всі пункти функціоналу у нас обов’язково будуть окремі лекції з поясненнями, як це можна робити

Номер завдання Максимальна кількість балів Дедлайн здачі Необхідна кількість зірочок складності
1 9 8 жовтня 3
2 18 12 листопада 6
3 27 17 грудня 10

Ще шість балів можна отримати за контрольну роботу, в підсумку - 60 балів

Якщо ви хочете розвивати один проект (що цікавіше, але набагато важче, тому не рекомендується початківцям - скоріше за все, вже у листопаді ви зрозумієте, що половину проекту варто робити по-іншому), то на перший дедлайн слід набрати так само 3*, другий - 8*, третій - 16*

Екзамен - 40 балів.

Приклади проектів:

  • Змійка (*)

  • Пакман (*)

  • Тетріс (*)

  • Арканоид (*)

  • 2048 (*)

  • Space Invaders (**)

  • Три-в-ряд(match3) (**)

  • Шахи (**)

  • Карти (дурак, преферанс, тощо) (**)

  • Lunar Lander (**)

  • Angry birds (**)

  • Tower defense (*-***)

  • Runner (**)

  • Платформер (**)

  • Гонки 2D (***)

  • Zooma (**)

  • Індивідуальне завдання (**-****) Головне прохання - не перемудріть, старайтеся брати завдання що вам по силах. Якщо не впевнені - питайте консультацію, найпростіший шлях - замахнутись на власний гта і закинути справу через тиждень.

Мережевий варіант будь-якої гри: +2*

Функціональнiсть:

  1. Завершення гри (*) - будь яка гра має колись закінчуватись. Гравець може виграти або програти.
  2. Game Loop (**) - у грі має бути стартовий екран, екран завантаження, можливість вийти з гри в меню, обрати продовжувати гри після закінчення рівня чи вийти.
  3. Базове збереження (*) - погано починати гру кожного разу з початку. Треба зберігати прогресс гравця (його рівень, досягнення, якісь характеристики).
  4. Збереження (***) - Вигадати систему, що буде дозволяти зберігати ігровий прогрес та відновлювати його при старті (наприклад, дограти шахову партію)
  5. Система рівнів (**) - для того щоб грати було цікаво, у грі має бути хоча б декілька різних рівнів (бажано таких, що ускладнюються) та якась система що дозволяє ці рівні додавати
  6. Досягнення (Achievements) (**) - гравці люблять ачівки. “Пройти рівень менше ніж за хвилину”, “Набрати сумарно 1000 очків” тощо.

Додаткові завдання (якщо ви вже знаєте та вмієте робити все попереднє, час рухатись далі):

  1. Інтеграція систем аналітики (GameAnalytics)
  2. Додавання соціальних мереж
  3. Інтеграція рекламних мереж
  4. Інтеграйія BaaS-сервісів (PlayFab)

Курсова робота

Курсова робота за рівнем складності розрахована на студентів 5 курсу, тому в загальному не є необхідною для виконання слухачами, що реєструвались на курс окремо.

Курсовий проект виконується на окрему оцінку, і може бути як продовженням якогось з семестрових проектів, так і окремим завданням. Курсовий можна писати вдвох, тема підбирається окремо, але має містити цікаву алгоритмічну задачу. Наприклад:

  • Генерація підземель або лабіринтів
  • Побудова на льоту 3д-мапи міста за даними open street map
  • Генерація випадкового ландшафту
  • Автопроходження гри за допомогою нейронних мереж
  • Генерація генетичними алгоритмами машин (як бокс2д)
  • Написання ботів для відомих ігор

Для обговорення та затвердження теми дається час до 22 жовтня, всім хто не затвердить тему до цієї дати завдання видам сам, на власний смак :)