Цикл: Программирование игр. Взгляд изнутри. Статья: "Путь к мечте". Часть 1.

Всем привет. Рад приветствовать всех начинающих разработчиков на курсе своих вводных лекций по программированию игр. Надеюсь, что кому-то пойдут во благо эти статьи, и он найдет в них отправную точку в волшебный мир виртуальных радостей. Может быть это да же в некоторой степени избавит форум ресурса GameDev.by от таких тем, как "Есть идея, нужна команда, которая все это сделает". Поймите, что по началу за вас ваши же идеи реализовывать никто не будет, а только вы сами сможете дать старт проекту вашей мечты.Но вернемся к нашей первой статье, которую я решил назвать «Путь к мечте». Почему так? Ну да же потому, что разработка игр для меня когда-то была реально мечтой. Теперь, к моему глубокому удовлетворению, это есть моя постоянная работа, и, плюс, работа, от которой я получаю фан ;), чего и желаю всем разработчикам.

"Путь к мечте". Что есть компьютерная игра?
Так что же такое компьютерная игра? Я не историк и не философ, и четкого определения сам вам дать не смогу, а просто отправлю вас по ссылке wiki, этот ресурс многим хорошо знаком. А мы движемся дальше.

"Путь к мечте". Введение.
Разработка компьютерной игры с одной стороны есть творческая, интересная и очень увлекательная работа, а с другой – очень сложный технический процесс. Почему сложный? Да просто потому, что игра одним программированием сыта не будет, что уже само по себе является не простой задачей. Это также кропотливый труд художников, моделеров, музыкантов, тестеров (да да, не удивляйтесь, от этих ребят на самом то деле зависит, на сколько конечный релиз игры будет работоспособный!) и многих, многих других. Так что не думайте, что игра появится на свет только по одному вашему взмаху руки. К этому нужно будет приложить много усилий и запастись терпением. А терпение играет здесь чуть ли не одну из самых ключевых ролей. Этого самого терпения зачастую и не хватает многим начинающим командам или отдельным независимым разработчикам. Надеюсь, что суть моего введения вы уловили. Открываем следующую дверь.

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

"Путь к мечте". Описание игры.
На самом деле этот раздел и есть тот самый пресловутый диздок (дизайн-документ) игры, который по страшным слухам занимает в объеме больше двухсот страниц. Да, бывают и такие и гораздо больше, гораздо. Но наша задача не потребует уж такой плотности описания игрового процесса, но без этого, даже, коротенького описания, нам не обойтись. Так эта часть в разработке является очень важной частью, и без нее никуда, так как диздок несет в себе уже готовую игру, только на бумаге. Он является отправной точкой для разработки или по другому – фундаментов разработки.Давайте я сразу приведу описания некоторых понятий, которыми я оперирую, что бы потом у вас не возникало вопросов, читая данный цикл статей. Итак:
Игровой процесс – это процесс взаимодействия игровых экранов, каждый из которых предоставляет свой интерфейс взаимодействия пользователя и данного игрового приложения.
Игровой экран (game screen) – модульная единица игрового процесса, каждая из которых дает свой интерфейс взаимодействия. Игровым экранном можно вполне назвать то, что вы видите на дисплее в данный момент. Если вы видите игровое меню игры – вы находитесь в игровом экране главного меню игры. На самом деле это довольно абстрактное понятие, но я к нему привык и мне легко работать с ним. Если вы сейчас не до конца поняли о чем идет речь, то надеюсь в дальнейшем (на практике) вам станет более понятны эти определения.
А теперь собственно само описание:
- Название: какое хотите;
- Тип игры: match (поиск соответствий);
- Концепт: на игровом экране присутствует набор фишек, на одной стороне который находится произвольной изображение, а другую ее сторону покрывает так называемая "рубашка" (примером может служить игральная карта); каждая фишка имеет свою пару (другую фишку с точно таким же изображением), а в зависимости от сложности и несколько пар сразу; все фишки первоначально обращены к пользователю стороной с «рубашкой» и пользователь соответственно не знает что конкретно изображено на каждой фишке; цель игры состоит в том, что бы за отведенный промежуток времени угадать (открыть все пары фишек) все соответствия;
- Механика: пользователь кликая курсором мыши по фишке открывает ее для осмотра; при открытии двух фишек подряд возможно два варианта развития событий: 1 – картинки на фишках совпали, а значит считается, что соответствие угадано и фишки при этом выходят из игры; 2 – картинки не совпали, значит фишки переворачиваются обратно к пользователю стороной с «рубашкой» и остаются дальше в игре; после того, как все соответствия угаданы игра (игровой уровень) считается завершенной; если отведенный промежуток времени завершился, а на экране присутствуют еще не угаданные соответствия, значит игра (игровой уровень) считается проигранным;
- Система поощрений и наказаний: за угадывание одного соответствия игроку начисляются игровые очки; так же предусматривается система умножение получаемых очков, это может произойти, когда пользователь, к примеру, угадал подряд три соответствия, ни сделав при этом ошибочных открытий фишек; так же, если пользователь будет бездумно на скорость открывать все подряд фишки, значит его время на прохождение игры (игрового уровня) будет сокращаться; по завершению игры (игрового уровня) остаток времени будет переведет в игровые очки и начислен пользователю как игровой бонус; в зависимости от сложности игры (игрового уровня) на игровом экране так же могут присутствовать бонусные фишки, дающие пользователю различные преимущества в игре;
Ну вот, в принципе, и все описание. Получилось не очень большим конечно же, но сейчас мы хотя бы представляем, чем будем заниматься, что в конечном итоге мы хотим видеть. Естественно, описание игры в конце разработки мало похоже на то, чем было в начале, но оно должно быть, а так что по-вашему мы будем редактировать в процессе? =)

"Путь к мечте". Часть 1. P.S.

На этом я завершаю свою первую часть первой статьи из цикла «Программирование игр. Взгляд изнутри». Я специально не хотел в первой же части нагружать вас каким-то исходным кодом. Думаю, достаточно будет и той информации, что я вам дал, ведь ее то же нужно осмыслить. Вот уже во второй части мы приступим к практической реализации нашего проекта. А пока ПОКА =)

Последняя правка: чт, 18/03/2010 - 23:44
Submitted by MaxImuS on

Комментарии

правка: возникла проблема с оформлением ссылки на википедию как внешней сылкии, текст пропадает из блога весь Smile пришлоcь на ней отключить форматирование wiki

Submitted by MaxImuS on

Может я конечно покажусь старомодным, но перед тем как учить других, неплохо поучиться орфографии самому - в тексте тьма ошибок - не солидно как-то....Хоть бы в Ворд загнал что ли....

Submitted by DekaSoft on
Quote:
DekaSoft писал(а):
Может я конечно покажусь старомодным, но перед тем как учить других, неплохо поучиться орфографии самому - в тексте тьма ошибок - не солидно как-то....Хоть бы в Ворд загнал что ли....
Представь себе =), писалось все в MS Word с включенной проверкой. На счет "учить других" - читайте пожалуйсто со смыслом, а не ради того, что бы найти ошибки и у вас не будет вазникать таких мыслей. Если вы хотите помочь, то пожалуйсто, отредактируйте данный текст и я размещю исправленую версию.
Submitted by MaxImuS on

Отличная статья! С нетерпением жду продолжения Smile

Submitted by zh_alexey on
Quote:
DekaSoft писал(а):
Может я конечно покажусь старомодным, но перед тем как учить других, неплохо поучиться орфографии самому - в тексте тьма ошибок - не солидно как-то....Хоть бы в Ворд загнал что ли....
Ты реально старомоден, Ворд - это для офисных клерков. Правила орфографии уже давно стали условностью.
Submitted by zh_alexey on

Так говорят только те, кто не способен осилить даже русскую грамматику. Попробуй устроится на работу в солидную фирму - пролетишь как фанера над Парижем. Я бы такое "резюме" даже читать не стал, и человек получил бы от ворот поворот. Автор, я не для того чтобы обидеть сказал, а реально напрягает читать с кучей ошибок, и то что тут такие комменты, господа, это вас не красит - не выпячивайте свою неграмотность и не гордитесь ей. Ничего хорошего в этом нету.

PS неужели ворд пропустил слова "подряТ" и "присуДствуют". Я уже не говорю про "из нутри". Как грицца "Ф топку" такой ворд. Удачи.

Submitted by DekaSoft on
Quote:
DekaSoft писал(а):
Так говорят только те, кто не способен осилить даже русскую грамматику. Попробуй устроится на работу в солидную фирму - пролетишь как фанера над Парижем. Я бы такое "резюме" даже читать не стал, и человек получил бы от ворот поворот. Автор, я не для того чтобы обидеть сказал, а реально напрягает читать с кучей ошибок, и то что тут такие комменты, господа, это вас не красит - не выпячивайте свою неграмотность и не гордитесь ей. Ничего хорошего в этом нету. PS неужели ворд пропустил слова "подряТ" и "присуДствуют". Я уже не говорю про "из нутри". Как грицца "Ф топку" такой ворд. Удачи.

Ну во-первых, спасибо за правки, поправил.
Я, к вашему сведению, как раз в такой и работаю, и как видите, не пролетел, и работаю довольно успешно. Да и в геймдеве "русская грамматика" не играет ключевой роли - в нашей среде рулит приславутый "инглишь".
Как раз никто ничего и не выпячивает. Походу дела, вы сами обиделись.

Не в обиду, ну вы наверное страшный зануда =). Повторюсь, наблюдая ваши коменты, вы не умеете читать посты других пользователей. Вы очень категоричен в своих правилах. Если вам ненравится, значит статья просто не для вас.

Submitted by MaxImuS on
Спасибо за статью, с интересом почитаю продолжение.



Quote:
MaxImuS писал(а):
оформлением ссылки на википедию как внешней сылкии
Не совсем понял о чем это?
Submitted by Victor on
Quote:
Victor писал(а):
Спасибо за статью, с интересом почитаю продолжение.

Обязательно будет. Уже работаю над этим.
Есть еще маленькая просьба Smile Может нам сделать на сайте еще раздел "Статьи", а то блог всетаки нужен для другого, да и под обсуждение на форуме это не катит. А так, статья хранится там, а на форуме автоматический генерится ветка обсуждения статьи. Похожую систему можно наблюдать на gamedev.ru

Насчет ссылки - я когда оформлял это все здесь на сайте, то для описания этой ссылки я воспользовался элементом "Внешня ссылка", а после того как отправил это все "в печать", то в итоге в блоге небыло текста вообще Smile Искал методом исключения и выяснил что трабла была в этом элементе. пришлось выложить ее в формате простого текста.

Submitted by MaxImuS on

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

Линку на википедию поправил - текущий парсер понимает русские буквы в url только в percent‐encoding.

Submitted by Victor on
Quote:
Victor писал(а):
По поводу раздела статей - если тебя не будет смущать что отредактировать статью смогут другие залогинившиеся пользователи сайта, то можно использовать вики.Линку на википедию поправил - текущий парсер понимает русские буквы в url только в percent‐encoding.
Ладно, спасибо за оперативный отзыв! Пока буду в блог писать, а как цикл подойдет к окончаню, можно будет перенести их в wiki и оформить уже как ресурс. А блог немного подчистить Smile За разъяснение по оформлению ссылок отдельное спасибо.

P.S. Где проподал то?

Submitted by MaxImuS on
Quote:
MaxImuS писал(а):
Где проподал то?
Да... сезон дедлайнов блин, на работе, учебе, проекте )
Submitted by Victor on
Quote:
DekaSoft писал(а):
Может я конечно покажусь старомодным, но перед тем как учить других, неплохо поучиться орфографии самому - в тексте тьма ошибок - не солидно как-то....Хоть бы в Ворд загнал что ли....
Ошибки не сильно бросаются в глаза.

Отличная статья !

Круто, а я вот на адд-онах и модах понял, что игра не просто код, но и труд многих людей, в том числе организаторов. На модинге тож можно прокачаться, ИМХО: в каждой игре есть что улучшить и добавить.

Submitted by Militari on

GameDev.by