Зміст
У деяких користувачів, які захоплюються комп'ютерними іграми, іноді виникає думка про створення власного проекту. Однак так просто його не реалізувати, адже однієї ідеї недостатньо. Як мінімум доведеться освоїти спеціальне програмне забезпечення або онлайн-сервіс, але в ідеалі треба буде запастися знаннями мов програмування. В рамках сьогоднішньої статті ми продемонструємо три можливих методу, що дозволяють створити гру, а ви, відштовхуючись від побаченого матеріалу, доглянете підходящий варіант і почнете навчання.
Створюємо власну комп'ютерну гру
Наведені нижче керівництва допоможуть тільки розібратися з принципом створення ігор за допомогою різних інструментів, вони не є універсальними або повноцінними уроками, освоївши які, можна стати професійним розробником. Ми пропонуємо використовувати їх як ознайомлювальний засіб, що наштовхує на подальше навчання геймдеву.
Ще рекомендуємо звернути увагу, що подальша інформація буде орієнтована саме на комп'ютерні ігри. Якщо ж у вас з'явилося бажання робити мобільні проекти, радимо ознайомитися з іншим матеріалом на нашому сайті, клацнувши на вказану далі посилання.
Детальніше: способи створення гри на Android
Спосіб 1: Програми для створення ігор
В першу чергу розглянемо спеціальні програми, які дозволяють створити проект без навичок програмування. Сьогодні ми зупинимося на відомому варіанті. Game Maker-одна з найпростіших і найпопулярніших програм для створення 2D-ігор. Тут доступно створення ігор за допомогою інтерфейсу drag&8217;n&8217;drop або ж використовуючи вбудовану мову GML (з ним-то ми і будемо працювати). Гейм Мейкер-це кращий варіант для тих, хто тільки починає розробляти ігри.
- Переходимо у вкладку &171;New&187; і створюємо новий проект.
- Створимо спрайт. Натисніть правою кнопкою миші на пункті &171;Sprites&187; , а потім &8212; &171;Create Sprite&187; .
- Задаємо йому ім'я, нехай буде player, і натискаємо &171;Edit Sprite&187; . Відкриється вікно, в якому ми зможемо змінити або створити спрайт. Створимо новий спрайт, розмір міняти не будемо.
- Двічі натисніть на новий спрайт. У редакторі з'являється можливість намалювати спрайт. В даний момент ми малюємо гравця, а саме танк. Зберігаємо наш малюнок.
- Щоб зробити анімацію нашого танка, скопіюйте та вставте зображення комбінаціями Ctrl + C і Ctrl + V відповідно і намалюйте йому інше положення гусениць. Дозволяється робити стільки копій, скільки вважаєте за потрібне. Чим більше зображень, тим цікавіше анімація.
- Можете поставити галочку напроти пункту попереднього перегляду. Ви побачите створену анімації і зможете змінити швидкість зміни кадрів. Зберігаємо зображення і центруємо його кнопкою &171;Center&187; . Наш персонаж готовий.
- Таким же чином нам потрібно створити ще три спрайти: ворог, стіна та снаряд. Назвемо їх enemy, wall і bullet.
- Тепер необхідно створити об'єкти. На вкладці &171;Objects&187; натискаємо правою кнопкою миші і вибираємо &171;Create object&187; . Створимо об'єкт для кожного спрайту: ob_player, ob_enemy, ob_wall, ob_bullet.
- Переходимо до складного. Відкриваємо об'єкт ob_player і переходимо у вкладку &171;Control&187; . Створюємо нову подію кнопкою &171;Add Event &187; і вибираємо &171;Create&187; . Правою кнопкою миші тиснемо на пункт &171;Execute Code&187; .
- У вікні, потрібно прописати, які дії буде виконувати наш танк. Наберіть такі рядки:
Hp = 10;
dmg_time = 0;
- Створіть подію &171;Step&187;
і таким же чином пропишіть для нього код:
Image_angle = point_direction (x, y, mouse_x, mouse_y);
if keyboard_check (ord('W')) {y-=3};
if keyboard_check (ord('S')) {y+=3};
if keyboard_check (ord('A')) {x-=3};
if keyboard_check (ord('D')) {x+=3};If keyboard_check_released (ord('W')) {speed = 0;}
if keyboard_check_released (ord('S')) {speed = 0;}
if keyboard_check_released (ord('A')) {speed = 0;}
if keyboard_check_released (ord('D')) {speed = 0;}If mouse_check_button_pressed (mb_left)
{
with instance_create (x, y, ob_bullet) {speed = 30; direction = point_direction (ob_player.x, ob_player.y, mouse_x, mouse_y);}
} - Додайте подію &171;Collision&187;
- зіткнення зі стіною. Код:
X = xprevious;
y = yprevious; - І так само додайте зіткнення з ворогом:
If dmg_time <= 0
{
hp-=1
dmg_time = 5;
}
dmg_time -=1;
- Подія &171;Draw&187;
:
Draw_self();
draw_text(50,10,string(hp)); - Додайте "Step"
-
"End Step"
:
if hp <= 0
{
show_message (&039; гра закінчена&039;)
room_restart();
};
if instance_number (ob_enemy) = 0
{
show_message (&039; Перемога!&039;)
room_restart();
} - Коли закінчите з гравцем, перейдіть до об'єкта ob_enemy. Додайте подію &171;Create&187;
:
R=50;
direction = choose(0,90,180,270);
speed = 2;
hp = 60; - Для руху додайте &171;Step&187;
:
If distance_to_object (ob_player) <=0
{
direction = point_direction(x,y,ob_player.x, ob_player.y)
speed = 2;
}
else
{
if r <= 0
{
direction = choose (0,90,180,270)
speed = 1;
r=50;
}
}
image_angle = direction;
r-=1; - &171;End Step&187; :
If hp <= 0 instance_destroy();
- Створіть подію &171;Destroy&187; , перейдіть у вкладку &171;Drawing&187; і в пункті &171;Other&187; натисніть на значок з вибухом. Тепер при вбивстві ворога буде анімація вибуху.
- Подія &171;зіткнення - зіткнення зі стіною & 187;
:
Direction = - direction;
Подія &171;Collision-зіткнення зі снарядом & 187; :
Hp-=irandom_range(10,25)
- Так як стіна у нас ніяких дій не виконує, переходимо до об'єкта ob_bullet. Додаємо зіткнення &171;зіткнення з ворогом&187;
(ob_enemy):
Instance_destroy();
І &171;зіткнення зі стіною&187; (ob_wall) з точно таким же кодом:
Instance_destroy();
- Нарешті створимо рівень &171;Level 1&187; . Натискаємо правою кнопкою миші &171;Room&187; > &171;Create Room&187; . Перейдемо у вкладку &171;Objects&187; і за допомогою об'єкта «Стіна» намалюємо карту рівня. Потім додамо одного гравця і кілька ворогів. Рівень готовий!
- Зараз нам доступний запуск гри і її тестування. Якщо ви дотримувалися інструкції, багів бути не повинно.
При створенні об'єкта стіна поставте галочку навпроти пункту &171;Solid&187; . Це зробить стіну твердою, і танки не зможуть пройти крізь неї.
Ми розглянули Game Maker тільки в якості самого простого прикладу, проте зараз користувачам доступно безліч найрізноманітніших подібних додатків для створення ігор без знання ЯП. Тому у користувача відкривається широкий вибір відповідного інструменту.
Читайте також: програми для створення ігор
Спосіб 2: Онлайн-сервіси
На просторах інтернету присутня безліч різних онлайн-сервісів, чия функціональність зосереджена на виконанні будь-яких завдань. Серед подібних веб-ресурсів присутні і ті, які допоможуть створити просту гру без навичок програмування. У більшості випадків користувачеві пропонують скористатися вбудованими скриптами і бібліотекою текстур, персонажів, додаткових предметів. Давайте розглянемо приклад створення подібного проекту на прикладі редактора від Gamefroot:
- Перейдіть за посиланням вище, щоб потрапити на офіційний веб-сайт проекту, де натисніть на велику зелену кнопку з написом &171;Start Making&187; .
- По проходженні авторизації буде запропоновано вибрати ігровий жанр. Для ознайомлення ми візьмемо платформер з вбудованим уроком від розробників.
- Після відкриття редактора праворуч з'явиться навігаційна панель з ознайомчими інструкціями по даному додатку. Для початку уроку потрібно клікнути на &171;LET`S GO&187; .
- Далі потрібно буде ознайомитися з кожним кроком, в яких описується процес взаємодії з редактором. Наведені інструкції допоможуть розібратися з основами ігрового будівництва і використанням всіх інструментів.
- Ми не буде зачіпати початкове вікно гри, оскільки воно і так налаштоване коректно за замовчуванням. З цим ви розберетеся в майбутньому, якщо захочете працювати над індивідуальним проектом. Зараз перемістіться у вкладку &171;Game&187; .
- Тут вам потрібно знати про три основні сфери робочого середовища. Зліва знаходяться всі інструменти управління, додавання предметів, блоків і скриптів. Посередині розташовується сам ігровий екран, а нижче показана вся карта. Праворуч відображено невелике вікно з усіма присутніми шарами і функціями управління ними. Воно може вільно переміщатися по всій області вкладки.
- Давайте подивимося, як діє шар головного персонажа. Виберіть рядок &171;Player&187; , після чого навколо чоловічка з'явиться синій прямокутник. Він відповідає за переміщення і трансформацію об'єкта. Тобто ви можете поставити його під будь-яким кутом, змінити розмір або початкове положення на карті.
- Наступний шар &171;GrassTerrain&187; . Сюди винесені всі блоки, по яких пересувається персонаж. Зверніть увагу на доступні блоки зліва. Ви можете виділити їх і помістити в будь-яке місце на ігровій зоні, щоб продовжити карту для переміщення персонажа.
- У цій же панелі трохи нижче знаходиться розділ &171;Collectables&187; , який відповідає за додавання золота та інших предметів колекціонування. На цьому прикладі ми розглянемо створення і доопрацювання нового шару. Спочатку створіть новий рядок у &171;Layers&187; і дайте їй назву. Потім виділіть її і Помістіть необхідну кількість монет на карту.
- Приблизно такі ж дії здійснюються з чекпоінтами, завершальними точками, NPC і іншими ігровими елементами. Бажано кожен тип об'єктів додавати в новий шар, щоб потім не тільки не заплутатися, але і не зробити помилки з присвоєнням скриптів.
- Зараз повернемося до наших монет. Перейдіть до розділу &171;Scripts&187; через саму ліву панель. Де опустіться вниз і натисніть скрипт під назвою &171;Score Collectable&187; . Потім обраним скриптом слід клацнути по кожній монеті. Таким чином, ви забезпечите коректне колекціонування і позначите ті самі елементи.
- У режимі редагування кожного готового скрипта присутня безліч корисних налаштувань, про які йдеться в офіційних уроках. Тут ви можете додати звуки, налаштувати анімацію та інші дії, які будуть виконуватися при досягненні певних умов.
- Однак це ще не все. Присутня функція власноручного будови скриптів, яка запозичена з відомого багатьом софта для дітей, навчального програмування. Тут зліва виділені всі окремі дії. За допомогою них складається єдина таблиця скрипта, що утворює ряд дій, виконуваних після досягнення зазначеної мети, наприклад, підбору монети або попадання в кадр NPC.
- Якщо під час розробки ви захочете протестувати працездатність гри, клікніть на кнопку &171;Play&187; , що розташовується справа вгорі.
- Почнеться запуск програми. Він займає певну кількість часу, що залежить від складності проекту і потужності комп'ютера.
- Далі відобразиться стартове вікно, де потрібно почати гру або перевірити дію, наприклад, кнопки &171;Help&187; .
- Переміщайтеся по карті за допомогою стрілочок або заданих клавіш управління. Обов'язково перевірте дієвість всіх доданих скриптів в різних ситуаціях, щоб в майбутньому не виникло проблем з проходженням У інших гравців.
- Після завершення розробки гри або потреби зробити перерву ви можете зберегти процес або експортувати файл на комп'ютер. Повноцінне завантаження готового проекту доступна тільки після придбання розширеної версії даного онлайн-сервісу.
Як бачите, нічого складного в створенні гри через Gamefroot немає. Від користувача потрібно тільки розібратися зі скриптами, що, мабуть, є найскладнішою частиною цього методу. В іншому ж залишається тільки проявити креативність і використовувати фантазію, щоб отримати по істині хороший і іграбельний продукт без задіяння навичок програмування. До того ж функціональність цього веб-ресурсу дозволяє працювати з багатьма жанрами, а також можна почати роботу повністю з чистого аркуша.
Як вже було сказано раніше, подібних Gamefroot сервісів існує безліч, всі вони працюють приблизно за одним і тим же принципом. Однак у вас навряд чи вийде знайти сайт з російською локалізацією, тому доведеться освоювати англійську мову інтерфейсу.
Спосіб 3: середовище розробки та мова програмування
Ми підійшли до найскладнішого, але водночас цікавого способу &8212; використання мови програмування як інструменту для написання власної гри. Відразу хочемо зазначити, що зараз ми не надамо єдину універсальну інструкцію, яка допоможе розібратися з усіма аспектами, оскільки скласти такий матеріал нереально. Натомість надамо навідні матеріали для тих, хто зацікавлений у навчанні та подальшому розвитку своєї особистості у сфері геймдев.
Для прикладу візьмемо відому мільйонам гру Minecraft. Звичайно, вона досить проста, але в той же час показує, що навіть одна людина може власними силами створити проект з нуля, який стане популярним у всього світового співтовариства. Цей додаток спочатку писалося мовою Java, а працював над ним Маркус Перссон (Notch). З цього виходить, що практично будь-який користувач, почавши вивчення Java, зможе досягти хоча б трохи наближеного результату, написавши свій власний проект. Однак для цього доведеться чимало працювати. Існують спеціальні факультети в університетах, навчальні основам програмування, але не всі хочуть подаватися до вузу, тому звертають більше уваги на платні курси або безкоштовні матеріали, підручники. Всі їх не перерахувати, вкажемо лише один з відомих сервісів для початківців під назвою JavaRush.
Весь курс заснований на практичних заняттях з докладним і зрозумілим поясненням. Перші уроки доступні безкоштовно, щоб користувач зміг зрозуміти, чи варто надалі приділяти увагу подібному навчанню. Орієнтування тут йде на тих користувачів, хто ніколи раніше не стикався з кодингом, а пояснення, ілюстрації та подача матеріалу особливо зацікавить підлітків. Однак є у цього сервісу і мінуси, серед яких дуже сильно виділяється затягнутість уроків і величезна кількість повторів одного і того ж матеріалу, що в майбутньому починає дратувати. Спробуйте ознайомитися і пройти уроки на JavaRush, скориставшись вказаною нижче посиланням.
Перейти до навчання на сайті JavaRush
Прості додатки можна створювати і на тих мовах, які вивчити легше. Наприклад, зараз досить швидко розвивається Python, а на ринку з'являється безліч вакансій для Python-розробників. На скріншоті нижче ви бачите практично повний фрагмент коду, що описує відоме додаток&171; Змійка & 187;.
Тепер подивіться на те, як виглядає ця гра на скріншоті далі. Подібного результату можна досягти вже через два тижні навчання, проте для цього доведеться докласти чимало зусиль.
Що стосується проектів AAA-класу, то Java і тим більше Python значно здають свої позиції перед C і c++. Переважна більшість ігрових движків написані саме на цих яп. Вони розробляються спеціально для великих компаній або запозичуються у незалежних виробників. Додатково до цього у величезних проектах нерідко задіяно відразу кілька мов програмування, що задає потребу програмістам вивчити їх все. З цього виходить, що почати свій рух на шляху розробки великих проектів не так вже й просто. Для цього точно знадобиться записатися на онлайн-курси або вступати до вищого навчального закладу. Якщо ви зацікавилися цією справою, ознайомитеся з одним з найвідоміших курсів по створенню ігор від GeekBrains за вказаною нижче посиланням.
Ознайомитися з курсом навчання з розробки ігор на GeekBrains
Під час вивчення ЯП слід подбати і про середовище розробки, де буде писатися код. Розібратися з цим допоможе наш окремий матеріал далі, де докладно розповідається про найпопулярніших і якісних IDE для різних мов.
Детальніше: вибираємо середовище програмування
Вище ви були ознайомлені з трьома різними методами створення комп'ютерних ігор. Як бачите, всі вони розрізняються за складністю і якості одержуваного продукту. Тому вибір залишається за вами & 8212; зробити простий проект швидко, не використовуючи навичок програмування, або пройти великий і складний курс навчання, отримавши можливість стати професіоналом у цій справі.