
Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.
Багатьох з нас у професію програміста привела любов до ігор і головоломок. Стало звичним: щойно у нас з’являються хоч якісь знання з IT, то ми намагаємося застосувати їх для написання ігор. Слушним є твердження: найкраще знання засвоюються через гру. Ось ми і граємо!
Є ігри, які повинен уміти писати кожен програміст. І це відмінне тренування! Ось декілька ігор, які допоможуть Вам пройти шлях від початківця до зрілого програміста, а може, й майбутнього творця ігрових бестселерів.
Бики і корови
Суть гри. Ваш суперник, комп’ютер або друг, загадує 4-значне число, що складається з цифр, які не повторюються. Ваша задача – вгадати його за обмежену кількість ходів. Підказками виступають “корови” (цифра вгадана, але її позиція – ні) і “бики” (коли збігається і цифра, і її позиція). Якщо загадане число “1234”, а Ви називаєте ” 6531″, то результатом буде 1 корова (цифра “1”) і 1 бик (цифра “3”).
Чим корисна? Створення гри не потребує від Вас глибокого знання мови, а сама мова може бути практично будь-якою. При цьому Вам доведеться відпрацювати дуже багато базових вправ із циклами і операторами, проте на виході вийде дуже цікава гра.
Як ускладнити? Збереження результатів, колове змагання декількох гравців, режим турніру, гра у мережі.
Текстовий квест
Суть гри. Суворих принципів немає, це може бути як лінійний сюжет, що потребує мінімальних дій від гравця, так і повністю інтерактивна гра, де кількість можливих результатів обчислюється десятками. Класичний приклад першого типу – телевізійне шоу “Хто хоче стати мільйонером?“, другого типу – настільна гра Dungeons & Dragons.
Чим корисна? Текстові квести – відмінне тренування для програміста-початківця. У них є все, що треба: прорахунок ймовірності, оперування даними і прогнозування подальших дій. Можна обійтися і без цього, але у будь-якому разі доведеться навчитися працювати з класами, об’єктами і модулями.
Як ускладнити? Імпровізуйте!
Хрестики-нулики
Суть гри. Перед Вами ігрове поле 3×3 клітини. Кожному гравцеві привласнюється своя фігура (хрестик або нулик), після чого вони по черзі заповнюють ними поле. Ви ж зрозуміли!
Чим корисна? Перехід від текстових додатків до графічного інтерфейсу, хоч і на примітивному рівні. З точки зору самого коду, це відмінний спосіб набути досвіду на описі однотипних ситуацій. Однак є і складніші шляхи створення функціонального коду.
Як ускладнити? Збільшення розмірів поля, регулювання складності.
Квачі та Змійка
Суть гри. Квачі – це головоломка, мета якої – за мінімальну кількість ходів упорядкувати кісточки з нанесеними числами від 1 до 15, розташовані на ігровому полі 4×4 з одним вільним осередком. Упорядкування повинно відбуватися переміщенням кісточок на сусідній порожній осередок.
Змійка – гра, в якій ігровий об’єкт (змійка), переміщуючись по ігровому полю у вертикальному і горизонтальному напрямах, збільшує свою довжину після зіткнення з одиничними об’єктами (їжею). Суть гри полягає у необхідності уникати перешкоди, межі ігрового поля, а також власного “хвоста”.
Чим корисна? Перехід на новий рівень у графічній складовій, при цьому алгоритми дій та їх аналіз залишаються відносно простими.
Як ускладнити? Використати маніпуляції з ігровим полем і часом.
Арканоїд (Більярд)
Суть гри. Взаємодія великої кількості об’єктів, кожен з яких має свої унікальні фізичні та інерційні характеристики.
Чим корисна? Якісна робота з графічними об’єктами, яка повинна враховувати точну форму, траєкторію руху, швидкість, масу і т. д. Головна проблема – розрахункове значення рідко буває цілим, на відміну від кількості пікселів, тому необхідно оперувати погрішностями і створювати моделі поведінки, які враховують декілька чинників.
Як ускладнити? Спробуйте зробити арканоїд з класичними бонусами і зміною швидкості польоту кульки. Можна також враховувати взаємодію кульок із покриттям.
Вгадай мелодію
Якщо все, описане вище, для Вас – вже пройдений етап, і хочеться розв’язувати складніші задачі, то спробуйте створити вікторину “Вгадай мелодію”.
Суть гри. Необхідно вгадувати вибрані мелодії, Ви ж пам’ятаєте!
Чим корисна? У процесі навчання Ви ознайомитесь із великою кількістю елементів Windows Forms. Навчіться використовувати декілька форм і відпрацьовуйте важливу навичку передачі даних між ними. Дізнаєтеся, як можна підключити додаткові компоненти і використати реєстр Windows для зберігання налаштувань програми. Вчіться додавати музичне оформлення до своєї програми і підключати геймпад для керування грою. Головне – у Вас з’явиться заготівля для реалізації багатьох інших ідей.
Як ускладнити? Наприклад, використайте як завдання пісні Вадима Казаченка – їх точно ніхто не вгадає.
А саму гру ускладнювати немає жодної необхідності – на роботу з нею у Вас і так піде декілька днів.
І, нарешті, якщо Ви фанат ігор, то чому б не перетворити їх на професію? Ви знаєте, скільки заробляє такий фахівець? Так, із даною професією можна жити граючи і розкошуючи водночас.
Які основні вимоги висуваються до розробника ігор?
Ви готові зіграти по-дорослому? На кону Ваша кар’єра. Робіть ставки, панове!
По-перше, такий фахівець повинен любити ігри. Якщо Ви дочитали статтю до цього місця, то це точно про Вас! По-друге, він повинен досконало володіти С#. І, по-третє, знати Unity. Ось, здається, і всі основні вимоги. Головне – багато практики і пристрасті. Портфоліо з резюме не будуть зайвими. Думаєте, це складна задача? Зовсім ні.
Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?