Простые правила в игровой разработке

30 июля, 2012
4 минут(ы) чтения
wallhaven
Правила создания игр

Все спрайты храни в векторе

Вектор рулит. Увеличение размера под разные экраны в два клика без потери качества, лёгкая изменяемость, добавление/удаление фильтра или цвета и трансформация без изменения цветов. Объединения в группы, слоевая структура. Хотя, в последнее время мне начинает казаться, что она уже начинает устаревать.

К тому же, как не странно, векторные картинки имеют более красивые формы и приятнее для глаза, и весят в большинстве случаев гораздо меньше.

Лишь после завершения редактирования, в проект нужно включать растр. Пока еще нет удобных CVS движков, и вес CVS файла очень тяжел для веба, поэтому любые изображения имеющие прозрачность нужно конвертировать в PNG24. Никаких gif. Если используются объемные изображения — jpg. Использовать jpeg 2000 не рекомендую — это все еще нераспространенный формат.

Растр хорош только для фото. Для менюшек, иконок и т.д. нужен вектор. Привыкать к вектору очень тяжело. Уж очень сильно отличаются в нем создание изображений от привычных карандашей и кистей. Но поверьте, изучение illustrator или corel это несомненно огромный плюс.

Музыка должна быть исключительно в wav формате

Лишь в добавление в конечный проект её нужно конвертировать в ogg или aac. C mp3 все сложнее. Linux’оиды его не одобряют J

Меньше текста, больше спрайтов

Использование текстовых спрайтов занимает меньше трафика, чем многие думают. Не зря в XNA никаких label’ов нет.

Большой недостаток красивых шрифтов – их может не оказаться в системе, и их ещё надо ещё скачать, а это нагрузка на канал (самые красивые из шрифтов могут весить под 150 kb).

Второй недостаток – они могут не поддерживать кириллицу. А перевод на русский обязателен. Английский язык пускай используют англоязычные. Русский – русскоязычные. Из-за этих бесконечных добавлений английских слов в игру многие могут не понять смысл. Конечно, очень сложно найти русский синоним к английскому слову, но не об этом сегодня речь.

Меньше настроек

Игрок приходит играть, а не мучиться с выбором настроек. Мне всегда раздражало, когда при открытии настроек я вижу десятки параметров. Нужны максимум 1-2. Включить/отключить звук, Интерфейс под левшу/правшу. Остальное стараться делать за спиной пользователя. 

Не поддерживается какая-то возможность на видеокарте – отключайте её! Разрешение экрана слишком маленькое – возможно, что и мощности устройства тоже не на высоте – отключайте самые тяжелые эффекты и понизьте разрешение спрайтов. Игра стартует на планшете с последней тегрой – включайте все эффекты, загружайте HD графику. FPS ниже 50 — отключайте тяжёлую логику и т.д. В идеале, пользователь должен не замечать ничего и быть вовлечён лишь в игровой процесс. Поверьте, при самой тяжёлой нагрузке уменьшение полигонов на деревьях воспримется лучше, чем, когда со всеми hdr эффектами и SuperHD картинке фреймрейт показывает 5 кадров в сек. Трудности могут быть в 2d играх. Там нет полигонов и нельзя автоматически изменить качество. В таком случае я советую отключать некоторые звуки и просмотреть код в бесконечных циклах (возможно проблема будет именно там).

Использование бесплатных векторов

Столько векторов сколько нужно попросту нельзя сделать самостоятельно, их надо где-то искать. Использование бесплатных векторов это отличный выход!

Векторы, как я говорил, легко редактировать. За полчаса можно сделать из бесплатного вектора конфетку, просто пошаманив с фильтром, поменять цвет на градиент, добавить маску и т.д. Платить за подписку по $25 в месяц или за каждый выделенный EPS по $15 занятие исключительно для крупных студий.

Главное искать лицензию которая позволяет редактировать, и делать на их основе платные приложения

Оптимизация и постоянный рефакторинг кода

За кодом нужно следить. Если пройдя по парку, пришла идея как изменить поведение анимации, при которой будет использоваться меньше CPU – запиши на бумагу и сделай сразу при следующем включении проекта.

Когда функционал некоторого метода сильно возрос – вероятность просева FPS при вызове этого метода становиться очень высокой. Нужно убрать ненужное, в угоду производительности против красоты. Мало кому нужно фотореалистичное слайдшоу. Пакеты 3d Mark уже, если что, существуют.

Постоянное сравнение с другими проектами

Тратьте время не только на свою игру, но и старайтесь играть в чужие. Если игры от Rovio такие популярные, почему бы не поиграть в них самому? Это отличный опыт.

Не надо реверсить чужой проект, сдирать с него логику и физику или спрайты. Проект нужно делать самому, но оглядываться на другие. И следовать за ними, стараться их обгонять. Если Cut the Rope вышел на Metro – портируй на Metro и ты.

Не бойтесь показать раннюю версию в интернете

Был крайне удивлён – моя самая первая pre alpha версия которую я выложил на ютубе, в которой я старался просто посмотреть на проект со стороны, оказалась в плейлисте scirra.

YouTube подходит для показа версий как ничто лучше. Это уже некому не надо объяснять. Главное уметь составлять теги.

Также общайтесь на игровых форумах – там можно получить отличные ссылки на тайтлы и анимации.

Тратьте на продвижение половину всего времени проекта

Какой бы хорошей ни была игра, в неё должны играть как можно больше людей. Главная задача попасть в Топ. В топе деньги и слава.

Пускай игра не самая красивая, имеет некоторые лаги, её все равно надо продвигать. И продвигать нужно уже во время разработки. Продвижение конечного продукта очень сложно, и мало чего дает. Когда пользователь следит за интересным проектом с начала разработки – тогда он, возможно, о нем вспомнит даже спустя нескольких месяцев и захочет купить. 

Так было со Stalker. Как всем известно, финальная версия сталкера совсем не похожа на то, что показывали в 2004. Но это не помешало ей с кучей недостатков собрать неплохую кассу и стать дорогим медийным продуктом даже на западе. В СНГ про популярность и говорить не приходиться — достаточно зайти в любой книжный и увидеть десятки разных книг на эту тематику — вот насколько он разрекламирован (спасибо Стругацким за это).

Следите за новинками железа и ОС

Если через 2 квартала выходит супер навороченный iPhone – посмотри его TTX. Если в нем 8 ядерный процессор – отлично! Есть вариант добавить в проект побольше мелких объектов лишь для красоты.

Не надо стараться выпускать все в срок. Это все равно не получиться. 

Выходит новый андроид флагман – стоит придержать игру на 2 месяца после его выхода, а это время потратить на улучшение картинки или, например доделать игру под его ось и разрешение. И когда этот флагман будет уже достаточно популярен — вот тогда и можно выпускать игру. Самое интересное замечание — флагманы выходят аккурат перед новым сезоном/отпусками. Маркетологи лучше знают когда стоит выпускать интересный продукт. Надо просто поймать эту волну. 

Старайтесь скачивать последние билды эмуляторов. Это поможет не просто узнать про новые изменения в ядре, но и самому поэкспериментировать с новыми вкусностями, которые приготовили разработчики.

Никогда не выпускайте игру сырой

Если игра сыра – в неё никто не будет играть. Если потом начать выпускать к ней заплатки – все кончено. Сейчас не то время когда в игры играют годами. Игра успевает устареть уже на выходе. Время, за которое вы сделаете изменения лучше потратить на что-то более стоящее. Очень редко один неудачный проект может переродиться в отличный лишь из-за циферки «2» в названии. Что тоже часто бывает — спрайты устаревают и становятся абсолютно не нужны после выхода проекта.

Почему от blizzard всегда выходят шедевры, как впрочем и от valve? Потому-что они выпускают их независимо от предпочтений игроков и всегда их игры отполированы до мозга костей. 

Если в ней есть баг из-за которого невозможно пройти n’ый уровень – это фатальная ошибка приводящая к низким рейтингам и плохим продажам!

Ну и в конце нужно всегда опираться на своё видение игры. Если его нет – то даже заимствование самых лучших идей, не поможет её сделать хорошей. В таких случаях она навсегда останется в рейтинге “B” с оценкой ниже средней.

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Добавить комментарий Отменить ответ

construct 2 arkanoid
Следующая статья

Делаем Арканоид за шесть минут

Exit mobile version