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

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