Начало разработки игры

Имея некий опыт в разработке игр, а именно опыт в разработке:

- программного кода

- алгоритмов

- арта

- немого нарратива (преподнесения игровой истории)

- интерфейса

- игровых механик

- и еще в чем-то, что сейчас не приходит на ум...


В своих постах я хотел бы поделиться тем как я пришел к разработке игр и рассказывать о процессе разработки своей собственной игры.


Заранее извиняюсь за все неточности, которые вы встретите в моих постах. В оправдание могу сказать, что написание постов - это не моя задача, а что-то типа "может кому-то будет интересно".

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

Начало:


Итак, далекий 1997 год, мне тогда было лет 6 и я яростно штудировал журнал "МК". До сих пор помню, классный был журнал. Понятно, что я мало чего в нем понимал, но изучать все это было на самом деле круто. Настящий чертеж самолета или корабля и все это в одном журнале. Журналов было штук 450. Точно не скажу, но мой отец собирал все так как ему тоже было интересено.


Годам к 10 я понял, что буду разработчиком. Неважно кем, да я и не понимал, что разработчиков былвает 100500 видов, но главное разработчиком.

Микросхем и прочего у меня не было. Их вообще нигде не было в моей "деревеньке". Часто приходилось выпаивать/распаивать и так далее. Толком ничего не работало потому, что сделать все 1:1, как написано в книжке, не удавалось.


Ну и ладно подумал я, по телеку шла передача "Позвоните Кузе" и это стало моим новым увлечением. Нет, не игра, а само устройсвто - компьютер! Что в 12 лет можно знать о компьютерах, когда их никогда не видел? В общем поговорив с отцом я собрал коробку из бумаги и сделал что-то, что явно не компьютер. Быстро пришло понимание, что компы это что-то сложнее бумаги, веревки и того кто за это все тянет. Да и игра еще как-то не такая как в телеке, совсем... Что-то не то.

Порывшись в журналах, я нашел печатную плату какого-то старого компа "Электроника". Запустить его не удаось так как от электроники была одна лишь плата XD

Вскоре отец купил комп. Совпадение ли эти или еще что-то??? На компе была WindowsXP, которую я быстро освоил, знал чуть ли не все файлики в папке System32.
Что произошло дальше? Я начал изучать то как все работает. Комп с операционкой был для меня настоящим черным ящиком. Как исследуют черные ящики? Впрочем тогда я не знал как их исследуют, но исследовал примерно правильно. То есть я подавал на вход ящика значение и смотрел что будет на выходе.


Итак, я брал приложение "блокнот", открывал в нем dll, exe и все прочее и думал, что читаю настоящие машинные коды. Частично это было так. Потом я вносил изменения в файл, сохранял файл в папке System32 вместо того что там был. Ну и... Ну и я долго не мог понять что блокнотом бинарные файлы нельзя изменять. Так как блокнот сохраняет файл в другой кодировке и, даже, если его не менять, то файл становится испорченным.

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

Так я разбирался с тем как работает все класса до 7-го. Узнал про #Assembler, @Ida и прочее.
В школе на уроках информатики нам не могли толком ничего рассказать кроме какой-то черепашки, которая, вместо привития интереса к программированию, лично у меня вызвала отвражение :/


И вот как-то однажды при обмене дисками с товарищами я нашел какую-то среду разработки. Это не была VisualStudio и это не был BorlandC++. Даже не знаю что это было. Сейчас думаю, что эт была чья-то крутая курсовая или что-то типа того.


В общем, у меня была среда и она выводила "Hello World!".  Более того, она имела набор примеров вывода картинок, работы с памятью и вообще кучу всего о чем я даже не имел представления. Язык был похож на язык С++. Но это не был ни С++ ни C#.

Итак, делать было нечего, нужно было разбираться с тем, что было. Повозившись с месяц я все же смог собрать без учебников о геймразработке и вообще без всего что-то типа Platupus. Что там было: картинка Су27, облака, горы и враг, который не работал. Самолет летел вверх-вниз, а горы шли на него. Горы рандомно генерировались, убого сбивали самоле, если он касался их.

И да, через какое-то время программа вылетала и я не мог понять В ЧЕМ ДЕЛО. Кажется эта среда разработки не имела отладчика вообще. Код просто компилировался и работал или (чаще) не работал и указывал где есть ошибка.


Несмотря на все это я ликовал и чуть ли не ходил на руках от того что собрал игру. Надо же, ОНО РАБОТАЕТ! Если кому-то интересно, я могу позже опубликовать что-то из игры так как я сохранил ее части на память. Много чего потерялось, но что-то осталось.


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

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


На этом этапе тестирования я выявил очень много интересных моментов для себя. Таких, о которых многие гейм-дизайнеры (в основном) не знают.
Ну например:

- человек будет играть в твою игру именно так как он захочет. Не так как разработчик запланировал, а так как ОН захочет. И никто не заставит его играть неудобным для него способом.

Мастерство гейм-дизайнера (не все мастерство, часть) заключается в том, что игрок играет в игру по разработанным гейм-дизайнером правилам.

- ощущение пространства. Игровое пространство ощущается. Это незаметно игрокам, но они это чувствуют. Например стоя на выступе ты имеешь превосходство, больше выбора. А вот спрыгнув с него ты уже можеim и не запрыгнуть назад.

- и многие другие...


Все эти особенность сложно (да и бессмысленно) описать в целом. Их нужно рассматривать в контексте игры. Одни особенности важны в одной игре, а в другой они вообще бесполезны.


(На фотке Trello и документация к игре)

Здесь я выкладываю пока наброски процесса разработки:

https://twitter.com/CGAleksey

https://www.instagram.com/cgaleksey/

https://www.reddit.com/user/CGAleksey



Думаю на сегодня все.

Спасибо за внимание!

Начало разработки игры Игры, Gamedev, Инди, Инди игра, Компьютерные игры, Длиннопост

Лига Разработчиков Видеоигр

6.7K постов22.2K подписчика

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"