RPG за тиждень? З нуля? Це взагалі можливе?
Я ризикнув, і я зробив це.
В інтернеті повно інформаційних ресурсів, доступних дрібним, незалежним (indi) розробникам ігор. На одному такому громадському форумі, в процесі суперечки, я мав необережність ляпнути, що, якщо мені дадуть тиждень часу, комп'ютер зі свіжовстановленою 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, те, що вийде, і є завдана шкода.
Це пояснення та опис зайняло більше часу, ніж його реалізація.
По завершенні години, я зменшив розмір області відображення підземелля, тепер частина вікна праворуч повністю відведена під інтерфейс користувача, ця зміна дало невелике збільшення продуктивності. Я також переконався, що рухи гравця не залежать від частоти кадрів.
Ця стаття розповість Вам, що все-таки потрібно, щоб створити комп'ютерну гру. Якщо Ви втомилися від загальних порад – перегляньте цей документ, і Ви напевно знайдете в ньому щось корисне. Матеріал орієнтований початківцям і для професіоналів не цікавить.
Свобода чи гроші
Чи хочете Ви створити комп'ютерну гру? Сподіваюся, Ви вже вирішили свої сумніви. Виходячи з того, що Ви зараз читаєте цей текст, наважуюся припустити, що так. Тому пропоную Вам поставитись іншим, не менш банальним, але й не менш важливим питанням: навіщо Вам це потрібно? Відповідь на це питання вже менш очевидна, і я намагатимусь допомогти Вам у його відшуканні. Залежно від нього в першу чергу і залежить, яким інструментарієм Ви користуватиметеся.
А варіантів відповіді, якщо подумати, можна назвати два.
Варіант перший. Прочитавши статтю в улюбленому журналі, почувши захоплену розповідь друга або погортавши інтернетівські форуми, Ви зрозуміли, що гру під силу зібрати простому смертному і відразу заразилися цією ідеєю. Таким чином, програму Ви пишіть із чистого ентузіазму для себе коханого, уявлення друзям або, у крайньому випадку, для безкоштовного розповсюдження по Мережі. Тобто комерційне поширення спочатку не передбачається. У цьому випадку Ви можете особливо не обмежувати себе у виборі засобів розробки. Я не закликаю вас переходити на користування виключно піратським софтом. Просто майте на увазі той факт, що багато великих компаній – розробники популярного ПЗ – дивляться крізь пальці на подібне використання своїх продуктів. Принцип «спробуй і купи» загалом і в цілому вкладається в їхню ідеологію.
Згідно з другим варіантом Ви, навпаки, просто шукайте спосіб побільше заробити і вирішили, що створення ігрових програм - це і є довгоочікуваний птах удачі, Ваш шанс зробити крок «з бруду в князі». Слід зазначити, що часто другий варіант випливає з першого. Створивши дійсно якісний продукт і постійно вдосконалюючи його, Ви наважуєтеся стягувати плату за його використання. За такого розкладу у Вас вже немає такого багатства вибору. Вам, так чи інакше, доведеться придбати ліцензійні версії програм, інакше закономірно виникнуть проблеми. Так що мимоволі доведеться оцінювати свої фінансові можливості. Щоб уникнути непорозумінь, я мав підняти тут цю тему.
А тепер подумаємо, що ж нам таки знадобиться, щоб написати гру.
Flash та конструктори ігор
Flash є унікальною програмою, яка не має конкурентів у своїй ніші, головним чином через її широку функціональність. Використовуючи лише один продукт, Ви можете бути програмістом, web-дизайнером та художником одночасно. Створені за допомогою Flash ігри трохи легше поширювати, ніж справжні. Але серйозного проекту на флеші зібрати не вдасться. Якщо Ви програміст-одинак, то для Вас Flash може виявитися майже ідеальним рішенням, що дозволяє заощадити час та гроші. Але якщо Ви працюєте в колективі і хочете зробити саме гру, а не інтерактивний мультфільм, рекомендую звернути увагу на більш спеціалізовані продукти.
Тепер щодо різноманітних конструкторів ігор. Друзі мої, використання їх є ламерством у чистому вигляді. Вони (конструктори) позбавлені багатофункціональності Flash, не надаючи жодних переваг. За допомогою конструктора Ви можете зробити тільки те, що передбачив його творець, тоді як транслятори на кшталт Delphi або Visual C++ дозволяють вирішити будь-яке програмістське завдання.
Моя вам порада: відмовтеся від використання конструкторів ігор і одразу переходьте на «серйозні» продукти.
Розбір польотів
Сподіваюся, я відмовив Вас від використання усіляких флешів і направив на справжній шлях творця ігор, якщо ні - повертайтеся до попереднього розділу:)
А тепер настав час розібратися, що ж нам все-таки знадобиться на нелегкій ниві граморобства. По-перше, Вам знадобиться персональний комп'ютер, як би це банально не звучало. Без нього вже, даруйте, ні куди. По-друге, обов'язково стануть у нагоді голова, здатна мислити, аналізувати і трохи фантазії. І останній обов'язковий атрибут програміста-гравця, звичайно ж транслятор. Про нього родиме і йтиметься далі. Крім обов'язкового набору, знадобляться й інші програми на кшталт графічного редактора, але про них трохи пізніше.
Вибираємо транслятор
Зауважте, я ще жодного слова не сказав про вибір мови програмування. Існує їх безліч і для написання гри теоретично підійде практично будь-хто. Писати ігри можна і на бейсику, і на фортані, і, вибачте, на стіні в сортирі. Тут важливо визначитися, що Ви розумієте під словом «гра» і яку саме гру Ви хочете зробити. Влаштування сучасних графічних ігор докорінно відрізняється від усяких там чет-непарів і що з ними. Головоломка зі словами, що працює в текстовому режимі, теж називається грою. І саме тому серед неодмінних атрибутів творця ігор я не згадав графічний редактор. Особисто мені під гордим словосполученням «комп'ютерна гра» представляється яскраве шоу, що має динамічну дію та обов'язкову присутність графіки. Для написання таких ігор створювався DirectX і такі ігри сьогодні продаються тисячними тиражами.
Я приділяю таку увагу цьому питанню тому, що гра - поняття дуже розпливчасте і важливо з самого початку визначитися, що саме Ви хочете зробити.
Визначились? Тоді можна сміливо переходити до вибору транслятора, або, спрощено кажучи, середовища розробки. Зверніть увагу, що я рекомендую вибирати не мову програмування, а саме транслятор. Зумовлено це однією простою причиною. Програміст не працює з C чи паскалем. Він використовує Microsoft Visual C ++ або Borland Pascal. Не має значення, якою саме мовою Ви програмуватимете. Зрештою те, що Ви можете створити, багато в чому визначається можливостями конкретного транслятора. Я рекомендую зупинити вибір на згаданому Visual C++, Borland C++ Builder або Borland Delphi. Представлені транслятори продаються у кількох редакціях. Я не рекомендую брати найкрученішу супер pro-версію. В основному, відмінність між різними редакціями полягає у кількості доступних програмісту візуальних компонентів та допоміжних утиліт, що для створення ігор непринципово.
Ігрові двигуни
Збирати гру зі стандартних візуальних компонентів – не найкрасивіше рішення. Наслідуючи його, Ви втрачаєте прийнятну швидкодію і свідомо обмежуєте себе в можливостях. Проте писати гру «з чистого листасьогодні також не прийнято. Для спрощення створення ігрових та мультимедійних програм були створені бібліотеки DirectX. При безлічі переваг, серед яких - висока швидкодія, програмуванню на "чистому" DirectX властивий один серйозний недолік - висока складність розробки.
А тому було створено безліч так званих «ігрових движків», заснованих на DirectX і значно полегшують процес програмування. Не нехтуйте, але й не зловживайте їх використанням. Було б смішно, якби стандартний пасьянс Windows був написаний на DirectX-движку і вимагав для роботи в системі 3D-акселератора.
Найбільш наворочені двигуни продаються за шалені гроші та їх поширення суворо обмежено. На щастя, в Інтернеті можна знайти і безліч безкоштовних двигунів. Наприклад, якщо ви використовуєте Delphi і є новачком у програмуванні, я рекомендую вам ЛКІ-Creator та DelphiX.
Підбираємо пензлі
Пара слів про графічні редактори. Для створення скільки-небудь пристойної графіки в Paint'e Ви повинні мати неабиякий талант і необмежений вільний час, так що рекомендую піти більш цивілізованим шляхом. Звичайно, Photoshop – штука дорога, але у справі обов'язково знадобиться. Іншою програмою, що добре зарекомендувала себе, є Corel PhotoPaint. Для обробки тривимірних моделей рекомендую 3D Studio Max, що є майже стандартом де-факто в області тривимірної графіки.
Супутні засоби
І насамкінець, хочеться згадати про, так би мовити, другорядні засоби, що використовуються в процесі розробки ігор і варті Вашої уваги. Тут я не буду багатослівним і перейду відразу до справи. Після досягнення деяких успіхів Вам може стати в нагоді програма для створення настановних дисків - найкраще початківцю розробнику підійде InstallShield Express. Для створення презентації продукту та створення оболонки компакт-диска використовуйте InstallShield DemoShield. Про засоби створення музики та інші подібні речі я тут навіть і не заїкаюся. Музику для ігор сьогодні рідко створюють самі, а качають вже готову з Інтернету, особливо це стосується розробників-початківців. Головне, щоб джерело не було надто відомим. Один із головних Ваших помічників – Інтернет. Не забудьте відвідати On-Line форуми та конференції.
Ця стаття є першою в цілому циклі матеріалів для тих, хто хоче стати творцем ігор. Якщо ви молоді, амбітні і сповнені ідей, а руки сверблять зробити "вбивцю GTA" або "MMORPG типу WoW, але крутіше", то ви знайшли те, що шукали- керівництво новачка зі створення ігор. Моя мета - дати читачеві загальне уявлення про те, як же все-таки виглядає процес створення ігор і розвіяти ті ілюзії, які могли скластися на цей рахунок, щоб згодом ви змогли уникнути помилок, що робляться багатьма. Як і в будь-якій справі, половина успіху - це правильна підготовка, тому чим повніше ви з самого початку уявлятимете всю картину - тим більшого успіху зможете досягти.
На даний момент цикл статей включає наступні матеріали, який згодом доповнюватиметься:
1. Створення ігор для початківців
Розробник Ігор- У Простонародії "Чайник"
Отже, після чергового вечора за ви подумали-а чим я гірше?.. Подумали і вирішили, що ось він, шанс на загальне визнання-пора створювати ігри своєї мрії! Здається, що в цьому немає нічого складного, але ви помиляєтеся... серйозно помиляєтесь. З цього, мабуть, ми й почнемо.Насправді, навіть якщо не торкатися питання складності розробки будь-якої гри (а ми його обов'язково торкнемося трохи нижче), то всі плюси та позитивні сторони "гравання" з лишком врівноважуються негативними сторонами, з якими так чи інакше стикаються всі розробники, особливо початківці.
Так вже склалося, що найперший етап є і найпривабливішим - це момент народження ідеї, її поверхневого опрацювання, миті творчості. У такі моменти можна годинами нарізати кола по кімнаті, уявляючи, яким класним все має вийти і якого визнання можна досягти, якщо втілити нову ідеюу життя. Захоплення своїм творчим генієм може переповнити судину, і в такому разі воно вимагатиме виходу - найчастіше незріла ідея виплескується на одному з тематичних форумів, в темі із заголовком виду "Збираю команду для розробки гри, потрібні всі". Де успішно висміюється досвідченішими товаришами по цеху, і, варто визнати, часом дуже справедливо.
Створення Ігор – Розвага?
На жаль, це не так. Навіть якщо не торкатися професійної роботи в індустрії виробництва ігор, то і аматорський проект - це не розвага в прямому розумінні цього слова. Звичайно, процес роботи над втіленням своїх ідей приносить певне задоволення і зручний як засіб самореалізації, але... Як уже було сказано, найприємнішим є момент народження ідеї та її опрацювання, але потім неминуче наступають "трудові будні"з їх повторюваними діями, нудною копіткою роботою і тим, чим займатися ну зовсім не хочеться (а оскільки створення ігор-досить різнопланова робота, то такі речі напевно будуть, особливо якщо ви працюєте поодинці). У результаті в такому болоті тоне мотивація, а разом з нею - бажання займатися своїм проектом.Будьте готові до того, що навіть відносно невеликий ігровий проект може забрати у вас не один місяць часу на його завершення. Подумайте-достатньо у вас мотивації, щоб продовжувати працювати над втіленням своєї ідеї навіть після того, як початковий азарт згасне?.. Напевно, не помилюся, якщо скажу, що частка проектів, не доведених до кінця і кинутих на різних етапах розробки, прагне до 99%... Адже ви не хочете поповнити це число своєю ідеєю, правда?
Типовий Портрет Початківця Розробника
Нехай пробачать мене ті, хто пізнає себе в цьому описі - закликаю не ображатися, а продовжити читання. Зараз ми спробуємо намалювати типовий портрет розробника ігор-початківця, щоб краще зрозуміти, з чим нам належить мати справу. Отже, початківець "гродів" - це найчастіше учень школи у віці 12-18 років, що раптово загорівся ідеєю створення ігор. Ідея приходить спонтанно або після якогось поштовху до натхнення, на зразок нового фільму чи популярної гри. Як правило, сам він нічого не вміє через вік, брак досвіду та інших причин, тому хоче виступати як " керівника"і/або" сценариста", "автора ідейВідповідно, так як самостійно з такими навичками зробити нічого хоча б віддаленого нагадує гру, не можна, то потрібна "команда", яку даний генератор геніальних ідей намагається зібрати на одному з тематичних форумів.При найближчому розгляді ідея виявляється клоном чогось популярного та відомого, "але краще". Так як уявлення про те, чого, власне, хочеться, і як організувати продуктивну роботу, ні, то в команду запрошуються всі або багато. У результаті така "команда" складається з випадкових людей, які протягом тижня-двох створюють видимість бурхливого обговорення "проЕкту", іноді навіть щось намагаються зробити (на зразок 3D-моделі з набору примітивів), але приблизно через цей же час колишній ентузіазм сходить на "ні", у членів команди з'являються невідкладні справи/сесія/уроки/бабуся захворіла і вся витівка благополучно розсипається як картковий будиночок. Знайома картина?
Розробка Ігор- Професія чи Хобі?
Розробка ігор для багатьох є просто хобі (тобто захопленням), але деякі люди пов'язують з індустрією розробки ігор свою кар'єру та стають професійними розробниками. Природно, що питання про те, чи є різниця між любителем і професіоналом, не стоїть - вона є і дуже істотна. У той же час деякі любителі мають набагато більше високий рівень, ніж окремі "професіонали", так що сам факт приналежності до однієї з цих двох груп не є визначальним. Тим не менш, деякий відбиток він все ж таки накладає.Любитель, як правило, має інше джерело доходу (у разі, якщо вона вже досить доросла людина), тому над ним не висить питання комерційної успішності свого проекту. Аналогічно для тих, хто навчається в школі/ПТУ/ВНЗ- вони можуть працювати над грою на своє задоволення, кинути в будь-який момент, реалізовувати будь-які ідеї і взагалі відчувають набагато більше свободи у своїх діях. З іншого боку, вони не можуть присвятити вивченню інструментів і отриманню нових навичок достатньо часу, тому в світі ігор завжди серйозно відстають технологічно і якісно.
Професіонал - Він і в Африці професіонал. Він робить свою роботу та отримує за це гроші. Як правило, працювати доводиться над чужими ідеями, і благо, якщо вони здаються цікавими, але іноді все одно доводиться працювати над тим, що тобі не подобається. Так як рівень майстерності є визначальним у професійній діяльності, то такій людині доводиться йти в ногу з часом освоювати нові технології, програми, прийоми, техніки і т.д. Він може дозволити собі відвідувати семінари, курси підвищення кваліфікації, витрачати достатньо часу на книги та відеоуроки – словом, перебувати в постійній гонці за право вважатися спеціалістом своєї справи.
Є і третій варіант - це незалежні розробники (інді). На мій погляд, це найпривабливіший шлях для тих, хто має достатній талант і здібності для того, щоб займатися розробкою ігор "від і до" самостійно або в невеликому колективі. В наявності плюси такого підходу - можна працювати над втіленням своїх ідей і в той же час заробляти на цьому.
Увібравши в себе плюси професійного та хобі-підходу, інді-розробка не позбавлена ложок дьогтю в бочці меду.
- По-перше, щоб бути успішним інді-розробником, необхідно все ж таки регулярно займатися підвищенням своїх здібностей і поліпшенням навичок, присвячуючи достатньо часу самоосвіті - двох вихідних днів на тиждень, які можна присвятити себе справі, швидше за все буде недостатньо.
- По-друге, вам доведеться самостійно займатися багатьма специфічними речами, які у великій компанії виконували окремі фахівці, а в аматорському проекті можна було б обійтися і без них. По-третє, оскільки майстри на всі руки, які однаково добре можуть впоратися з усіма аспектами розробки гри (графіка-дизайн-музика-програмна частина) у всьому світі, напевно, лічену кількість, то частину роботи потрібно буде передавати на виконання фрілансерів або шукати однодумців, які готові працювати разом з вами.
- Ну і по-третє - роблячи ставку на свій проект, ви вкладаєте в нього час, гроші (хоча спочатку можна обійтися без значних вкладень) і очікуєте отримати якусь віддачу. І тут все залежить від вас-на що напрацюєте, те і заробите. Проект може бути як вдалим, і невдалим.
Ціна Ідеї для Ігри
Часто доводиться стикатися з ситуацією, коли на форумі про розробку ігор з'являється тема, в якій автор представляє свій проект, але уникає будь-яких деталей, обмежуючись лише загальною інформацією. У у відповідь прохання дати подробиці автор стверджує, що зробить цього, т.к. ідеї є унікальними і можуть бути вкрадені. Безперечно, деякі ідеї можуть бути дуже вдалими, і їх цілком розумно тримати в секреті, але...
Не зомлійте, але ідея сама по собі не має жодної ціни. Нуль. Навіть найгеніальніша ідея нічого не варта. Ідей безліч, і деякі з них дуже і дуже вдалі. Тим не менш, ідея не має практичного значення до тих пір, поки вона не реалізована у вигляді чогось менш абстрактного.
Подумайте: коли в останній разви бачили дійсно оригінальну ідею? "Аватар"? Ні-якщо розкласти ідею до рівня концепції, то все просто: земляни з майбутнього видобувають ресурси на чужій планеті, ігноруючи інтереси місцевого населення. Один із землян переймається співчуттям до аборигенів, стає частиною їхнього народу та очолює боротьбу проти загарбників. Просто, чи не так? Crysis? Класичний шутер про елітного спецназівця із супер-здібностями, які йому дає костюм, та прибульцями з космосу. World of Warcraft? Гра, дія якої відбувається у багатій на події та передісторію всесвіту, з високою роллю сюжетної складової, різнобічними складними взаємодіями гравців та потужною економічною системою.
У всіх цих ідеях найцінніше те, ЯК вони були реалізовані. Навіть найпростіша ідея, будучи втіленою в життя на високому, якісному рівні, з глибоким опрацюванням, може "вистрілити" і стати хітовою грою/фільмом.
Таким чином ми приходимо до висновку, що для розробника-початківця питання "як" набагато важливіше питання "що". Очевидно, що ідея створення MMORPG нового покоління (так званий next-gen) абсолютно марна для більшості розробників, оскільки в силу об'єктивних причин вони просто не можуть реалізувати її в будь-якому вигляді.
Англійська Мова для Розробника Ігор
На окрему згадку заслуговує питання вивчення англійської мови. Очевидний той факт, що ігрова індустрія в переважній більшості своїй використовує англійську мову як мову міжнародного спілкування. Звичайно, є національні ринки та їх розробники, які говорять своєю мовою (наприклад, Росія та Японія), деякі з них можуть бути дуже великими і навіть величезними (Китай) - але це не скасовує того факту, що інструменти розробки, навчальні матеріали та Документація майже завжди використовує англійську мову.Я переконаний у тому, що знання англійської мови - це критичний фактор, який має величезний вплив на той шлях, який має пройти, щоб стати розробником ігор. Навіть із суто практичної точки зору здатність читати і розуміти англійські тексти - величезний козир у боротьбі за місце під сонцем. Якщо ви відкриєте вакансії російських компаній-розробників, то в 90% з них знайдете такий пункт, як "технічна англійська на рівні читання та розуміння".
Візьмемо конкретний приклад-3D-графіка. Текстові та відеоуроки з 3D-графіки російською мовою здебільшого зроблені аматорами для любителів, лише деякі з них вчать чогось, що можна назвати середнім рівнем, і вкрай мала частина - це дійсно професійні та актуальні речі. Іншими словами, все це-крапля в морі знань.
Запитується-навіщо задовольнятися краплею, якщо можна випити море? Знання та розуміння англійської - це ваш ключ до величезного масиву корисної та актуальної інформації, сам факт доступу до якої дасть вам десять очок фори. Компанії Digital Tutors та Gnomon Workshop мають у своєму активі тисячі годин навчального відео по всіх областях застосування популярних 3D-пакетів, таких як Maya або 3DS Max. Англомовні сайти кишать статтями про геймдева, а на форумах можуть підказати вирішення складних проблем - просто тому, що кількість людей ТАМ незрівнянно вище з кількістю людей ТУТ. Беріть найкраще із двох світів!
Що робити? Вчити мови - воно того варто, навіть якщо через рік ви закинете геймдев. Як? Не спати на уроках у школі, записатися на курси, використовувати самовчителі-шляхів багато, було б бажання. Особливу увагу варто приділити лексиці - вам зовсім необов'язково вміти говорити цією мовою, головне - вміти читати і розуміти прочитане. Вже після цього можна буде почати розвивати навичку сприйняття англійської мови на слух-і в цьому можуть допомогти відеоуроки з 3D-графіки, якщо ви художник, або аудіоуроки з англійської мови. Ще раз повторюся - по той бік мовного бар'єру величезний світ, повний інформації. Не мати до нього ключів - все одно що вчитися по чернетці, коли поруч є бібліотека.
Сергій "Treidge" Данченко— автор блогу, вільний 3D-художник та розробник ігор, веб-розробник на Drupal та людина-оркестр із досвідом у деяких інших областях. Особисте кредо - "хочеш зробити щось добре, зроби це сам". У моменти особливого натхнення пише вірші та грає у волейбол. Основні професійні інструменти - Autodesk Maya, Autodesk Mudbox та Adobe Photoshop. Без розуму від індиків та папуг. Дякую за увагу, заходьте знову!
- 83413 переглядів
3/4 часу на свою ідею, 1/4 на вивчення мови - дивишся, і через пару місяців вже можна буде розуміти написане, а там і до вільного читання не так вже й далеко... Я ось конкретно движком Unity 3d цікавився, російською відеоуроків або статей - крихти, а ось англійською - вже десятки годин на всі теми.
Гарна статися, правда мені здається, цю тему можна розкривати нескінченно. Я додав би обов'язкову умову, "любити читати" і шукати тонни інформації в інтернеті. Якщо щось знайти людина і може в інтернеті, а ось подужати наявну літературу допустимо в 500 сторінок, це вже може стати проблемою, а це я вважаю основним фактором, читати читати читати, і тільки потім робити робити робити.
Дякую, читатиму вас ще:)
Згоден, цю тему торкнулася краєчком в абзаці для фахівців. З навчальними матеріалами і справді проблема - охочим доступні просто тонни книг та відеоуроків, щоб перечитати та переглянути які - не один рік потрібен. Часто спрацьовує інстинкт хом'ячка - натягати всього і більше, і щоб потім все це добро лежало і покривалося товстим шаром пилу (каюся, теж таким грішний). Здається, що сам факт володіння таким обсягом інформації робить тебе професійнішим, але це далеко не так.
Загалом, я сказав би, що потрібно читати Іробити, і лише тоді можна дійти успіху. Пам'ятаю, в одному з відеоуроків інструктор нагадував - "Люди, ви - не рослини! Ви не можете вбирати знання так само, як рослини вбирають сонячне світло. Не просто дивіться, але й робіть, експериментуйте, виходьте за межі того, що я вам показую .". Дуже правильне зауваження зробив цей чоловік.
20 Лис, 2011Дуже сподобалася стаття. Ще дізнався, що автор хоче свою першу гру реалізувати. Я малювати не вмію, але розробляю двигуни для ігор на Android, Windows, Linux, Mac (за допомогою Open Source & Cross Platform Framework LibGdx) знаю box2d, OpenGL. Раніше займався двигунами для Інтернету, але останні 2-а роки вивчаю Android платформу. Хочу також як і автор реалізувати свою 1-шу гру та випустити її на Андроїд Маркеті. Ідея вже є (на фізику та логіку, 2Д, вид збоку, зараз продумую рівні), але вона дуже абстрактна ще, як автор сказав (золоті слова) ідею треба ще реалізувати і тільки тоді буде ясно принесе вона успіх чи ні;-) Якщо цікаво, то пишіть мені на пошту ... Успіхів та Удачі!
Дякую за відгук і пропозицію, але поки в моєму розпорядженні немає необхідних ресурсів для того, щоб займатися безпосередньо розробкою ігор, тому змушений відмовитися Удачі в розробці, якщо все ж таки наважитеся почати її - Android стає все популярнішим, шкода тільки, що користувачі розпещені безкоштовним софтом На відчутний прибуток може розраховувати лише дуже популярна гра.
Як правило, сам він нічого не вміє через вік, брак досвіду та інших причин, тому хоче виступати в якості "керівника" та/або "сценариста", "автора ідей"
Відповідно, оскільки самостійно з такими навичками зробити нічого хоча б віддаленого нагадує гру, не можна, то потрібна "команда", яку даний генератор геніальних ідей намагається зібрати на одному з тематичних форумів.
Дуже добре ваше спостереження підкреслює сайт:
https://sites.google.com/site/mysuperpupergame/
Просто сам пишу і потроху продаю ігри на Flash, дуже багато відвідую тематичних сайтів і так смішно читати теми "збираю команду", що взяв і зробив цей сайт (під пиво), щоб на різних форумах давати посилання на нього.
Раптом хтось приєднається:)
Для початку постарайтеся визначити, до якого напряму у вас можуть бути нахили. Може вам подобається малювати, тоді створення графіки – очевидний вибір. Або ж навпаки - малювати ви не вмієте, але сильні в математиці та технічних науках - тоді програмування може стати вдалим вибором. Хоча всьому цьому можна навчитися і не маючи якихось схильностей, інша справа, що робота в "неправильному" напрямку не буде приносити ніякого задоволення і навпаки, швидше буде тягарем. Для початківців добре підійдуть конструктори ігор типу Game Maker(найвідоміший). Почати можна з нього, ну а далі за потребами – потрібна буде графіка для гри, тоді варто спробувати малювати, потрібні будуть скрипти – ось вам і програмування. Головне - починати з найпростішого типу Понга (це гра така), арканоїдів і т.д., і дуже швидко ви самі зорієнтуєтеся, що вам потрібно і для чого. Як кажуть у таких випадках – Інтернет знає все, потрібно лише пошукати ©. Що б ви не обрали – у вашому розпорядженні буде величезна кількість освітніх ресурсів. Дерзайте .
Перекладач ніколи не замінить швидкого читання з натури, з перекладачем важко спілкуватися з іноземцями, перекладач не завжди буде доступний. Деякі книжки, наприклад, тупо відскановані, тобто. їх не можна скопіювати текст і вставити їх у перекладач. У сучасному світізнати лише свою рідну мову - вже майже злочин проти свого майбутнього
11 Лют, 2012 10 Бер, 2012Блог ну прямо з мене списаний практично.
З першою частиною блогу згодна на всі 100%. Але з приводу іноземної мови, ось тут я "закипіла".
Не всі люди можуть вивчити англійську мову або взагалі будь-яку іншу іноземну мову. Не всім це дано. Виходить, що якщо людина не знає англійської мови, їй ніколи не стати розробником ігор чи просто професійним програмістом?
Для того, щоб вивчити англійську мову, також потрібні роки, потрібні не тільки книги та підручники, самовчителі та аудіоуроки з мови, але вільний час. А його вічно бракує. По собі знаю, що поки вчиш одне, інше забувається. Доводиться знову повертатися на початок. Повсякденне життятака, що часто доводиться робити "звичну роботу". Приходячи додому з роботи ніяких сил вже іноземною мовою не залишається, навіть за наявності величезного бажання та мотивації! Втома та нестача часу зводить всі зусилля з вивчення іноземної мови нанівець. Доведено на власному досвіді!
Все ж таки не згодна я з автором блогу з приводу іноземної мови. Проблему навчального матеріалу дуже легко вирішити, а саме перекладати книги, газетні та журнальні статті, і навіть самі відеоуроки з американських сайтів російською або будь-якою іншою мовою. Навіщо новачкові витрачати час іноземною мовою, коли є інші люди, які займаються цим самим перекладом професійно? Навіщо взагалі потрібні тоді перекладачі? Невже в жодній з американських великих компаній із розробки ігор немає перекладача? У житті не повірю у це. До того ж, якщо існують колективи, де співробітники розмовляють обома мовами, чому відразу не написати літературу, документацію, статтю чи відеокурс двома або трьома мовами? Вся справа в тому, що цим треба комусь зайнятися з команди розробників програмного продукту, але ніхто не хоче. Ось у чому питання. Банальна лінь! Важко написати одразу два документи. Напишу стандартний англійською. А тому, кому треба, нехай сам мучиться з перекладом, витрачає ще більше часу на пошук інформації, перш ніж реально почнеться навчатися того, що йому потрібно.
Ех, якби все було так просто... Відповім по порядку.
Звичайно ж, не всі можуть вивчитианглійську мову, але навчитися читати англійською та розуміти її може практично кожен, адже навіть середнього розуміння вже буде достатньо для того, щоб отримувати потрібну інформацію з англомовних джерел. Інше питання – чи потрібно це конкретній людині чи ні. І це суто індивідуальне рішення, від якого залежить, ця людина займатиметься пошуком можливостей зайнятися вивченням чи ні. Безперечно, існує безліч ситуацій, коли викроїти час для додаткового заняття може бути складно, але ж ніхто не змушує бути професором трьох наук і кандидатом у доктора ще п'яти. Ідеальних умовдля саморозвитку не буде ніколи, завжди щось заважатиме - сім'я, робота, настрій або відсутність вільного часу. Але зрештою кожен сам розставляє пріоритети і вирішує, як йому використовувати той час, який він має, вільний він чи ні.
Ця частина моєї статті написана як рекомендація насамперед тим, хто серйозно хоче пов'язати своє життя із розробкою ігор. Я щодня стикаюся з необхідністю читати та слухати на англійськоюі щодня відчуваю, як мені це допомагає. І так, я впевнений, що стати в повному розумінні слова професіоналом без знання мови дуже складно, причому себе професіоналом я не вважаю. Звичайно, знайдеться достатньо людей з цієї галузі, які мовою не володіють і проте чогось досягли, але в моєму уявленні професіонал - це та людина, яка досконало володіє своєю професією, йде на гребені прогресу, володіє найсвіжішими технологіями і отримує інформацію про них із перших рук, тобто від творців. Які у 90% випадків усю документацію та інші матеріали пишуть англійською мовою як найпоширенішою мовою та мовою міжнародного спілкування. Фахівець без знання мови отримає доступ до таких матеріалів у кращому випадку з великою затримкою, або ж з третіх рук, а найімовірніше взагалі ніколи. Мені б не хотілося потрапити на прийом до стоматолога, який через мовний бар'єр вибиватиме карієс зубилом і молотком, тоді як у сусідній країні для цих цілей давно використовують лазери.
Проте проблема перекладу будь-яких матеріалів дійсно може бути вирішена, і я впевнений - буде вирішена в найближчі роки, може бути 10-15 років. З розвитком інформаційних технологій будь-який переклад буде здійснюватися на 100% точно і "на льоту", а професія перекладача згодом зникне в Лету. Але поки що такі системи не створені - доводиться миритися з поточною ситуацією, адже простого її вирішення поки що немає.
Перекладати статті, книги чи уроки, безумовно, можна, але тільки хто буде цим займатися? Професійним перекладачам, як і будь-яким іншим фахівцям, потрібно платити і платити багато. Займатися перекладом вузькоспеціалізованої літератури просто так ніхто не буде, хіба що ентузіасти. Але чи багато їх цих ентузіастів? Крапля в морі, причому таке суспільно-корисне навантаження дуже швидко їм набридає. І я категорично не погоджуюся з тим, що новачкам не потрібно витрачати час на вивчення мови. Любителям – можливо, але майбутнім професіоналам – ні.
Знання двох-трьох іноземних мов- це серйозна інвестиція у своє майбутнє, перевага в будь-якій конкурентній боротьбі, необхідна навичка, а не примха. У ХХІ столітті, коли світ глобалізується і зменшується, знати лише свою рідну мову означає свідомо обмежувати свою свободу, насамперед свободу отримання інформації.
У багатьох компаніях, звичайно ж, є перекладачі, але займаються зазвичай іншими справами - перекладом безпосередньо ігор. З іншого боку, є розробники ігрових двигунів або інших систем, які є інструментами, які вони хочуть продати як можна більшому числукомпаній та людей. Документація таких продуктів часто перекладається іншими мовами, але англійська - це стандарт, до якого вже потім додається корейська, китайська або німецька мови.
Це – їхній бізнес. Ніхто не займатиметься витратою ресурсів на адаптацію свого продукту (переведення) до ринку, на якому не можна продати достатню кількість копій свого продукту. Насамперед переклади одержують ті мови, частка ринку яких найбільша. У випадку з ігровими двигунами це зазвичай китайська мова, До якого поступово підбирається корейська. У сумі ці три мови, мабуть, покривають до 80% ринку. Російськомовні покупці ж можуть становити 2-3% від загального обсягу - ось вам і причина, через яку існує дефіцит підручників та курсів російською, виробникам просто не вигідно займатися цим.
І так у всьому - виробники чого завгодно насамперед прагнуть задовольнити потреби більшості, і ця більшість може набувати різних форм. Наприклад, корейською мовою говорять у 2 рази менше людей, ніж російською, проте ринок ігрових движків там значно більше, ніж у Росії. Тому документація корейською для движка UDK є, а російською - ні.
Зрозумійте мене правильно, вчити чи не вчити – справа суто наша власна. Світ улаштований таким чином, що під наші потреби він підлаштовуватиметься лише у невеликому відсотку випадків. Але найчастіше від нас самих залежить, чого ми можемо навчитися взяти від цього світу найкраще.
10 Бер, 2012Ух яка відповідь велика.
Втомилася я сьогодні, думки бігають кругом та й очі болять... Ай гаразд.
На "цю тему" можна розмірковувати необмежену кількість часу. У Росії з навчальним матеріалом дійсно напружено. У малорозвинених містах (такому в якому я живу), спеціальна літератураце велика рідкість. Здебільшого на полицях стоять однотипні книги. У всіх книг практично однакова назва, єдина, що їх відрізняє ця картинка на обкладинці та ім'я автора. За внутрішнім змістом книги абсолютно ідентичні! З такою пропозицією багато чого не навчишся.
Звичайно для саморозвитку знати іншу мову потрібно, нехай навіть небагато, але особисто в моєму випадку це "згубна справа". Щоб вивчити, запонити і потім "відтворювати" англійські словая витрачаю не один день. Переклад волію робити вручну старим дідівським методом "словник" + "ручка" + "папір". І цей дідівський метод вкрай повільний. На день не більше одного, двох абзаців. Кожне слово перекладаєш! А потім ще грамотно зібрати перекладені слова в "текст, що має сенс". Дуже важка робота і таким темпом одну сторінку тиждень перекладати можна:-). І як далеко на цьому можна "поїхати" в моєму випадку? Це нічого не призводить як правило.
P. S. Перекладачі (програми) працюють за тим самим принципом. Суцільний набір перекладів слів, причому не найточніший.
Зовсім інша справа, коли знаходиш у Мережі (оскільки іншого джерела немає) книгу в електронному вигляді або підручник у якому все розписано з самого початку, по поличках розкладено, простою і зрозумілою мовою розказано. Наприклад книга, яку я зараз читаю "Як написати гру для ZX Spectrum". Дуже цікава та зрозуміла. Російською. Єдине, на що я витратила час, це на пошук емуляторів операційної системи Спейсі та редактори для створення ігор. Ось цьому реально можна навчитися, відразу! Все зрозуміло і час економить і необхідні, нехай базове знання новачок отримає.
Якщо займати "вивчення" англійської мови, то походу надходження інформації. Нехай навіть методом "тику" :-|. А інакше можна взагалі ніколи не досягти бажаного результату.
Рунет великий, а користі мало. Багато однотипних форумів, блогів, тощо, поки потрібне знайдеш, багато часу витратиш. Чи не навчилися у нас систематизувати навчальний матеріалі робити його доступним для народу.
В ідеалі, найкращим навчанням, є створення найпростішої іграшки чи програми, нехай не позірною "сирою". Але з найбільш докладним, покроковим описом. З нуля. Нехай шматками, якимись уривками невеликими. Але насамкінець, отримати хоч саму дохленьку іграшку. Кінцевий результат. Але ж не в кожній книзі описуються проекти! Ніхто не витрачатиме на цей час і сил.
Гаразд, я піду байки, пізно вже. Ще статтю вранці закінчити треба, сил уже ніяких, нічого не бачу...
Можливо і можна. Однак враховуйте той факт, що пошукові системи не заохочують копіювати контент, і користі такому сайту від публікації всіх статей не буде. Відносно безпечно можна опублікувати у себе одну-дві статті (наприклад, першу з змістом), і це з погляду пошукових систем може стати за цитування. Б оБільша кількість може спричинити деякі санкції з боку пошукових систем.
Перепрошую, не прописав нік раніше. Щодо пошуковиків: Так, мені знайомий такий момент. Тим не менш, як я вже помічав - величезна кількість сайтів перебуваючи у все тих же пошукових системах мають у себе велика кількістьматеріалу. Крім того є ще й такі загальнодоступні джерела, які, за великим рахунком, не проти копіювання. Наприклад, Вікіпедія. Але за такою логікою виходить що й статті з Вікіпедії так само не заохочуються пошуковими системами?
Так, не заохочується, причому у випадку з Вікіпедією це більш показово, ніж з іншими сайтами та їх контентом, т.к. зміст надпопулярної Вікіпедії набагато простіше використовувати як зразок, з яким порівнюватиметься контент. Тут логіка пошукача дуже проста. Адже якщо контент загальнодоступний – навіщо його копіювати? Правильніше вказати посилання на джерело, що підтримується в актуальному стані (тобто енциклопедичні статті можуть часто виправлятися та доповнюватись). Той самий Google, наприклад, зацікавлений лише унікальному контенті, тобто. такому, котрого ніде більше немає. Звичайно, ніхто не може заборонити зробити "дзеркало" Вікіпедії та викласти його в інтернеті, але пошуковикам такий сайт у принципі не буде цікавим, т.к. їм доведеться витрачати ресурси та час на індексацію того, що й так уже проіндексовано. Цілком природно, що дзеркалювання контенту (копіювання) не заохочується, а в деяких випадках взагалі карається.
Зрозуміло. За великим рахунком, з мого боку, питання копіювання - це не "злісне копіювання всього і вся". Скажімо так, існує деякий матеріал, який, в принципі, переписати можна, але навряд чи вийде дуже краще. "Навіщо вигадувати велосипед?" так би мовити. Унікальні статті та контент мають місце, але... Декілька статей було - таки скопійовано.
Щодо посилання: Це ефективно, але малоінформативно і змушує того, хто її користується переходити на ресурс без можливості прочитати все в одному місці. а вже потім і перейти за посиланням, якщо здається, що є ще багато цікавого матеріалу.
Для мене також залишається питання в тому що незважаючи на, як ви сказали, "дзеркалки" величезна маса сайтів копіює, наприклад. новина один одного до тексту. До того ж самі сайти на перших рядках та. що цікаво. один і той же сайт може по кілька (а часом і кілька десятків разів) фігурувати в пошуку і не дуже помітно що подібні сайти як - або "караються".
Наша "модель копіювання", про яку йшлося вище, вкрай примітивна та перебільшена, тому не передає всіх нюансів роботи пошукових алгоритмів. Я лише хотів помітити, що в загальному вигляді правило "тільки унікальний контент" працює дуже добре, а "неунікальний контент" може вийти боком. Звичайно ж, далеко не факт, що саме так і буде, але на те воно і загальне правило, що з нього бувають винятки. Наприклад, згадані новинні сайти мають на меті розповсюджувати інформацію та доносити новини про події до читача якнайшвидше. У таких умовах природно, що одного разу написана новина може розлетітися у вигляді скопійованого тексту сотнями сайтів протягом хвилин. Однак, як кажуть, чукча теж не дурень, і пошукові системи вміють відрізняти новинні сайти-портали, де пріоритет віддається свіжій інформації, від сайтів іншої спрямованості. Наприклад, скопійована новина, актуальна, може вилізти в ТОП і протриматися там якийсь час, але як тільки інформація стане неактуальною - в більшості випадків вона серйозно просяде у видачі.
Етапи створення комп'ютерної гри
Багато людей, які грають у комп'ютерні ігри, навіть не уявляють собі, скільки праць і творчих ідейвкладено у кожну окремо взяту гру.
Створення гри це тривалий і трудомісткий процес, що складається з найрізноманітніших етапів, що включає як технічні, так і творчі моменти. Саме тому, здебільшого, ігри створюють не окремі особистості, а цілі команди розробників. Кожна окрема людина у команді – фахівець у своїй галузі знань.
Давайте подумки створимо свою власну комп'ютерну гру, щоб простежити всі етапи розробки, від початку до кінця, і дізнатися, які професії затребувані в ігровій індустрії.
Проектування 1.: -, -, -. 2. : - , - . |
1. Мета
Перше, що нам знадобиться – це визначитися з нашою метою. Що в підсумку хочемо отримати? Якщо хочете, щоб ваша гра «вистрілила», потрібно спочатку точніше прицілитися, а не бити навмання.
Етапом концепції та визначення мети займається керівник проекту.
Жанр
Можна від початку представляти в найдрібніших деталях свою готову гру, а можна по ходу розробки додумувати і сюжет, і стиль, і особливості гри. У цій справі не є обов'язковою зайва точність, але, як мінімум, потрібно задати напрямок розвитку нашого ігрового проекту. Жанр гри необхідно вибрати на початку в обов'язковому порядку. Жанр і буде головним напрямком розвитку гри.
Дивимося на круглу таблицю жанрів як на ціль, і вибираємо необхідні нам ігрові геймплейні елементи (докладніше про таблицю жанрів можна дізнатися у статті « Жанри комп'ютерних ігор»). Якісь елементи подарують нам високу популярність серед гравців (знищення, змагання, герой, турбота), якісь відданих, але прискіпливих фанатів (тактика, контроль, ухилення), а якісь – відсутність серйозних конкурентів (навчання, логіка, подорож, економіка).
Вибраний жанр можна трохи коригувати по ходу роботи, але його сутність має залишатися незмінною. Жанр – це своєрідний фундамент усієї гри. Якщо захочете змінити жанр своєї гри, то простіше розпочатиме розробку нової гри заново, ніж переробляти те, що вже було напрацьовано.
Сеттинг
Поділ комп'ютерних ігор на жанри вельми специфічний і не схожий на систему жанрів фільмів та книг. Ігрові жанри визначають лише основні дії, які здійснюватимуть гравці у процесі гри, цим вони відповідають лише питанням "ЩО?". На запитання "ДЕ?" і коли?" відповідає інша основна характеристика гри – сеттінг.
Сеттинг - це приналежність гри до якоїсь сюжетної теми або певного віртуального світу. Серед комп'ютерних ігор сформувалося кілька найпопулярніших сеттингів: фентезі, наукова фантастика (sci-fi), друга світова війна, середньовіччя, стімпанк, постядерний світ, аніме, комікси.
Створення гри в популярному сеттингу забезпечує її власну популярність, та й гравці почуваються затишно та комфортно у вже знайомому світі. Деякі ігри створюються у своїх унікальних сеттингах або незвичайних поєднаннях стандартних тем. Такі ігри менш популярні, але вони мають свою аудиторію особливих гравців, які терпіти не можуть шаблонність і одноманітність.
2. Засіб
Мета ігрового проекту задана, тепер нам потрібно вибрати засоби (матеріали та інструменти) для її досягнення. І тут ми стикаємося з незвичайним феноменом комп'ютерного світу – і матеріалом, і інструментом ігрового проекту є та сама сутність – програмний код. Код як будівельний матеріал– це цифрові зображення, тривимірні моделі, звуки та тексти у вигляді послідовностей одиниць та нулів. Код як інструмент – це команди у рядках програмного коду, управляючі ігровими об'єктами всіх перелічених типів.
Створення ігрового матеріалу (наповнення, контенту) - це суто творча частина процесу, розглянемо її трохи пізніше, а поки що розберемо програмний код тільки в ролі інструмента. У такому разі програмний код є каркас (скелет), на який будуть нанизуватися результати всіх наступних етапів розробки.
Цим етапом займаються програмісти.
Насамперед ми повинні вибрати мову програмування, яка нам найбільше підходить. Після цього має бути важка і копітка робота з написання програмного коду, здатного оперувати двовимірними або тривимірними об'єктами в просторі, прив'язкою зображень і звуків. Для створення віртуального тривимірного простору доведеться використовувати складні геометричні формули для побудови проекції 3D-об'єктів на площину. По ходу розробки доведеться вивчити всі формати зображень та аудіофайлів, всілякі кодеки та кодування.
Застосування ігрових двигунів ще не звільняє нас повністю від використання послуг програмістів, але зводить їх до мінімуму. Стандартний програмний модуль ще доведеться налаштувати під себе, додати щось своє, щоб ігровий проект вийшов більш унікальним.
3. Ігрова механіка
Найважливіша творча частина будь-якої гри – ігрова механіка. Ця річ знаходиться не на поверхні, тому часто вислизає від погляду неуважних поціновувачів ігор.
Молоді підлітки (основна частина ігрової аудиторії) здебільшого оцінюють ігри за якістю графіки, і не помічають, що гарні ігри хоч і популярні, але їхня популярність триває лише кілька місяців після релізу. А в серцях гравців і в золотих списках вічної ігрової класики назавжди залишаються зовсім інші ігри, може бути трохи непоказні на вигляд, але мають геймплей. Чим різноманітнішими та цікавішими є ігрові можливості, тим довше гравець залишається у грі. Наприклад, за що отримала загальне кохання «MineCraft»? Вже точно не за примітивну кубічну графіку, а за те, що ця гра дарує воістину безмежні ігрові можливості.
Якщо уявити гру у вигляді живого організму, то ігрова механіка буде його нервовою системою та головним мозком. А якщо уявити гру у вигляді будинку, що будується, то ігрова механіка постане як електропроводка, трубопровід та інші побутові інженерні комунікації. Уявіть, що відбувається з красивими та модними, але не продуманими іграми з цієї точки зору: можна оселитися у гарному будинкуАле якщо в ньому не буде освітлення, водопроводу і каналізації, то при першій же нагоді ви залишите його в пошуках більш комфортного житла.
Ігрова механіка, по суті своїй, це зведення правил, за якими функціонуватиме гра. Яка дія відбудеться, якщо гравець візьме цей бонус? Якщо гравець зіткнеться з ворогом, то що станеться тоді? Чи втратить він здоров'я від цього зіткнення, чи це станеться лише після удару ворога? Якщо гравець підійде до машини, чи зможе він у неї сісти та покататися? А чи зможе гравець щось будувати чи хоча б переміщати об'єкти? Таких питань може виникнути кілька сотень чи навіть тисяч. Відповіді на всі ці питання і будуть ігровою механікою.
Об'єкти
Основою всієї механіки є ігрові об'єкти. Головний герой гри, комп'ютерні суперники, другорядні персонажі (NPC), бонуси, рухливі об'єкти, декорації - все це ігрові об'єкти зі своїми властивостями та можливими діями.
Управління
Ігрова механіка визначає якими клавішами керуватиметься головний геройабо основний ігровий об'єкт, яка дія відбуватиметься після натискання тієї чи іншої кнопки. Сюди належить закони поведінки ігрових об'єктів (фізичний двигун) і поведінка ворогів (штучний інтелект).
Фізичний двигун
Якщо «управління» відповідає за переміщення підконтрольного нам персонажа, то фізичний двигун відповідає за рухи, які відбуваються без прямого втручання гравця. Ці дії імітують фізичні закони реального світу (іноді трохи спотворені у бік фантастики). Покинутий м'ячик відскакує від підлоги, перекинута бочка скочується з похилої поверхні, постріл потужною зброєю відкидає того, хто стріляє назад, тендітний предмет, кинутий з висоти розбивається - все це приклади дії фізичного двигуна.
У готових ігрових двигунах найчастіше реалізовані і фізичні двигуни. Вам лише залишиться присвоїти своїм унікальним об'єктам вже готові фізичні характеристики: вага, щільність, еластичність, руйнівність. Якщо ж задумаєте створити свій фізичний движок, то для цього вам знадобиться талановитий програміст, який добре розуміє принципи об'єктно-орієнтованого програмування (ООП) і трохи знається на класичній фізиці.
Штучний інтелект (ІІ)
ІІ відповідає за поведінку комп'ютерних ворогів чи союзників.
Роль ІІ значно відрізняється залежно від жанру гри. В екшенах дії ворогів украй примітивні; в RTS стратегіях достатньо пари десятків скриптів, щоб надати супернику здається розумність; у стелс-екшенах, слешерах та файтингах необхідно створити унікальну систему поведінки для кожного типу ворогів, інакше дурні вороги зроблять гру нецікавою. Серйозна стратегічна гра вимагає колосальної роботи над ІІ, а у простих казуальних іграх та в онлайн-проектах, орієнтованих на битви лише між реальними гравцями, штучний інтелект взагалі не потрібен.
4. Рівні
Правила гри у вигляді ігрової механіки готові, тепер нам потрібно створити майданчики, де ці правила працюватимуть. Створені ігрові об'єкти розставляються на окремих віртуальних просторах – рівнях (локаціях). Ігри найчастіше містять безліч окремих рівнів, перехід між якими відбувається під час сюжету. Але в Останнім часом, завдяки збільшеної продуктивності комп'ютерів, випускаються ігри з одним великим цілим світом, лише умовно поділяється на різні локації (GTA, Skyrim).
На кожному окремому рівні розставляються ігрові об'єкти, стіни, платформи, прикраси, фони. рівні створюються в іграх всіх жанрів. Навіть у простенькій казуальній грі з перестановки кольорових каменів є рівні – у ролі виступають ігрові поля і розстановка каменів. У браузерних іграх у ролі локації виступають окремі html-сторінки.
Якщо, знову ж таки, уявити гру у вигляді будинку, то побудова ігрових рівнів – це планування поверхів, а кількість рівнів – поверховість будівлі.
Побудовою рівнів займаються левелдизайнери.
В ідеалі левелдизайнери беруться із затятих гравців. Це відбувається тому, що будь-яка інша людина з боку, нехай навіть і творча, але дуже далека від теми ігор, не зможе добре впоратися з цим завданням. Левелдизайнер повинен добре уявляти собі ігровий процес, і відчувати, як від переміщення об'єктів на рівні змінюватиметься ігрова ситуація.
Досить часто в комплекті з грою поставляється редактор рівнів, за допомогою якого звичайні гравці можуть самостійно створювати нові карти і рівні. Розробники ігор підтримують поширення саморобних карток між гравцями і часто викладають кращі роботина офіційних серверах. Редактори рівнів створюються не тільки для розваги гравців та збільшення терміну життя окремо взятої гри, але й для того, щоб знайти серед ігрової аудиторії найталановитіших людей. Таким чином, ігрові студії вирішують свою кадрову проблему. Як уже говорилося вище: найкращий левелдизайнер – це затятий гравець.
Саме від дизайну (не оформлення, а планування) рівнів залежить найважливіша складова гри – геймплей. (Це правило не діє лише для більшості казуальних ігор, файтингів та спортивних ігор, Де рівні вкрай примітивні). Нецікаве та одноманітне планування рівнів занапастило безліч ігор з чудовим оформленням, підкріпленим новітніми технологіями. Якщо ви хочете створити повноцінну захоплюючу гру, а не пустушку в гарній обгортці, то на левелдизайн потрібно витратити максимум творчих зусиль.
5. Оформлення
Створенням графіки займаються художники, геймдизайнери.
Звичайно, якщо Ви розробляєте простеньку 2D-гру, то Ви самі можете зобразити що-небудь із пікселів, але в серйозніших і більших проектах краще найняти професійних художників та дизайнерів.
Арти
Для початку потрібно створити образи героїв, ворогів, ігрових предметів, задніх фонів. Спочатку вони малюються або на папері або на комп'ютері з використанням графічного планшета. Для невеликих ігрових студій цей етап не обов'язковий, але він просто необхідний великих компаніях, Щоб не на пальцях, а на наочних зображеннях пояснити всім дизайнерам, що у них має бути.
2D, 3D моделі
На основі артів дизайнери створюють або двомірні спрайти з пікселів, або тривимірні моделі з полігонів.
Анімації
Для ігрових об'єктів, які пересуватимуться під час гри, створюються анімації. Особливо складно доведеться з героями та ворогами, кількість анімацій яких іноді перевищує цілу сотню різних рухів.
В даний час для створення людиноподібних 3D-персонажів існує спеціальна технологія Motion Capture, що дозволяє створювати анімації на основі рухів справжніх людей. Ця технологія доступна лише великим та дуже багатим компаніям. Для використання Motion Capture потрібно не тільки придбати дороге обладнання, але ще й найняти групу акторів, з яких будуть записуватись рухи.
Фони
Із задніми фонами все набагато простіше - намалював один раз, поставив у потрібне місце на рівні без жодних змін, і забув.
Спецефекти
Візуальні спецефекти – це, по суті своїй, самі анімації, лише замість переміщення об'єктів у яких використовуються переміщення частинок і світлофільтрів. Промені світла в різні сторонипри взятті бонусів, вогонь на палаючій будівлі, димова завіса після вибуху гранати, лазерні промені з дула гвинтівок, накладення фільтрів розмиття при знаходженні під водою та фільтрів затемнення в погано освітлених місцях – все це спецефекти. Без подібних ефектів гра здаватиметься прісною і надто буденною. Використання спецефектів додає грі яскравості, соковитості та експресивності.
Оформлення екрану та меню
Оформити потрібно не лише ігрові рівні, а й систему, що об'єднує їх у єдине ціле – ігрове меню (рядки, кнопки, сторінки налаштувань). Початкове меню – це взагалі візитна карткаігри, і виглядати вона має ідеально. На ігровому екрані також є безліч елементів, яких можна застосувати оформлення – кількість життів, лайфбар, мінікарту, меню швидкого вибору дій, інвентар героя, списки завдань, екрани діалогів. Англійською мовою все це називають одним скороченням - GUI (Graphical User Interface - графічний інтерфейс користувача).
Оформленням інтерфейсу та меню займаються художники, програмістиі верстальники html-сторінок. (Сайт сайт)
6. Сюжет
Залучити гравця до проекту дуже складно, але ще складніше зробити так, щоб гравець пройшов гру до кінця. Будь-яке розчарування, занудне чи важке місце може миттєво відштовхнути гравця від подальшої гри. Найчастіше гравець залишить і забуде гру без жодного жалю. І лише грамотно поданий якісний сюжет може змусити гравця зібратися з силами, пройти всю гру, а отже – дослухати вашу інтерактивну історію до кінця.
На початку свого існування комп'ютерні ігри обходилися без сюжету, затягуючи гравців лише своїм ігровим процесом. Але зараз навіть до найпростішої казуальної гри прикручують сюжет, не кажучи вже про великі ігрові проекти ААА-класу.
Хоча, існування в грі сюжету лише для галочки не дає ніякого позитивного ефекту, розробники продовжують вигадувати нові і нові історії, одна дурніша за іншу. Сюжет приносить користь лише тому випадку, якщо він може зачепити почуття гравця. Для цього потрібна унікальність, цікавість та правдоподібність сюжету; кожен персонаж повинен мати свою неповторну особистість, і робити вчинки згідно з нею; дійових осібі подій має бути не більше, ніж може сприйняти людський мозок, інакше сюжет перетвориться на нікому не зрозумілий вінегрет; події повинні відбуватися логічно (загадковість та туманність вітається для підтримки сюжетної інтриги, але і при цьому має бути прихована від гравця логічність).
Скрипти, події
Найкращий варіант – коли сюжет існує усередині гри. Це досягається за допомогою скриптових сценок.
Скрипт є таким: гравець заходить у певне місце, або робить потрібну дію, або виконуються ще якісь необхідні умови, і після цього починають виконуватися дії, запрограмовані вами на цей випадок. Наприклад, у військовому 3D шутері піднімаємося на височину, підходимо до встановленого кулемету (умова виконана), через 10-15 секунд після цього внизу раптом починається ворожа масована атака, і нам є на кого використовувати кулемет (відбулися події).
За допомогою скриптових подій можна вносити різноманітність в ігровий процес або навіть перетворити гру на атракціон нескінченних скриптів (саме на цьому побудована серія ігор Call of Duty). Єдиний мінус такого способу – гравець зменшує свободу дій. Все відбувається з волі скриптів, і мало залежить від дії гравця.
Продумуванням скриптів займаються сценаристи, А їх реалізацією - програмісти.
Діалоги, оповідання
У старих класичних іграх сюжет існує окремо від ігрового процесу. Наприклад, при завантаженні чи закінченні рівнів нас знайомлять із сюжетною історією, розповідають про відносини між героями та ворогами, пояснюють, що і для чого потрібно зробити на рівні. У процесі гри нічого з вищесказаного немає ніякого значення, і гравець може сміливо пропускати всі ці тексти. Найчастіше так і відбувається – тексти залишаються не прочитаними. А все через те, що немає жодної вагомої причини їх читати.
Інша річ – внутрішньоігрові тексти чи діалоги. Вони відбуваються в процесі гри, але в безпечних місцях, або зупиняють ігровий час, щоб гравець міг зосередитися тільки на тексті. Оповіді гравцю доводиться вислуховувати, оскільки гра на цей час завмирає, але зовсім не зупиняється. А у діалогах ще й потрібно вибирати варіант відповіді. Вибір варіанта надає прослуховування тексту інтерактивність і хоч якийсь практичний зміст – правильно обрана відповідь може принести додатковий бонус, полегшити подальшу гру або зберегти обраний характер героя у рольових іграх.
При створенні гри тексти оповідань та діалогів краще зберігати в окремих файлах, що підвантажуються по ходу гри. Відділення художнього тексту від технічних кодів допоможе у майбутньому, якщо ви вирішите створити локалізовану версію гри іншими мовами світу.
Написанням текстів та діалогів займаються сценаристиі письменники.
Відеовставки
Між рівнями гри або у певних контрольних точках рівнів можна замість сухого тексту та озвучки показувати гравцям відеовставки (катсцени). Такі заставки можна створювати як за допомогою окремих відеофалів, так і за допомогою ігрового двигуна.
Відеофайли дозволяють передавати гравцеві картинку будь-якої якості та складності, але при створенні дистрибутива гри вони займають багато дискового простору. Заставки, створювані на движку гри, за своєю якістю вже майже не поступаються заздалегідь відрендереним відеозаписам, але для їх гарного перегляду у гравця повинен бути досить потужний комп'ютер, що не завжди буває насправді.
Створенням відеовставок займаються художники, аніматори, 3D-модельєри, сценаристи, режисери.
7. Звук
Гарно намальований та ефектно оформлений проект мовчазно дивиться на нас, і чекає, коли ми додамо йому звучання. Це ще одна важлива складова гри.
Звукові ефекти
Для будь-якого малого ігрового руху потрібно додати відповідний звук. Це можуть бути удари меча, завдання рукопашного удару, звуки руху автомобіля, отримання бонусу, виявлення героя ворогом. Не думайте, що це якась надмірність, і можна обійтися лише кількома базовими звуками. Наприклад, у більшості 3D-Action ігор нехтують додаванням звуків кроків головного героя та ворогів. В результаті - побачивши від першої особи видно, що герой пересувається в просторі, але здається, що він не йде, а плавно ковзає вперед. А вороги без озвучення кроків взагалі можуть безшумно підбігти до героя ззаду і сильно зіпсувати нерви гравцям.
Хороші звукові ефекти не тільки заповнюють тишу, але й продовжують графічний стиль гри. Весела аркада наповнена не менш веселими мелодійними звуками, спортивний автосимулятор наповнений гуркотом моторів і брязкотом гальм, тривимірний бойовик оглушує кулеметними чергами, гільзами, що падають, і клацаючими затворами гвинтівок.
Найчастіше як звукові ефекти використовуються реальні звуки, записані в цифровому вигляді. В інтернеті є безліч безкоштовних колекцій звукових ефектів, Вам потрібно лише знайти їх і вибрати найкращі.
Музика
Крім звуків для повноцінної гри потрібна музика (саундтрек). Вона буде звуковим фоном для того, що відбувається на екрані. Музика також є одним із стилістичних елементів гри, і найсильніше впливає на настрій гравця. Готову музику потрібно довго вибирати за відповідним темпом та настроєм. Існує безліч як платних, так і безкоштовних колекцій ігрових фонових композицій, які можна використовувати у своїй грі. Музика для створення ігор»). Або можна замовити композиторам написати нову музикуспеціально під гру.
Озвучка
Третьою звуковою гри є озвучка ігрових діалогів і монологів. Ця складова дуже дорога, але її наявність у грі не є обов'язковою. У деяких іграх діалогів та текстів майже немає, а там, де є, їх можна залишити неозвученими у вигляді текстових субтитрів. Невеликі ігри обходяться без озвучки, а великих проектах для озвучування навіть запрошують професійних акторів світової величини.
Наявність у грі музики та повноцінної озвучки значно збільшує обсяг готової гри, що займається на жорсткому диску, Але по можливості краще все ж таки додавати озвучку в гру. Це підвищить залученість гравця в сюжет і історію, що вами розповідається, оскільки більшість гравців ігнорують і взагалі не читають звичайні не озвучені тексти.
8. Відшліфування
Процес розробки великої гри побудований в такий спосіб, що різними її елементами займаються різні фахівці. На початковому етапі гра є розрізненим набір творчих напрацювань в різних областяхмистецтва: зображення, звуки, 3D-моделі, архітектура, тексти, сценки, відеовставки, оформлення. І ось, нарешті, настає такий момент, коли розкидане каміння потрібно збирати. За допомогою програмних засобів розрізнені об'єкти поєднуються в єдину складну систему.
Зведення матеріалу (a-версія)
При побудові гри на ігровому движку об'єднання об'єктів відбувається поступово від початку процесу. Поки гра не зібрана остаточно, її називають альфа версією. У цей час вже можна займатися тестуванням окремих рівнів, скриптів та інших механізмів.
На цьому етапі вже технічно можливо випустити демо-версію або хоча б відеоролик з ігровим процесом, щоб заздалегідь залучити гравців до свого проекту.
Усунення помилок (b-версія)
Коли гра повністю зібрана, залишається лише усунути помилки (bugs). Вони виникають у будь-якому разі, оскільки гра – це система зі складною структурою. Самі елементи гри наочні та прості, але зв'язки між ними настільки складні та витіюваті, що процес налагодження та усунення помилок може займати до 40% всього часу розробки проекту. Повністю зібрана, але ще перевірена на помилки гра називається бета версією.
Пошуком помилок у грі займаються тестери. Дуже часто як тестери залучаються групи звичайних гравців, і це є початком їх кар'єри в ігровій індустрії. Найпростіше ця проблема вирішується в онлайн-іграх - розробники організовують відкриті бета-тести, в яких беруть участь усі бажаючі гравці.
9. Продаж
Створенням гри та всіма творчими питаннями займається студія розробників, а інші питання (кредити, фінанси, договори, захист прав, рекламні акції, локалізації, продажу) зазвичай перекладаються на плечі інший організації – ігрового видавця.
Відносини між розробниками і видавцями можуть бути різними: договір про співробітництво на рівних правах; усі права, фінансові ризики та можливий прибуток належить видавництву, а розробники лише одержують свій невеликий відсоток від прибутку; всі права розробників, видавництво – окрема фірма, тимчасово найнята розробниками; розробники та видавництво є різними підрозділами однієї великої корпорації.
Перш ніж продати гру кінцевому користувачеві, видавцям спочатку потрібно повідомити про існування цієї гри. Звичайно, гру можуть купити, взагалі нічого про неї не знаючи, просто обравши в магазині навмання, але шанс, що таким чином оберуть саме вашу гру, вкрай низький. Набагато вигідніше розповсюдити інформацію про гру всіма можливими каналами. Для цього використовують рекламу в магазині комп'ютерних дисків, або рекламу на інтернет ресурсах.
Ігрова промисловість не схожа на ринок традиційних продуктів, у неї є свої особливості. Інформація серед активної ігрової аудиторії розноситься з блискавичною швидкістю та охоплює всіх навколо. З такою особливістю найефективнішою рекламою гри є її якість. Якщо ваша гра буде цікава та захоплююча, то про неї абсолютно безкоштовно напишуть ігрові журнали та інформаційні інтернет портали, гравці почнуть обговорювати гру та розносити інформацію все далі, а після проходження першої гри вони з нетерпінням чекатимуть на доповнення та продовження цього проекту. Таким чином, не витративши жодної копійки на рекламу, але заслуживши повагу у гравців, ви забезпечите успіх і поточній грі, і всім наступним доповненням.
Локалізація
Випустили гру рідною російською мовою? Приготуйтеся до того, що аудиторія потенційних гравців складатиметься лише з кількох країн, а прибуток буде мізерним. Випускати гру англійською набагато вигідніше - її текст буде розуміти більшість гравців по всьому світу, ці гравці будуть набагато більш платоспроможними, а значить і прибуток буде на порядок більше.
В ідеалі, потрібно випускати гру відразу кількома найпопулярнішими у світі мовами (англійською, німецькою, французькою, іспанською, китайською, японською), але для цього потрібно мати цілий штат перекладачіві локалізаторів. До того ж, бажано, щоб перекладачі були носіями мови. Свою рідну мову вони зможуть перенести максимум сенсу оригінального тексту. Але простим самотнім розробникам така розкіш не загрожує, та й більшість великих компаній не поспішають витрачати гроші на цю справу.
Значно спростити процес локалізації допоможе відокремлення художнього тексту від технічної частини гри. Для цього потрібно розміщувати тексти, субтитри та аудіофайли озвучки в окремих доступних файлах стандартних типів. А в програмному коді гри потрібно залишати лише посилання, щоб текст підвантажувався в гру з цих файлів. Найбільш популярні ігри перекладаються гравцями-ентузіастами самостійно, без будь-якої участі розробників. Відділення художнього тексту ще на стадії розробки гри дуже допоможе таким ентузіастам зробити свою добру справу.
Система продажу
Гра готова, гравці в очікуванні її релізу, залишилося лише вирішити, як доставити гру кінцевим користувачам і взяти з них гроші.
Класичний спосіб (випуск великого тиражу комп'ютерних дисків і продаж їх через роздрібні магазини) все ще актуальний, але підходить лише для великих компаній, і для ігор, які мають хоч якусь початкову популярність.
Для невеликих груп розробників ідеально підходить поширення гри через системи цифрової дистрибуції (великі онлайн-магазини). Такий варіант забезпечує нову маловідому гру вже готовою аудиторією покупців, яка сформувалася навколо сервісу. Найвідоміший приклад – сервіс Steam. Завдяки величезній аудиторії гравців, які користуються Steam, майже кожна гра, що вийшла в цьому онлайн магазині, відразу ж набуває світової популярності.
Або можна легко створити свій власний інтернет-магазин з одним єдиним товаром – створеною грою. Але в такому разі доведеться рекламувати не тільки гру, але ще й інтернет-адресу магазину, і завойовувати аудиторію самостійно.
10. Підтримка
Створення гри та її продаж - це ще не кінець життєвого циклу ігрового проекту. Коли гра вже знаходиться в кінцевих користувачів, гравцям може знадобитися ваша допомога. У великих компаній існують навіть цілі відділи технічної підтримки, які займаються такими питаннями
Випуск патчів
Попередній бета-тест усунув із гри найочевидніші помилки, але це ще не означає, що їх зовсім не залишилося у грі. Найчастіше буває, що масове використання гри розкриває дрібніші і непомітні помилки, які змогли знайти невеликі групи бета-тестерів. Це можуть бути проблеми через несумісність з малопопулярними марками обладнання або помилки через неприродне використання ігрових можливостей. Фантазія деяких гравців перевершує фантазію розробників, вони можуть зробити в грі такі дії, про які розробники і не могли подумати.
Все це сприяє тому, що часто доводиться вносити виправлення помилок у готову гру. Такі виправлення називаються патчами і цей термін дуже поширений в ігровій індустрії. Мало кому вдається відразу випускати ідеальні ігри, найчастіше ігри доводяться до ідеалу вже після свого офіційного релізу.
Якщо за гру ви отримали від гравців гроші за кожну продану копію, то за випуск патчів ви не отримуєте зовсім нічого. З ринкової точки зору, випуск патчів – збиткова та марна дія, яку не обов'язково виконувати. Але в реаліях ігрової індустрії якщо ви не підтримуєте свій продукт до кінця, то отримуєте погану репутацію у гравців і втрачаєте можливий майбутній прибуток. Незважаючи на свою безкоштовність, випуск патчів – це дуже корисна та потрібна справа.
Випуск додатків
Цікава та захоплююча грабез серйозних вад та помилок дає вам зелене світло для подальшої творчої діяльності. Гравці на ура прийняли ваш ігровий продукт? Значить до вже готової гри можна готувати доповнення або повноцінну другу частину, а розпочатий сюжет можна розвинути далі, перетворити його на цілу епопею або навіть на повноцінний ігровий всесвіт.
Беремо план розробки гри і починаємо створювати новий витвір мистецтва за тими самими десяти етапами, але тепер уже у всеозброєнні накопиченого досвіду та набутих навичок.
Досягнення "Почесний читач сайту" Сподобалася стаття? На подяку можна поставити лайк через будь-яку соціальну мережу. Для вас це один клік, для нас черговий крок вгору в рейтингу ігрових сайтів. |
|
Досягнення "Почесний спонсор сайт" Для особливо щедрих можна переказати гроші на рахунок сайту. У цьому випадку ви можете вплинути на вибір нової теми для статті або проходження. |
"itemprop="image">
У цьому посібнику докладно розуміється як створити гру: опрацювати ідею, вибрати інструментарій та організувати процес розробки так, щоб він протікав легко і привів до результату.
Привіт хлопці. У цій статті буду з вами гранично чесний і розповім, як створити гру самостійно. Заздалегідь попереджаю, що зробити відеогру складно і дуже затратно в плані часу. І якщо ваша мета не черговий клон змійки, тетрісу або будь-якої іншої гри з покрокового туторіалу, доведеться вкласти в це багато сил.
Занадто багато людей, прагнучи зробити свою першу гру, з головою занурювалися в двигун і закидали ідею, тому що це «занадто складно», «я втомився», «я не бачу прогресу». Насправді це просто набір дурних виправдань, які з'являються через «збитий приціл», тобто бажання відразу робити ігри великого калібру, на кшталт Відьмака або Final Fantasy.
Це проекти, над якими працювали цілі команди спеціалістів, команди з сотень людей протягом кількох років, так що, навіть якщо ви дуже захочете і витратите все своє життя, зробити такий же масштабний продукт у вас не вийде.
Ваша перша гра - це тренування, чернетка, але ніяк не шедевр. Навіть створення одного рівня найпростішої піксельної гри може виявитися непідйомним завданням спочатку, а вибравши щось величезне - ви просто не матимете уявлення про те, де ж початок, тому витратите масу часу на деталі, які абсолютно значення не мають.
Головне завдання полягає у створенні продукту, який ви самі зможете пограти. Начхати, якщо це лінійний платформер, виконаний у двох кольорах, і його проходження займає 7 хвилин. Ви його зробили, ви не впали духом, не вирішили все кинути, що вже робить вас краще, ви не з тих, хто зневірився і опустив руки!
Дайте мамі, брату, друзям, будь-кому в неї зіграти. Вони критикуватимуть, адже звикли сприймати ігри як потужні проекти. Не звертайте уваги, адже, по-перше: ви самі створили свою першу гру, по-друге: наступного разу ви зробите її швидше і краще, і, по-третє, скоро ви досягнете того рівня майстерності, що всі вони самі проситимуть вас дати їм грати.
Ваша гра має відображати ваші навички. Все потрібно робити послідовно: з'явилася ідея - перевіряєте можливість її реалізації - якщо можливості немає, намагаєтеся навчитися - отримавши навичку, реалізовуєте ідею. І так треба робити щоразу. Згодом, загляньте в Asset Store, можливо там вже є фрагмент, над яким ви горбатитеся кілька діб.
Насамкінець – щось на кшталт напуття: швидше за все, ви намагаєтеся займатися розробкою паралельно навчанню чи роботі. Іноді будуть проходити тижні, перш ніж ви зможете знайти час, але якщо ви дійсно хочете стати успішним у даній сфері – знаходите цей годинник і збільшуйте кількість своїх навичок. Помнете, кожен може опустити руки, але не всім дано дійти до кінця.
Сьогодні інтернет переповнений різними туторіалами, які навчають відео та безкоштовним програмним забезпеченням. Все це дозволяє будь-кому, хто має багато вільного часу та ідею, створити власну комп'ютерну гру. Однак, необхідно також мати чітке уявлення про сам процес та його послідовність.
Яку гру зробити?
Швидше за все в людини, яка цікавиться «Як зробити гру самому?» вже є ідея. Найчастіше це якась модифікація однієї з ігор, яку він грав. Може бути, вашій улюбленій грі чогось не дістає і ви вирішили це додати (задумайтеся чи є у вашої гри можливості для моддингу: вбудований редактор або MOD-tool).
Наприклад, жанр MOBA-ігор був створений у редакторі WarCraft 3 (популярна нині Dota з'явилася саме завдяки широким можливостям редактора).
У будь-якому разі, початковою точкою буде ідея. Саме з неї і слід розпочати.
Ідея
Але про всяк випадок, якщо ви роздумуєте "Яку гру зробити?" - стаття допоможе вам з пошуком ідеї.
Геймплейна складова ідеї вашої гри визначить жанр ігри та платформу.
Жанр та платформа майбутньої гри
Вибираючи жанр, врахуйте, що почати слід із чогось короткого та простого. Перший млинець найчастіше буває грудкою, але якщо ви зможете спекти цей млинець - ваші м'язи зміцняться і ви зможете зробити щось більше наступного разу.
Потім визначтеся з платформою. Це дуже важливо, адже від платформи залежать можливості геймплею. Наприклад, робити динамічний шутер, де точність пострілу залежить від реакції та орієнтуватися на мобільні пристрої з тач-скрином не дуже гарна ідея.
Концепт
Після того, як у вас з'явилися якісь думки - сядьте та опишіть концепцію гри. Спочатку це можуть бути лише тези, які потім перетворяться на логічно викладені думки. Якщо ж зробити це не вдалося - перегляньте свою ідею і позбавтеся протиріч.
Визначте те, що має залучати потенційних гравців, тобто її філософію. Наприклад, запропонуйте стати одноосібним правителем маленької острівної країни, або керувати винищувачем прямо з кабіни пілота, вчасно перемикаючи необхідні тумблери.
Тепер до особливостей гри. Швидше за все, маса експериментаторів вже пробували себе у вашому жанрі, але все одно потрібно придумати щось своє, інакше інтерес до проекту не буде. Ось невеликий приклад:
приклад
Концепт: симулятор магазину.
Особливість: ви особисто домовляєтеся з постачальниками, залучаєте нових клієнтів та відчайдушно намагаєтесь вижити у суворих реаліях.
Пояснюєте які фактори впливають на успіх, а також говоріть про ключових особливостяхігрової механіки.
Не намагайтеся додати пункти, які ви не бажаєте продавати. Ваша гра має бути тим, за що ви самі хотіли б заплатити.
Останній етап - покладіть всі чернетки в татко, а потім і в ящик столу. Через пару тижнів поверніться до них, оскільки, можливо, ви втратите і бажання, і запал, а цей через цей етап краще пройти ще до початку проекту, ніж залишити все наполовину готовому стані.
План розробки
Чіткий план розробки – надійна основа вашого проекту та надійна основа вашого зростання як розробника ігор
Даний план буде скелетом вашої гри, тому тут ви повинні згадати про кожну деталь, кожен мікро-момент, про все, що вважаєте важливим. Ті, хто робить ігри поодинці, можуть обходитися без планів (за умови великого досвіду), але якщо під вашим початком команда або досвіду не так багато, все повинно фіксуватися.
Чітким розкладом того, коли починати програмувати або малювати найперший арт, можете володіти виключно ви, тому поділяюся з вами загальними моментами, порушення яких може відкинути на кілька тижнів тому, або ж зовсім змусити відмовитися від ідеї створення своєї першої гри.
- Ваш план має бути розрахований на місяць, не більше. Тож довіртеся своїй інтуїції та почніть із простого. Краще закінчити раніше, ніж не вкластися у строки.
- Як тільки ви зрозуміли, що даний продукт не може вас навчити, ставте його на полицю і забувайте. Ви зможете перевірити свої навички, розпочавши аналогічний проект із чистого аркуша.
- Навіть найкращі розробники прагнуть стати ще крутішими, так що кожна нова гра повинна починатися з думки «Я зроблю краще, ніж минулого разу».
- Не ігноруйте планування. У розробці будь-якого проекту трапляються невеликі «форс-мажори» і передбачити їх практично неможливо, тому простіше банально врахувати витрати часу на їхнє усунення в розкладі. Чи запланували 8 годин? Сміливо перетворюйте їх на 12.
- Дизайн - одна з останніх речей про які варто думати початківцю розробнику ігор. Ваше завдання - "обростати навичками", так що краще витратите вихідні на впровадження кількох нових механік (незнайомих вам раніше), ніж на малювання.
- Розбийте свій план на кілька фрагментів. Досягнення цих «контрольних точок» непогано підвищує мотивацію. Якщо ви не встигаєте виконувати тижневі вимоги, спростіть загальний план.
- Не ставте собі надто абстрактних завдань. Замість «Опрацювати персонажа», вписуйте «впровадити нові механіки стрілянини» або «змінити зовнішній виглядпід час удару» - чітких цілей досягти набагато простіше.
- Надсилайте собі листи не електронну поштукожен понеділок. Вони повинні містити всі дії, здійснені за минулий тиждень. Порівнявши всі листи за місяць, ви зможете побачити прогрес.
- Витрачайте як мінімум годину на тиждень на те, щоб грати у свій продукт. Зрештою, ніхто краще за вас не зробить ВАШУ гри.
- Провівши два тижні без роботи над проектом, ви будете розгублені та втратите нитку, що змусить почати все спочатку. Саме на цьому моменті більшість людей опускають руки та закидають ідею створення власної гри.
- Вбивати час на звук і створення атмосфери у своїй першій же грі – неймовірно безглуздо. Головне: розробити геймплей, адже існують шедеври, що складаються зі звичайних пікселів, що рухаються.
- Якщо ви робите щось більше години, і у вас все одно не виходить – зверніться по допомогу. Навіщо тиждень тупцювати на місці через те, що ви посоромилися створити тему на форумі?
- Давайте іншим скуштувати вашу гру. Так, відразу ж поллється критика, але не варто звертати на неї уваги. Навіть проекти провідних студій часто поливають брудом, але ж це не заважає їм продовжувати робити шедеври, вірно?
- Ви не маєте безмежних ресурсів - тому потрібно ставити перед собою реальні, досяжні цілі.
- Як тільки ви відполірували свою першу гру, одразу ж знайдіть кілька нових ідей та беріться за свіжий проект. Не забувайте використовувати те, чого ви навчилися раніше.
- Ознайомтеся з .
Переходимо до створення змісту. Як це не дивно, сюжет тут практично повністю ігнорується. Головне – прописати всі аспекти ігрової механіки та пояснити принцип їхньої роботи. В основному саме зміст лежить в основі керівництва до гри.
Тепер ми доповнюємо кожну тезу зміст детальним описом кожної дрібниці, причому робимо це максимально зрозуміло, інакше можуть виникнути проблеми з реалізацією.
Нарешті, потрібно показати свій план усім, кого ви збираєтеся залучити до розробки. Можливо, реалізувати ідеї деякі не вийде, або вам запропонують більш комфортабельні альтернативи. Отримавши чітке уявлення про свою частину роботи, досвідчений фахівець одразу зробить кілька зауважень.
Вибір інструментарію розробки
Двигун – серце вашої гри, підійдіть до вибору відповідально, ознайомтеся зі статтею
Новачку буде простіше взяти готовий двигун, ніж розробляти свій.
Кожен двигун має свої особливості. Деякі змусять вас вивчати програмування, а в деяких навіть не потрібно відрізняти процедуру від функції, в них існують засоби візуального програмування.
Якщо давати дуже широку класифікацію, то двигуни можна розділити на два види: для двовимірних проектів (GameMaker: Studio, RPG Maker XV) і для тривимірних ігор (Unity, Unreal Development Kit та Source)
Подивіться кілька офіційних відео-уроків і спробуйте зробити в движку щось самостійно. Якщо це завдання здалося вам непідйомним, спробуйте поєднатися з програмістом, деякі хлопці можуть надихнутися вашою ідеєю і допомогти в її доопрацюванні.
Прототип
Наступний етап – тестова версія. Тут немає значення звук і графіка, головне, щоб всі функції працювали саме так, як ви задумували. До речі, запасіться терпінням, адже ви повинні вносити правки до тих пір, поки не почнете отримувати задоволення від ігрового процесу.
Також будьте готові до потреби створення готового прототипу з нуля. Тут же ви калібруєте управління: він має бути максимально зручним та інтуїтивним. Інакше – гравець розчаровано піде шукати кнопку виходу.
Ця фаза – шліфування дизайну вашого геймплею. Фаза пошуку та проб різних варіантів.
Графіка та звук
Відразу вирішіть, який спектр кольорів вам потрібний. Якщо це простий двовимірний платформер, де все кишить пікселями, то сенс наймати оркестр і цілу команду графічних дизайнерів - марнування часу і грошей. У той же час не варто економити на ресурсах, якщо вони дійсно необхідні для повноцінного вираження вашої ідеї. Не соромтеся поєднувати чужі ідеї. Єдина заборона – порушення авторських прав.
Тут треба накидати чорнові арти. До речі, вміти малювати зовсім не обов'язково, адже більшість інді-проектів використовують піксель арт, через його простоту та популярність. Якщо ви все-таки зважилися на тривимірний проект, то для створення складних моделей персонажів доведеться наймати професіоналів.
Нарешті, створіть кілька фрагментів ігрового всесвіту. Це концепти того, як виглядає рівень, або як персонажі взаємодіють поза ігрового процесу. Настав час втілювати ваші ідеї в життя!
Blender – простий та безкоштовний редактор для створення тривимірних моделей.
Photoshop незамінний для обробки двовимірних зображень, а також добре справляється з текстурами.
net дозволяє швидко створити піксель-арт.
Звуки нарівні з графікою створюють відчуття атмосферності у вашій грі. До ваших послуг величезний набір готових бібліотек звуків безкоштовних програм, а мелодії, що бракують, можна записати і вдома, головне - обзавестися мікрофоном.
Доопрацювання
Грайте в те, що ви створили, причому якнайчастіше. Так ви зможете помітити всі шорсткості. Засвойте одне правило - або допрацюйте елемент до ідеального стану, або видаліть його. Наприклад, якщо геймплей рівня здається вам занадто монотонним, спробуйте зробити його різноманітнішим.
Постійно звіряйтеся з філософією гри, щоб уникнути моменту, коли проект перетворюється на стос незв'язкових рівнів та персонажів.
Відшліфуйте графіку та звук – процес дуже трудомісткий, але саме від нього залежить атмосферність.
Фаза тестування
Отримавши попередню версію гри (не плутайте із прототипом), переходьте до пошуку багів та помилок. Буде краще, якщо ви їх знайдете, а не потенційні гравці в перший же день після релізу.
Робіть акцент на моменти, які не властиві вашому стилю гри. Наприклад, заходьте у частини карти, які не задіяні під час основного геймплею. Тестування іноді займає більше часу, ніж сама розробка, яке швидкість залежить від кількості і професіоналізму тестерів.
Якщо ж багів неймовірна множина, спершу виправляйте найбільш масштабні. Тому починайте їх пошук якнайшвидше – так буде більше часу на внесення правок. Крім того, запропонуйте пограти друзями та знайомим. Погляд з боку дозволить помітити безліч нюансів, про які ви самі ніколи не здогадалися б. До того ж, це абсолютно безкоштовно.
Реліз
Організуйте промо-кампанію: підігрівайте інтерес у соціальних мережах, замовте огляди ігровим блогерам, не забудьте і про сайт із форумом, адже шанувальникам потрібно буде десь збиратися!
Виберіть платформу для розповсюдження. Навряд чи ви захочете відразу вкладатися в хостинги або виділені сервери, тому зверніть увагу на популярні майданчики на кшталт Steam, GOG, Humble, Play Market та подібні до них. Пам'ятайте, що власники стягують певний відсоток вартості, тому це питання вимагає детального вивчення.
Не забувайте про підтримку гри навіть після релізу. Продовжуйте фіксувати баги, випускати додатковий контент або відразу приступайте до сіквела!
У статті все викладено досить тезово, але при цьому подається загальне уявлення про повний цикл випуску гри. Не варто відразу розраховувати на мільйони доларів заробітку, адже ігри – це насамперед творчість.
Багато хто може у вас не вірити. Чого вже там: напевно, буде пара вечорів, коли ви хотітимете все закинути, але не варто опускати руки. Пам'ятайте: справді добрий продуктвимагає багато часу, коштів і ваших нервів.
P.S.
Якщо у вас виникли якісь запитання чи потрібна допомога — пишіть у розділ форуму, мені надходять повідомлення — я завжди відповім і допоможу чим зможу.