Що потрібне для створення гри на комп'ютер. Вибираємо програму для створення гри

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


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

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

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

Створення гри

Спочатку необхідно вибрати жанр, у якому створюватиметься гра. Основна ідея – важлива складова кожної гри. Найпоширеніші ігри ґрунтуються на жанрі в стилі шутер від першої особи. Також велику популярність мають гонки. Щоб дізнатися популярність тієї чи іншої гри, достатньо порахувати їхню кількість у певній категорії.

Ігри в стилі action та шутер – це стрілялка, в якій необхідно вбити всіх ворогів. Також особливою популярністю користуються стратегії та RTS. Крім цього, існує ще безліч жанрів, які теж мають право на життя.

Після вибору жанру необхідно розпочинати створення сценарію. Це дуже важлива складова під час створення гри. У сценарій повинен мати зав'язку, головного героя, ворогів чи суперників, кінцівку. Також варто попрацювати над інтерфейсом та графікою гри.

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

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

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

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

У цьому посібнику докладно розуміється як створити гру: опрацювати ідею, вибрати інструментарій та організувати процес розробки так, щоб він протікав легко і привів до результату.

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

Занадто багато людей, прагнучи зробити свою першу гру, з головою занурювалися в двигун і закидали ідею, тому що це «занадто складно», «я втомився», «я не бачу прогресу». Насправді це просто набір дурних виправдань, які з'являються через «збитий приціл», тобто бажання відразу робити ігри великого калібру, на кшталт Відьмака або Final Fantasy.

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

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

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

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

Ваша гра має відображати ваші навички. Все потрібно робити послідовно: з'явилася ідея - перевіряєте можливість її реалізації - якщо можливості немає, намагаєтеся навчитися - отримавши навичку, реалізовуєте ідею. І так треба робити щоразу. Згодом, загляньте в Asset Store, можливо там вже є фрагмент, над яким ви горбатитеся кілька діб.

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

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

Яку гру зробити?

Швидше за все в людини, яка цікавиться «Як зробити гру самому?» вже є ідея. Найчастіше це якась модифікація однієї з ігор, яку він грав. Може бути, вашій улюбленій грі чогось не дістає і ви вирішили це додати (задумайтеся чи є у вашої гри можливості для моддингу: вбудований редактор або MOD-tool).

Наприклад, жанр MOBA-ігор був створений у редакторі WarCraft 3 (популярна нині Dota з'явилася саме завдяки широким можливостям редактора).

У будь-якому випадку, початковою точкою буде ідея. Саме з неї і слід розпочати.

Ідея

Але про всяк випадок, якщо ви роздумуєте "Яку гру зробити?" - стаття допоможе вам з пошуком ідеї.

Геймплейна складова ідеї вашої гри визначить жанр ігри та платформу.

Жанр та платформа майбутньої гри

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

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

Концепт

Після того, як у вас з'явилися якісь думки - сядьте та опишіть концепцію гри. Спочатку це можуть бути лише тези, які потім перетворяться на логічно викладені думки. Якщо ж зробити це не вдалося - перегляньте свою ідею і позбавтеся протиріч.

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

Тепер до особливостей гри. Швидше за все, маса експериментаторів вже пробували себе у вашому жанрі, але все одно потрібно придумати щось своє, інакше інтерес до проекту не буде. Ось невеликий приклад:

приклад

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

План розробки


Чіткий план розробки – надійна основа вашого проекту та надійна основа вашого зростання як розробника ігор

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

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

  1. Ваш план має бути розрахований на місяць, не більше. Тож довіртеся своїй інтуїції та почніть із простого. Краще закінчити раніше, ніж не вкластися у строки.
  2. Як тільки ви зрозуміли, що даний продукт не може вас навчити, ставте його на полицю і забувайте. Ви зможете перевірити свої навички, розпочавши аналогічний проект із чистого аркуша.
  3. Навіть найкращі розробники прагнуть стати ще крутішими, так що кожна нова гра повинна починатися з думки «Я зроблю краще, ніж минулого разу».
  4. Не ігноруйте планування. У розробці будь-якого проекту трапляються невеликі «форс-мажори» і передбачити їх практично неможливо, тому простіше банально врахувати витрати часу на їхнє усунення в розкладі. Чи запланували 8 годин? Сміливо перетворюйте їх на 12.
  5. Дизайн - одна з останніх речей про які варто думати початківцю розробнику ігор. Ваше завдання - "обростати навичками", так що краще витратите вихідні на впровадження кількох нових механік (незнайомих вам раніше), ніж на малювання.
  6. Розбийте свій план на кілька фрагментів. Досягнення цих «контрольних точок» непогано підвищує мотивацію. Якщо ви не встигаєте виконувати тижневі вимоги, спростіть загальний план.
  7. Не ставте собі надто абстрактних завдань. Замість «Пропрацювати персонажа», вписуйте «впровадити нові механіки стрілянини» або «змінити зовнішній вигляд під час удару» — чітких цілей досягти набагато простіше.
  8. Надсилайте собі листи не електронної пошти кожного понеділка. Вони повинні містити всі дії, здійснені за минулий тиждень. Порівнявши всі листи за місяць, ви зможете побачити прогрес.
  9. Витрачайте як мінімум годину на тиждень на те, щоб грати у свій продукт. Зрештою, ніхто краще за вас не зробить ВАШУ гри.
  10. Провівши два тижні без роботи над проектом, ви будете розгублені та втратите нитку, що змусить почати все спочатку. Саме на цьому моменті більшість людей опускають руки та закидають ідею створення власної гри.
  11. Вбивати час на звук і створення атмосфери у своїй першій же грі – неймовірно безглуздо. Головне: розробити геймплей, адже існують шедеври, що складаються зі звичайних пікселів, що рухаються.
  12. Якщо ви робите щось більше години, і у вас все одно не виходить – зверніться по допомогу. Навіщо тиждень тупцювати на місці через те, що ви посоромилися створити тему на форумі?
  13. Давайте іншим скуштувати вашу гру. Так, відразу ж поллється критика, але не варто звертати на неї уваги. Навіть проекти провідних студій часто поливають брудом, але ж це не заважає їм продовжувати робити шедеври, вірно?
  14. Ви не маєте безмежних ресурсів - тому потрібно ставити перед собою реальні, досяжні цілі.
  15. Як тільки ви відполірували свою першу гру, одразу ж знайдіть кілька нових ідей та беріться за свіжий проект. Не забувайте використовувати те, чого ви навчилися раніше.
  16. Ознайомтеся з .

Переходимо до створення змісту. Як це не дивно, сюжет тут практично повністю ігнорується. Головне – прописати всі аспекти ігрової механіки та пояснити принцип їхньої роботи. В основному саме зміст лежить в основі керівництва до гри.

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

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

Вибір інструментарію розробки



Двигун – серце вашої гри, підійдіть до вибору відповідально, ознайомтеся зі статтею

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

Якщо давати дуже широку класифікацію, то двигуни можна розділити на два види: для двовимірних проектів (GameMaker: Studio, RPG Maker XV) і для тривимірних ігор (Unity, Unreal Development Kit та Source)

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

Прототип

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

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

Ця фаза – шліфування дизайну вашого геймплею. Фаза пошуку та проб різних варіантів.

Графіка та звук

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

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

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

Blender – простий та безкоштовний редактор для створення тривимірних моделей.
Photoshop незамінний для обробки двовимірних зображень, а також добре справляється з текстурами.
net дозволяє швидко створити піксель-арт.
Звуки нарівні з графікою створюють відчуття атмосферності у вашій грі. До ваших послуг величезний набір готових бібліотек звуків для безкоштовних програм, а мелодії, що бракують, можна записати і вдома, головне - обзавестися мікрофоном.

Доопрацювання

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

Фаза тестування

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

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

Якщо ж багів безліч, спочатку виправляйте найбільш масштабні. Тому починайте їх пошук якнайшвидше – так буде більше часу на внесення правок. Крім того, запропонуйте пограти друзями та знайомим. Погляд з боку дозволить помітити безліч нюансів, про які ви самі ніколи не здогадалися б. До того ж, це абсолютно безкоштовно.

Реліз

Організуйте промо-кампанію: підігрівайте інтерес у соціальних мережах, замовте огляди ігровим блогерам, не забудьте і про сайт із форумом, адже шанувальникам потрібно буде десь збиратися!
Виберіть платформу, щоб розповсюдити. Навряд чи ви захочете відразу вкладатися в хостинги або виділені сервери, тому зверніть увагу на популярні майданчики на кшталт Steam, GOG, Humble, Play Market та подібні до них. Пам'ятайте, що власники стягують певний відсоток вартості, тому це питання вимагає детального вивчення.
Не забувайте про підтримку гри навіть після релізу. Продовжуйте фіксувати баги, випускати додатковий контент або відразу приступайте до сіквела!

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

Багато хто може у вас не вірити. Чого вже там: напевно, буде пара вечорів, коли ви хотітимете все закинути, але не варто опускати руки. Пам'ятайте: справді хороший продукт вимагає багато часу, коштів і ваших нервів.

P.S.

Якщо у вас виникли якісь запитання чи потрібна допомога — пишіть у розділ форуму, мені надходять повідомлення — я завжди відповім і допоможу чим зможу.

Зрозуміло, сучасні великі ігрові проекти на кшталт WoW чи StarCraft - це результат багаторічної праці досвідчених програмістів, що потребує ще й вагомих фінансових вкладень. Щоб взятися за такий проект, потрібно як мінімум мати диплом, певний досвід та організаторські таланти. Однак складність проекту – не завжди міра його успіху та не гарантія інтересу гравців. А спробувати свої сили у створенні ігор, нехай менш складних технічно, зате здатних викликати інтерес і користувачів, і, можливо, великих компаній-виробників ігор, може кожен. І тому навіть необов'язково володіти знаннями мов програмування.

По-перше, більшість сучасних ігор оснащені інструментами, що дозволяють змінювати ігровий світ до: малювати нові та лабіринти, трансформувати вигляд персонажів та ігрових об'єктів, навіть конструювати нові місії та завдання. Це дозволяє на базі того ж StarCraft або 3D-шутера комп'ютерну гру власної розробки, в якій буде надзвичайно складно оригінальну гру. Існують ігрові двигуни, спеціально призначені для створення ігор.

3D Game Maker - один з найбільш популярних движків, що дозволяють створити власну тривимірну гру. Завдяки незвичайній простоті інтерфейсу, повноцінна тривимірна гра з його допомогою може бути створена лише за 10 хвилин. Вибираємо жанр створюваної гри, визначаємо кількість необхідних рівнів (система дозволяє сконструювати до 20 різних рівнів), серед готових моделей підбираємо головного персонажа. Гра вже можна запустити і випробувати, хоча робота над нею, звичайно ж, тільки розпочата. Адже гра поки що позбавлена ​​найголовнішого, того, що утримує увагу та інтерес користувача – сюжету. Тому необхідно також підібрати супротивників, продумати інші необхідні деталі. Вартість цієї розробки ігор складає $35 – цілком посильна творців ігор сума.

3D Game Studio - найпотужніший інструмент створення як 3D-, так і 2D ігор, а програмування як такого при цьому практично не потрібно. Набір різноманітних шаблонних ситуацій, прикладів та ефектів дає конструктору гри досить широку палітру інструментів для втілення своїх фантазій. Природні ефекти, дзеркальні поверхні, тіні, прозорі поверхні - всі ці атрибути можна повною мірою використовувати для розробки ігрових інтер'єрів. Готові елементи ігрового інтерфейсу також надаються розробнику, що дозволяє стильно та зручно оформити спілкування користувача з грою. Професійна цього двигуна обійдеться в $900, проте версія для початківців набагато дешевше - лише $70.

Якщо тривимірні світи вас не приваблюють, зверніть увагу на Game Maker - ця дає неосяжний простір для фантазії, дозволяючи створити комп'ютерну гру у форматі 2D. Вибираємо об'єкти, продумуємо їхню взаємодію. Зображення можна намалювати в будь-якому графічному редакторі та імпортувати до системи. Гру можна забезпечити звуковими ефектами та сигналами. Інтерфейс гранично простий і логічний, ідеально підходить для початківців.

Програма варта створення двовимірних ігор без використання мов програмування. Замість рядків коду підставляються вже готові дії ігрових персонажів. Користувачеві залишається лише створювати ігрові об'єкти, постачати їх двовимірними спрайтами або анімацією, створювати правила взаємодії між об'єктами, розставляти об'єкти на рівнях. Малювати графіку та анімацію можна прямо у «Game Maker», не використовуючи сторонніх програм.

У цій програмі чудово виходять ігри з видом зверху, і платформери з видом збоку.

"Game Maker" буде цікава і просунутим програмістам, можливість додавати свій програмний код тут також є.

Безкоштовний варіант програми нічим не обмежує звичайних користувачів порівняно з платною версією «Game Maker Pro». Платна версія відкриває доступ до складних програмних модулів, цікавих лише справжнім професійним програмістам.


Дуже простий конструктор 2D ігор. Знання мов програмування необов'язково.

На відміну від Game Maker, в Construct 2 можна створювати ігри для iOS, Android, Facebook, Chrome Web Store, Desktop Windows, Windows 8 Apps, Web (HTML5), Kongregate і для багатьох інших платформ.

Це якісніша програма, але й жадібніша до грошей. Безкоштовна програма до того моменту, поки ви не захочете продавати свою гру. У цьому випадку потрібно буде придбати ліцензійну версію. Також на сайті розробників є спеціальний магазин, де ви можете купувати будівельні ресурси для своєї гри: набори звуків, музику, докладні інструкції.

Радимо Навчальний курс TDS від А до Я (створення гри в жанрі "Шутер з видом зверху").


Програми для створення 3D ігор (Сайт сайт)

"3D Rad" найдешевший варіант серед ігрових 3D движків. Програму можна використовувати взагалі безкоштовно, а заплативши 5$ Ви отримуєте найсвіжіші оновлення в день їхнього виходу (у безкоштовній версії оновлення з'являються лише через три місяці). Найчастіше цей двигун використовується для створення гоночних ігор.

Програма має простий і зрозумілий інтерфейс, не обтяжений дрібницями.

«3D Rad» підтримує встановлення окремих плагінів, має встановлені ІІ моделі, карти тіней та текстур. Існує можливість створення онлайн-ігор.


NeoAxis Game Engine SDK

Відмінний ігровий двигун з простим інтерфесом та якісною графікою. Спроектований для створення ігор практично у будь-яких жанрах.

Створено на основі двигуна Ogre3D. Як мову програмування використовується C# і C++ і платформа.NET, але можна обходитися без програмування завдяки спеціальним бібліотекам готових дій. Для двигуна є різні доповнення та розширення, розроблені сторонніми користувачами. Є можливість експорту для 3dsMax та Maya, Autodesk Softimage та Blender. Підтримуються шейдери, освітлення та тіні PSSM (Parallel-Split Shadow Map).

NeoAxis Engine поширюється на 4 типи ліцензії: Некомерційна – безкоштовно для некомерційних проектів; Інді-ліцезія - 95/295 $ (один / команда); Комерційна - 395/995 $ (один / команда); Ліцензія на вихідні - від 9,800 $.

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


Комплексний інструмент, що містить все, що може знадобитися для створення гри. У пакет Unity 3D входить графічний движок, що повністю використовує можливості DirectX і OpenGL, вбудований редактор 3D моделей, окремі програми для створення та обробки шейдерів, тіней, ландшафтів, фізики та звуків, а також багаті бібліотеки скриптів. З «Unity 3D» можна взагалі забути про сторонні програми, або звести їх використання до мінімуму.

Unity 3D підходить для створення ігор будь-якого жанру. Як платформи підтримуються звичайні комп'ютери (Windows XP/Vista/7, OSX), мобільні пристрої (Android, iOS, Blackberry), ігрові консолі (Wii, Playstation 3, Xbox), інтернет браузери (Flash, Web Player).

Є особлива система спільної розробки – Asset Server, що дозволяє розробляти гру у складі цілої команди прямо через інтернет.

Єдиний мінус - для використання Unity 3D потрібно знати комп'ютерне програмування хоча б на середньому рівні. Незважаючи на багату бібліотеку готових практичних програмних рішень та потужний скриптовий двигун з моментальною компіляцією, частину коду доведеться прописувати самостійно на JavaScript або C#.


Unreal Development Kit (UDK)

Один з найпопулярніших ігрових двигунів у професійному середовищі ігрових розробників. На "Unreal Engine" створені такі ігри, як: серія "Unreal Tournament", серія "Mass Effect", "XCOM", "Borderlands 2", "DmC: Devil May Cry" і ще десятки і сотні дрібніших ігор.

"UDK" підтримує такі платформи: PC, Xbox 360, PlayStation 3, Wii, Android.

Цей двигун спочатку заточений під створення 3D-шутерів, але є можливості для створення ігор суміжних жанрів: слешерів, пригод, ММО-ігор.

Ігровий двигун добре створює анімації особи, складну архітектуру будівель, обробляє складні фізичні об'єкти. У складі UDK є всі необхідні інструменти для створення анімацій, текстур, звуків, рівнів, моделей, програмних скриптів. Є вбудована бібліотека, що містить понад 1000 споруд, інших 3D моделей, стандартних текстур та звуків. Є можливість програмування спеціальною мовою «Unreal Script» (створений на основі C++).

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


CryENGINE 3 Free SDK

"CryENGINE 3" - це вершина сучасних ігрових движків, що забезпечує фотореалістичну графіку з підтримкою DirectX 11 і шейдерів третього покоління. Третя версія движка створена у 2009 році. На цьому движку створені серії ігор Far Cry і Crysis, онлайн гра Aion, а також десятки менш відомих комп'ютерних ігор.

Компанія «Crytek» вирішила безкоштовно розповсюджувати цей, і так популярний, ігровий двигун. Але безкоштовність діє рівно до того моменту, поки Ви не захочете офіційно випустити гру, створену на цьому двигуні. Ліцензійна версія коштує дорожче за всі аналогічні програми, але вона коштує цих грошей.

На CryENGINE 3 можна створювати ігри для платформ: PC, PlayStation 3 і Xbox 360.

Імпортувати текстури можна з графічних програм «3ds max», «Maya» і з попередніх версій движка.

Двигун «CryENGINE 3» виявився дуже популярним, у нього з'явилося ціле російськомовне співтовариство, завдяки цьому Ви легко зможете знайти всілякі навчальні матеріали, а також відповіді на конкретні питання.


Як розробити RPG гру за тиждень з нуля і без бюджету. Частина І.

RPG за тиждень? З нуля? Це взагалі можливе?
Я ризикнув, і я зробив це.

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

Tom Bampton, автор щомісячних оглядів ігор у номінації «Гра на день» (www.gameinaday.com), сказав: "Дерзай!" Потім він додав додаткову умову - я маю зробити це, не використовуючи існуючі ігрові движки. Мені можна використовувати лише основні бібліотеки/API.

Спершу я відмовився від цієї ідеї. У мене не було зайвого часу, щоб на тиждень усунутий від розробки поточного ігрового проекту на роботі. Але потім я подумав: та чорт із ним, бо що таке тиждень? У типовій компанії, наприклад Е.А., робочий тиждень становить 40 годин. То чому б не зробити гру не за календарний тиждень, а за 40 чистих годинників? Це вже реальніше, але я не хотів створювати черговий тетріс або арканоїд. А як щодо рольової гри – одного з найскладніших ігрових жанрів? Це можливо?

Я знав, що це буде дуже важко. Але я прийняв виклик.

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

Так от як я створив гру протягом одного тижня з нуля, і без бюджету. Якщо вам ліньки читати, і ви хочете якнайшвидше заглянути в кінець оповіді, щоб дізнатися, як виглядає кінцевий продукт, подивитися всі його баги, ви можете завантажити версію гри для Windows тут: http://www.rampantgames.com/hackenslash.html

ПЛАНУВАННЯ
Ціль
Створити олдскульну RPG у стилі старих ігор початку 80-х, з виглядом "згори вниз", наприклад The ​​Temple of Apshai, Ultima III, і Telengard. Гравець рухатиметься через кімнати у типовому підземеллі, борючись із різними монстрами за допомогою «меча та магії». Поступово він удосконалюватиме свої можливості отримуючи досвід, підвищуючи рівень, набуваючи магічного спорядження.

Однак, гра складатиметься не тільки з самого ведення бойових дій. Гравець також матиме можливість прокрастися повз монстрів, або вступити з ними в переговори. Будуть замкнені двері та скрині, та унікальні особливості підземелля, що мають несподівані ефекти. У грі не буде довгих описів або діалогів - в основному це буде типовий hack & slash. Ви рухатиметеся по дорозі, поки не станете досить сильним, щоб зустрітися віч-на-віч з фінальним босом, виконати квест, і благополучно повернутися додому (у вашу стартову кімнату).

Правила розробки

Правило № 1: Час розробки обмежений одним тижнем (що включає 40 годин)
На розробку гри має бути витрачено не більше 40 годин. Вони включатимуть час, витрачений на безпосередню роботу над грою та її обмірковування. Перерви в розробці більше десяти хвилин не враховуватимуться. Це буде "ідеальний" робочий тиждень із 40 високопродуктивних годин.

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

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

Правило № 3: Немає двигунів, тільки стандартні бібліотеки / API
Гра має бути створена "з нуля" без використання існуючих ігрових двигунів. Ніякого обману, створення гри чи якихось її частин за допомогою конструкторів ігор або використання подібного програмного забезпечення.

Інструменти
Код:

Python 2,3 (http://www.python.org/)
PythonWin
PyGame (http://www.pygame.org/)
Py2exe – щоб зібрати що вийде у виконуваний файл для поширення. (http://starship.python.net/crew/theller/py2exe/)

Gimp 2,0 (http://gimp-win.sourceforge.net/)
MS Paint (те що йде з Windows) - для вставки скріншотів, захоплених клавішею PrintScreen (GIMP чомусь відмовився це робити)
Безкоштовні текстури були взяті (http://www.textureartist.net/textures/index.htm) та (http://www.mayang.com/textures/)

Audacity (http://audacity.sourceforge.net/) плюс мій мікрофон або безкоштовний.

Розклад (План) робіт
Розклади складають, щоб їх потім порушувати, але все ж таки вони потрібні, щоб контролювати прогрес і рядки, і вносити корективи в міру необхідності.

Година 1-10: Базова архітектура
Проектування двигуна та основних компонентів. Отримати відображення світу на екрані. Я маю реалізувати можливість переміщати тестового гравця по всьому світу, і дивитися на речі, а потім перетворити те, що вийде, на ігровий редактор.

Година 11-20: Можливості гравця
Реалізація всіх основних можливостей для гравця – переміщення, атака, відкриття дверей, смерть, підбір речей та використання інвентарю. Створити каркас представлення всіх об'єктів у навколишньому середовищі для тестування можливостей гравця у взаємодії зі світом.

Година 21-30: Пожвавлення світу
Додати штучний інтелект, ігрові події, пастки, спецефекти. До кінця цього періоду я повинен мати досить повне техно-демо, що включає всі основні особливості гри.

Час 31-40: Додавання контенту та правил
Отримати з техно-демки повноцінну гру. Додати весь додатковий вміст. Домогтися завершеності та балансу ігрової механіки. Відшліфувати все, на що вистачить часу, додати спецефекти, анімацію тощо.

Після 40 годин: Тестування та реліз гри
Протестувати, та усунути знайдені помилки (не додаючи нові можливості!) Зібрати все до купи, та викласти в інтернеті. Завершити документацію.

Щоденник розробника Hackenslash: Гра за тиждень

Година 1 – Дике проектування та базові класи
Ця година була проведена за створенням деяких базових класів для гри - та використання їх у подальшому проектуванні. Світ буде представлений як послідовність кімнат, з'єднаних порталом. Все у світі базується на кімнатах, подібно до того, як це було в старих адвенчурах або MUDах. Більшість об'єктів у грі представлені як "GameObject", який має позицію та вміст (у тому числі може містити й інші об'єкти - карта може містити кімнати, в кімнаті може бути скриня, у скрині - меч... і, я думаю, меч може утримувати кілька кімнат, але ми так робити не будемо.)

Я створюю об'єкти creature (істота) та player (Гравець)
Я генерую набір атрибутів для істот і впроваджую їх у клас. Очевидно я задрот, який грає занадто багато в РПГ гри. Я поки що не знаю точно, як виглядатиме і працюватиме ігрова механіка.
Я роблю об'єкт room (кімната), успадкований від GameObject. У кімнати є ширина, висота, і стіни - і зараз більше нічого.

Поступово я починаю розуміти, як усе працюватиме, і вношу необхідні виправлення. Я навіть не намагаюся використовувати PyGame на цьому етапі, і програма не показує нічого, крім консолі. Але я відчуваю, що все, що зроблено - великий прогрес!

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

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

Година 3 - Якби стіни мали вуха, я б їх сильно лаяв.
Мета цієї години – позначити контури кімнати стінами, і відобразити це на чорному екрані. Щоб це зробити, мені потрібна кімната, і мені потрібна графіка. Доводиться багато сидіти над GIMPом, правлячи завантажені з інтернету текстури, так щоб вони перетворилися на відповідні тайли. Я створюю клас менеджера текстур. І я заповнюю структуру зразка кімнати. Я також витратив трохи більше часу, переглядаючи документацію PyGame, щоб знайти щось ще, що можна використовувати, щоб зробити роботу легше.

Година минула. А в мене все той самий чорний екран. Стін як не було, так і ні.

Години 4 – У готелі з'явився вільний номер
Після боротьби з деякими синтаксичними помилками, я нарешті зміг домогтися появи стін на екрані. Щоправда, вони відображаються неправильно, знаходяться не в зазначеному місці, та ще й зі щілинами між сегментами. Це жахливо. Але трохи налаштування та редагування, і я отримав на екрані щось схоже на кімнату, розміром 10 на 10 квадратів.

Не маючи докладного плану проекту, справді досить легко заплутатися, коли виконавши певну роботу Ви ставите питанням "Що далі?" Я вирішив, що якщо малюнок однієї кімнати добре, то намалювати дві – подвійно краще.

Для зберігання створених кімнат створив файл "minidungeon".
Я почати додавати логіку порталів "portals" - отворів у стінах, для переходу в інші кімнати (і надають всю інформацію про усунення, необхідну для правильного відображення суміжних кімнат).

Година 5 - Hackenslash отримує більше кімнат

Я змінив назву вікна на Hackenslash!. Просто тому, що це круто.
Я створив карту об'єктів для зберігання кімнат, і клас MapMaster містить кілька карток.
Я додав другу кімнату та підключив до першої через портал.
Сусідні кімнати підключені до поточної через портали, і тепер з'являються на екрані.
Я виправив деякі помилки відсікання, щоб правильно відображалися стіни, що частково виходять за межі вікна.

Година 6 - за яку ми покращуємо скил малювання

Додав клас дверей, а також налаштував карти для розміщення дверей (двері повинні бути спільними для двох кімнат). (Правка: Шкода, що я ніколи це так і не використав!)
Я створив ще три тайли стін, об'єднав їх в одне зображення.
Графічний вигляд стінок змінюється залежно від типу.
Я роблю просту графіку для виду зверху донизу.

Годинники 7-8 – Обертання та вигуки!

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

Годинники 9-11 – Елементи – бррр!

І ось знову мені потрібно вирішити питання "Що далі?".

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

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

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

Годинник 12 - 13 - Нам потрібен Лут!

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

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

Година 14 - Килими

Я сильно відстаю від графіка, що мені робити?
Чорний фон здається надто потворним, тому я замостив підлогу всередині кімнати килимами - окремими тайлами.

Після цього раптом виявилося, що я забув додати до спрайтів гравця та речей прозоре тло. Довелося витратити багато часу на виправлення цієї помилки.

Натомість рівень тепер виглядає круто. Ну, принаймні крутіше, ніж чорний.

Годинник 15-16 - Click! Click!

Я зайнявся керуванням мишею та обробкою подій.
Додав керування персонажем мишею. Рух поки відбувається ривками, немає плавного прокручування рівня.
Гравець може вийти за межі кімнати, відсутня перевірка зіткнень.
Я виправив кілька помилок.
Помучив GIMP та створив гарні сходи.
.
На розробку вже витрачено майже 17 годин, тож я починаю трохи нервувати. Я пройшов 2/5 шляху створення гри, - закінчився другий "робочий день" розробки. Те, що в мене вже зроблено, вражає, але я розумію, що зробити залишилося набагато більше. У мене ще чотири години, щоб закінчити основні можливості гравця, і вкладеться в графік. Це буде важко... але я все одно не шкодую, що витратив зайвий час на малювання графіки!

Година 17 – Плавно переміщаємось, доки не стукнемо лобом об стіну

Більшість часу витрачено на доведення графіки та виправлення помилок.
Додано виявлення зіткнень і плавне прокручування, при русі гравця.
Гравець тепер може робити кілька кроків (оборотів) у відповідь на дію миші.

Година 18 - Переступаємо пороги

Гравець тепер може проходити через портали до інших кімнат.
Це викликає косметичний баг із взаємним перекриттям стін та підлог між суміжними кімнатами.
Виправлено багато помилок, пов'язаних із обертанням, при якому портали ставали непрохідними.

Час 19 - Сходи в небо, Пекельне меню

Мій брат зголосився зробити музику для гри. Він зробив музику для Void War, та вийшло досить добре. Це нагадало мені, що потрібно зробити відтворення звуку (і музики). Начебто PyGame це зробити досить просто, тому воно не повинно зайняти занадто багато часу. (Правка:. Я так і не знайшов для цього часу, на жаль у Hackenslash ви не почуєте жодного звуку.)

Моя наступна мета полягає у обробці взаємодії з істотами та предметами. Мені дуже подобається, як це зроблено в The Sims та Neverwinter Nights, коли ви хочете взаємодіяти з ігровим об'єктом, з'являється контекстне меню. Я планую продати щось схоже.

Навчаю сходи переміщати гравця в нову кімнату.
Я трохи проштудіював Інтернет та документацію PyGame, шукаючи, чи немає де відкритих вихідних кодів подібного меню на PyGame. І нічого не знайшов.
Я почав робити власне меню.

Годинники 20 – 21 – Що там з меню?

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

Година 22 – Заснути у процесі

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

Я помічаю, що вже пізно, і що вийшов далеко за межі відведеної на цю роботу години. Якби я не звертав уваги на загальний час розробки – просидів би напевно до ранку. Але оскільки я обмежений у часі, витрачений практично даремно - справді погані новини. Цікаво, як зрушуються пріоритети, коли не вистачає часу. Загалом, я лягаю спати.

Година 23 – Бойові параметри!

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

Година 24 - Меню гравця

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

Година 25 – До(раз)пиливаю підлоги та стіни

Сьогодні вранці в моєму мозку з'явилася ідея (невже в мене такий великий мозок, що в нього вміщується стільки ідей?) як усунути проблему перекриття стін у суміжних кімнатах (див. опис вісімнадцятої години). Що, якщо я малюватиму тільки половинки стін? Таким чином, перекриття не буде взагалі, і не потрібно додавати складну логіку для визначення та виправлення перекриттів.

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

Налагоджуючи код, я виявив ще кілька помилок, пов'язаних із переходом між кімнатами.

ПЕРЕРІВ - Криза!

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

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

Двері: Вирізано! Я дуже хочу зробити двері у грі. Шкода розлучатися з цією функцією – тим більше, що я вже деякий час працював на ній. Але залишається ще дуже багато робіт, наприклад штучний інтелект. І, напевно, знадобиться 2-3 години, щоби змусити їх працювати, а їх у мене немає.
Інвентар: спростити! Забудьте про додатковий інвентар, і можливість зміни зброї за бажанням. Все, що підібрано і не стало поточним обладнанням, буде одразу перераховано на гроші.
Пастки: спростити! Я хотів би мати безліч пасток з цікавими та різноманітними наслідками їх активації. Не доля. Пастки буде мати простий візуальний ефект, завдавати шкоди та тимчасово збільшувати ймовірність нарватися на випадкового монстра
Луки (стрілецька зброя): Вирізано! У грі буде лише зброя ближнього бою, на відстані можна атакувати заклинаннями.
Збереження / завантаження гри: спростити! Зберегти можна лише персонажа, а чи не стан світу. (ПРАВКА: Я цього не зробив!)
Система частинок: Відкласти! Створення системи частинок переміщено до низу списку пріоритетів. Я сумніваюся, що доведеться їх робити. Хотілося б зробити вражаючі візуальні ефекти за допомогою часток для заклинань... але швидше за все цього ніколи не буде.
Заклинання: спростити! У мене була серйозна концепція про заклинання: їх можна було б знайти у вигляді сувоїв, і кількість понад десяток. Це сумно, але буде всього кілька заклинань: Лікування, Втрата, Ослаблення, Посилення і Відновлення. При підвищенні рівня можна дозволити гравцеві посилити заклинання за рахунок збільшення числа магічних очок.
Анімація, розваги монстрів та гравців: Вирізано! Я нікудишній художник, щоб зробити це досить швидко.

Приймаючи рішення, що я не робитиму (або те, що відкладу на після), не менш важливо вирішити, що потрібно зробити насамперед.

Є багато речей, які заплановані у грі, і які я вважаю дуже важливим – пошук пасток, секретних дверей (ну тепер секретних проходів) та злом скринь. Але все ж таки основою гри є бій. Тому я вирішив зосередитись саме на ньому, зробити його головним пріоритетом. Я поставив собі за мету, через півтора чала мої монстри оживуть настільки, що їх можна буде вбити.

Добре, з пріоритетами розібралися, продовжуємо розробку.

Година 26 - Кинемо кістки

Я працюю над механікою «гральних кісток» - механізму, за допомогою якого в гру буде внесено елемент випадковості. Оскільки ми не маємо обмеження реальних кісток, ми можемо отримувати випадкове число будь-якого бажаного діапазону. Наприклад, від 1 до 33, або від 6 до 17. Так що я можу кинути кістки, порівняти те, що випало зі своєю атакою та захистом ворога. Якщо число, що випало вище захисту, атака вдалася.

Наприклад, припустимо, що у мене загальне значення атаки 15. Я атакую ​​монстра, у якого 10 захисту. Мої шанси 15 з 25 (25 =15 +10), або 3 з 5. Так гра генеруватиме випадкове число між 1 і 25, і якщо воно вище десяти, я виграю.

Для обчислення нанесеної шкоди використовується трохи інший спосіб. Я додав параметр «броня», що захищається, а атакуючому "шкоди". Я генерую випадкове число від 1 до їхньої суми, а потім віднімаю броню. Якщо результат менше одиниці, шкода не наноситься. Інакше він дорівнює отриманому результату. Таким чином, якщо монстр, з збитком рівним 10 атакує гравця з 5 очками броні, гра буде генерувати число від 1 до 15, з якого відніме 5, те, що вийде, і є завдана шкода.

Це пояснення та опис зайняло більше часу, ніж його реалізація.

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