Створення власної комп'ютерної гри

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

Створюємо власну комп'ютерну гру

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

Ще рекомендуємо звернути увагу, що подальша інформація буде орієнтована саме на комп'ютерні ігри. Якщо ж у вас з'явилося бажання робити мобільні проекти, радимо ознайомитися з іншим матеріалом на нашому сайті, клацнувши на вказану далі посилання.

Детальніше: способи створення гри на Android

Спосіб 1: Програми для створення ігор

В першу чергу розглянемо спеціальні програми, які дозволяють створити проект без навичок програмування. Сьогодні ми зупинимося на відомому варіанті. Game Maker-одна з найпростіших і найпопулярніших програм для створення 2D-ігор. Тут доступно створення ігор за допомогою інтерфейсу drag&8217;n&8217;drop або ж використовуючи вбудовану мову GML (з ним-то ми і будемо працювати). Гейм Мейкер-це кращий варіант для тих, хто тільки починає розробляти ігри.

Завантажити Game Maker

  1. Переходимо у вкладку &171;New&187; і створюємо новий проект.
  2. Создание нового проекта в программе Game Maker
  3. Створимо спрайт. Натисніть правою кнопкою миші на пункті &171;Sprites&187; , а потім &8212; &171;Create Sprite&187; .
  4. Создание нового спрайта для игры в программе Game Maker
  5. Задаємо йому ім'я, нехай буде player, і натискаємо &171;Edit Sprite&187; . Відкриється вікно, в якому ми зможемо змінити або створити спрайт. Створимо новий спрайт, розмір міняти не будемо.
  6. Редактирование готового спрайта для игры в программе Game Maker
  7. Двічі натисніть на новий спрайт. У редакторі з'являється можливість намалювати спрайт. В даний момент ми малюємо гравця, а саме танк. Зберігаємо наш малюнок.
  8. Создание объекта для игры в программе Game Maker
  9. Щоб зробити анімацію нашого танка, скопіюйте та вставте зображення комбінаціями Ctrl + C і Ctrl + V відповідно і намалюйте йому інше положення гусениць. Дозволяється робити стільки копій, скільки вважаєте за потрібне. Чим більше зображень, тим цікавіше анімація.
  10. Анимация объекта для игры в программе Game Maker
  11. Можете поставити галочку напроти пункту попереднього перегляду. Ви побачите створену анімації і зможете змінити швидкість зміни кадрів. Зберігаємо зображення і центруємо його кнопкою &171;Center&187; . Наш персонаж готовий.
  12. Сохранение танка для игры в программе Game Maker
  13. Таким же чином нам потрібно створити ще три спрайти: ворог, стіна та снаряд. Назвемо їх enemy, wall і bullet.
  14. Создание новых спрайтов для игры в программе Game Maker
  15. Тепер необхідно створити об'єкти. На вкладці &171;Objects&187; натискаємо правою кнопкою миші і вибираємо &171;Create object&187; . Створимо об'єкт для кожного спрайту: ob_player, ob_enemy, ob_wall, ob_bullet.
  16. При створенні об'єкта стіна поставте галочку навпроти пункту &171;Solid&187; . Це зробить стіну твердою, і танки не зможуть пройти крізь неї.

    Переход во вкладку управления объектом в программе Game Maker
  17. Переходимо до складного. Відкриваємо об'єкт ob_player і переходимо у вкладку &171;Control&187; . Створюємо нову подію кнопкою &171;Add Event &187; і вибираємо &171;Create&187; . Правою кнопкою миші тиснемо на пункт &171;Execute Code&187; .
  18. Создание нового контроллера объекта в программе Game Maker
  19. У вікні, потрібно прописати, які дії буде виконувати наш танк. Наберіть такі рядки:

    Hp = 10;
    dmg_time = 0;

  20. Створіть подію &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);}
    }

  21. Создание событий для игры в программе Game Maker
  22. Додайте подію &171;Collision&187; - зіткнення зі стіною. Код:

    X = xprevious;
    y = yprevious;

  23. І так само додайте зіткнення з ворогом:

    If dmg_time <= 0
    {
    hp-=1
    dmg_time = 5;
    }
    dmg_time -=1;

  24. Подія &171;Draw&187; :

    Draw_self();
    draw_text(50,10,string(hp));

  25. Додайте "Step" - "End Step" :
    if hp <= 0
    {
    show_message (&039; гра закінчена&039;)
    room_restart();
    };
    if instance_number (ob_enemy) = 0
    {
    show_message (&039; Перемога!&039;)
    room_restart();
    }
  26. Меню с игровыми событиями в программе Game Maker
  27. Коли закінчите з гравцем, перейдіть до об'єкта ob_enemy. Додайте подію &171;Create&187; :

    R=50;
    direction = choose(0,90,180,270);
    speed = 2;
    hp = 60;

  28. Для руху додайте &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;

  29. &171;End Step&187; :

    If hp <= 0 instance_destroy();

  30. Створіть подію &171;Destroy&187; , перейдіть у вкладку &171;Drawing&187; і в пункті &171;Other&187; натисніть на значок з вибухом. Тепер при вбивстві ворога буде анімація вибуху.
  31. Создание эффекта разрушения в программе Game Maker
  32. Подія &171;зіткнення - зіткнення зі стіною & 187; :

    Direction = - direction;

    Подія &171;Collision-зіткнення зі снарядом & 187; :

    Hp-=irandom_range(10,25)

  33. Создание эффекта столкновения со снарядом в программе Game Maker
  34. Так як стіна у нас ніяких дій не виконує, переходимо до об'єкта ob_bullet. Додаємо зіткнення &171;зіткнення з ворогом&187; (ob_enemy):

    Instance_destroy();

    І &171;зіткнення зі стіною&187; (ob_wall) з точно таким же кодом:

    Instance_destroy();

  35. Эффект столкновения со стеной в программе Game Maker
  36. Нарешті створимо рівень &171;Level 1&187; . Натискаємо правою кнопкою миші &171;Room&187; > &171;Create Room&187; . Перейдемо у вкладку &171;Objects&187; і за допомогою об'єкта «Стіна» намалюємо карту рівня. Потім додамо одного гравця і кілька ворогів. Рівень готовий!
  37. Создание игровой комнаты в программе Game Maker
  38. Зараз нам доступний запуск гри і її тестування. Якщо ви дотримувалися інструкції, багів бути не повинно.
  39. Тестирование готовой игры в программе Game Maker

Ми розглянули Game Maker тільки в якості самого простого прикладу, проте зараз користувачам доступно безліч найрізноманітніших подібних додатків для створення ігор без знання ЯП. Тому у користувача відкривається широкий вибір відповідного інструменту.

Читайте також: програми для створення ігор

Спосіб 2: Онлайн-сервіси

На просторах інтернету присутня безліч різних онлайн-сервісів, чия функціональність зосереджена на виконанні будь-яких завдань. Серед подібних веб-ресурсів присутні і ті, які допоможуть створити просту гру без навичок програмування. У більшості випадків користувачеві пропонують скористатися вбудованими скриптами і бібліотекою текстур, персонажів, додаткових предметів. Давайте розглянемо приклад створення подібного проекту на прикладі редактора від Gamefroot:

Перейти на сайт Gamefroot

  1. Перейдіть за посиланням вище, щоб потрапити на офіційний веб-сайт проекту, де натисніть на велику зелену кнопку з написом &171;Start Making&187; .
  2. Переход к созданию игры на онлайн-сервисе Gamefroot
  3. По проходженні авторизації буде запропоновано вибрати ігровий жанр. Для ознайомлення ми візьмемо платформер з вбудованим уроком від розробників.
  4. Выбор жанра игры для создания на онлайн-сервисе Gamefroot
  5. Після відкриття редактора праворуч з'явиться навігаційна панель з ознайомчими інструкціями по даному додатку. Для початку уроку потрібно клікнути на &171;LET`S GO&187; .
  6. Запуск начального руководства с работой на сайте Gamefroot
  7. Далі потрібно буде ознайомитися з кожним кроком, в яких описується процес взаємодії з редактором. Наведені інструкції допоможуть розібратися з основами ігрового будівництва і використанням всіх інструментів.
  8. Просмотр всех инструкций по работе на сайте Gamefroot
  9. Ми не буде зачіпати початкове вікно гри, оскільки воно і так налаштоване коректно за замовчуванням. З цим ви розберетеся в майбутньому, якщо захочете працювати над індивідуальним проектом. Зараз перемістіться у вкладку &171;Game&187; .
  10. Переход ко вкладке с рабочей средой игры на сайте Gamefroot
  11. Тут вам потрібно знати про три основні сфери робочого середовища. Зліва знаходяться всі інструменти управління, додавання предметів, блоків і скриптів. Посередині розташовується сам ігровий екран, а нижче показана вся карта. Праворуч відображено невелике вікно з усіма присутніми шарами і функціями управління ними. Воно може вільно переміщатися по всій області вкладки.
  12. Основные элементы рабочей среды для создания игры на сайте Gamefroot
  13. Давайте подивимося, як діє шар головного персонажа. Виберіть рядок &171;Player&187; , після чого навколо чоловічка з'явиться синій прямокутник. Він відповідає за переміщення і трансформацію об'єкта. Тобто ви можете поставити його під будь-яким кутом, змінити розмір або початкове положення на карті.
  14. Выбор слоя управления персонажем на сайте Gamefroot
  15. Наступний шар &171;GrassTerrain&187; . Сюди винесені всі блоки, по яких пересувається персонаж. Зверніть увагу на доступні блоки зліва. Ви можете виділити їх і помістити в будь-яке місце на ігровій зоні, щоб продовжити карту для переміщення персонажа.
  16. Выбор слоя управлением объектов игры на сайте Gamefroot
  17. У цій же панелі трохи нижче знаходиться розділ &171;Collectables&187; , який відповідає за додавання золота та інших предметів колекціонування. На цьому прикладі ми розглянемо створення і доопрацювання нового шару. Спочатку створіть новий рядок у &171;Layers&187; і дайте їй назву. Потім виділіть її і Помістіть необхідну кількість монет на карту.
  18. Добавление монеток для коллекционирования на сайте Gamefroot
  19. Приблизно такі ж дії здійснюються з чекпоінтами, завершальними точками, NPC і іншими ігровими елементами. Бажано кожен тип об'єктів додавати в новий шар, щоб потім не тільки не заплутатися, але і не зробити помилки з присвоєнням скриптів.
  20. Список остальных возможных объектов на сайте Gamefroot
  21. Зараз повернемося до наших монет. Перейдіть до розділу &171;Scripts&187; через саму ліву панель. Де опустіться вниз і натисніть скрипт під назвою &171;Score Collectable&187; . Потім обраним скриптом слід клацнути по кожній монеті. Таким чином, ви забезпечите коректне колекціонування і позначите ті самі елементи.
  22. Присвоение скрипта объекту на сайте Gamefroot
  23. У режимі редагування кожного готового скрипта присутня безліч корисних налаштувань, про які йдеться в офіційних уроках. Тут ви можете додати звуки, налаштувати анімацію та інші дії, які будуть виконуватися при досягненні певних умов.
  24. Настройка готового скрипта на сайте Gamefroot
  25. Однак це ще не все. Присутня функція власноручного будови скриптів, яка запозичена з відомого багатьом софта для дітей, навчального програмування. Тут зліва виділені всі окремі дії. За допомогою них складається єдина таблиця скрипта, що утворює ряд дій, виконуваних після досягнення зазначеної мети, наприклад, підбору монети або попадання в кадр NPC.
  26. Создание собственного скрипта для игры на сайте Gamefroot
  27. Якщо під час розробки ви захочете протестувати працездатність гри, клікніть на кнопку &171;Play&187; , що розташовується справа вгорі.
  28. Запуск игры для тестирования на сайте Gamefroot
  29. Почнеться запуск програми. Він займає певну кількість часу, що залежить від складності проекту і потужності комп'ютера.
  30. Загрузка игры для тестирования на сайте Gamefroot
  31. Далі відобразиться стартове вікно, де потрібно почати гру або перевірити дію, наприклад, кнопки &171;Help&187; .
  32. Запуск игрового процесса во время тестирования игры на сайте Gamefroot
  33. Переміщайтеся по карті за допомогою стрілочок або заданих клавіш управління. Обов'язково перевірте дієвість всіх доданих скриптів в різних ситуаціях, щоб в майбутньому не виникло проблем з проходженням У інших гравців.
  34. Тестирование игры на сайте Gamefroot
  35. Після завершення розробки гри або потреби зробити перерву ви можете зберегти процес або експортувати файл на комп'ютер. Повноцінне завантаження готового проекту доступна тільки після придбання розширеної версії даного онлайн-сервісу.
  36. Переход к сохранению проекта на сайте Gamefroot

Як бачите, нічого складного в створенні гри через Gamefroot немає. Від користувача потрібно тільки розібратися зі скриптами, що, мабуть, є найскладнішою частиною цього методу. В іншому ж залишається тільки проявити креативність і використовувати фантазію, щоб отримати по істині хороший і іграбельний продукт без задіяння навичок програмування. До того ж функціональність цього веб-ресурсу дозволяє працювати з багатьма жанрами, а також можна почати роботу повністю з чистого аркуша.

Як вже було сказано раніше, подібних Gamefroot сервісів існує безліч, всі вони працюють приблизно за одним і тим же принципом. Однак у вас навряд чи вийде знайти сайт з російською локалізацією, тому доведеться освоювати англійську мову інтерфейсу.

Спосіб 3: середовище розробки та мова програмування

Ми підійшли до найскладнішого, але водночас цікавого способу &8212; використання мови програмування як інструменту для написання власної гри. Відразу хочемо зазначити, що зараз ми не надамо єдину універсальну інструкцію, яка допоможе розібратися з усіма аспектами, оскільки скласти такий матеріал нереально. Натомість надамо навідні матеріали для тих, хто зацікавлений у навчанні та подальшому розвитку своєї особистості у сфері геймдев.

Для прикладу візьмемо відому мільйонам гру Minecraft. Звичайно, вона досить проста, але в той же час показує, що навіть одна людина може власними силами створити проект з нуля, який стане популярним у всього світового співтовариства. Цей додаток спочатку писалося мовою Java, а працював над ним Маркус Перссон (Notch). З цього виходить, що практично будь-який користувач, почавши вивчення Java, зможе досягти хоча б трохи наближеного результату, написавши свій власний проект. Однак для цього доведеться чимало працювати. Існують спеціальні факультети в університетах, навчальні основам програмування, але не всі хочуть подаватися до вузу, тому звертають більше уваги на платні курси або безкоштовні матеріали, підручники. Всі їх не перерахувати, вкажемо лише один з відомих сервісів для початківців під назвою JavaRush.

Обучение азам программирования на сайте JavaRush

Весь курс заснований на практичних заняттях з докладним і зрозумілим поясненням. Перші уроки доступні безкоштовно, щоб користувач зміг зрозуміти, чи варто надалі приділяти увагу подібному навчанню. Орієнтування тут йде на тих користувачів, хто ніколи раніше не стикався з кодингом, а пояснення, ілюстрації та подача матеріалу особливо зацікавить підлітків. Однак є у цього сервісу і мінуси, серед яких дуже сильно виділяється затягнутість уроків і величезна кількість повторів одного і того ж матеріалу, що в майбутньому починає дратувати. Спробуйте ознайомитися і пройти уроки на JavaRush, скориставшись вказаною нижче посиланням.

Перейти до навчання на сайті JavaRush

Прості додатки можна створювати і на тих мовах, які вивчити легше. Наприклад, зараз досить швидко розвивається Python, а на ринку з'являється безліч вакансій для Python-розробників. На скріншоті нижче ви бачите практично повний фрагмент коду, що описує відоме додаток&171; Змійка & 187;.

Внешний вид исходного кода игры Змейка на языке Python

Тепер подивіться на те, як виглядає ця гра на скріншоті далі. Подібного результату можна досягти вже через два тижні навчання, проте для цього доведеться докласти чимало зусиль.

Простая игра Змейка, написанная на языке программирования Python

Що стосується проектів AAA-класу, то Java і тим більше Python значно здають свої позиції перед C і c++. Переважна більшість ігрових движків написані саме на цих яп. Вони розробляються спеціально для великих компаній або запозичуються у незалежних виробників. Додатково до цього у величезних проектах нерідко задіяно відразу кілька мов програмування, що задає потребу програмістам вивчити їх все. З цього виходить, що почати свій рух на шляху розробки великих проектів не так вже й просто. Для цього точно знадобиться записатися на онлайн-курси або вступати до вищого навчального закладу. Якщо ви зацікавилися цією справою, ознайомитеся з одним з найвідоміших курсів по створенню ігор від GeekBrains за вказаною нижче посиланням.

Ознайомитися з курсом навчання з розробки ігор на GeekBrains

Під час вивчення ЯП слід подбати і про середовище розробки, де буде писатися код. Розібратися з цим допоможе наш окремий матеріал далі, де докладно розповідається про найпопулярніших і якісних IDE для різних мов.

Детальніше: вибираємо середовище програмування

Вище ви були ознайомлені з трьома різними методами створення комп'ютерних ігор. Як бачите, всі вони розрізняються за складністю і якості одержуваного продукту. Тому вибір залишається за вами & 8212; зробити простий проект швидко, не використовуючи навичок програмування, або пройти великий і складний курс навчання, отримавши можливість стати професіоналом у цій справі.

більше статей на цю тему: