Дневник разработки - "TetriX 3D GraphiX Ultra 7" (HBit SOFT pro)

Говорят, каждый программист в своей первой программе должен вывести надпись "Hello word!", а за свою профессиональную карьеру написать игру Тетрис. Я не сделал ни того, ни другого. Хоть я и не считаю себя программистом, учытывая свой род деятельности и полученное образование, но выполнить один из этих пунктиков всегда хотелось. А так как свою первую программу я уже написал, то выбор лег на Тетрис.

Начнем, пожалуй, с начала. А именно - с названия.

Когда я в детстве играл в Тетрис, то в голове крутились огромные мысли о трехмерном Тетрисе и прочых наворотах в игре. Тогда же было и придумано название: Tetris 3D Graphics Ultra 7. Однако, авторские права и логика заставила изменить название на текущее.

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

В мире существует огромное количество разных Тетрисов. И просто сделать стандартный Тетрис с измененным названием - это неинтересно. Неинтересно как самим разработчыкам, так и конечным пользователям. Поэтому захотелось добавить в игру что-то еще. Слушая рассказы о разных современных играх, я заметил, что почти в каждую из них уже начынают совать элементы РПГ. И, не знаю как это назвать, может, в порядке бреда, я решил добавить в Тетрис элементы РПГ. Знаю, что подобные объединения уже были, но я в них не играл и пока играть не собираюсь, чтобы они не повлияли на мои мысли. Может, получытся несбалансированно и глупо, но зато получу отличную возможность поучыться на своих ошыбках.

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

И еще, хотелось бы пожелать удачы всем участникам конкурса. Хоть все и не победят, но это все равно большая честь участвовать в ПЕРВОМ конкурсе на данном ресурсе!!

Последняя правка: пн, 15/11/2010 - 11:03
Submitted by Otinagi on

Комментарии

Набросал минимальный диз.док. Описал основную механику игры, систему поощрений и РПГ составляющые. Будет около десятка бонусов, несколько навыков у игрока. Пытался увидеть основную цель игры в своем проекте, вроде увидел. Под целью, я понимаю какое-то стремление игрока, соперничество между несколькими игроками, типа кто лучше прокачался, кто больше заработал.

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

Первый этап можно счытать выполнен. Пора переходить ко второму.

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

В идеале это должно занять день-два, но в реале раньше конца след. недели вряд ли что четко определится.

Submitted by Otinagi on
Стадия проектирования в целом может уже счытаться завершенной. Хотя, некоторые моменты все еще остаются весьма сомнительными и непонятными, но думаю, что в процессе разработки проведу соответсвующые исследования в этих направлениях и все вопросы отпадут.

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

Думаю разбавить мир игры разными динамическими объектами, чтобы картинка не казалась "замерзшей".

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

Показать пока нечего, но надеюсь к концу недели будет готово меню.

Submitted by Otinagi on
Я вот разрабатываю вообще не думая о том какие разрешения мониторов бывают. Знаю лишь, что они бывают разные.

Моя игра может подстроиться под любое разрешение хоть квадратное 1:1. Думаю к такой гибкости и нужно стремиться.

Submitted by Hale_32bit on

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

Submitted by Otinagi on
[img_assist|nid=845|title=Главное меню|link=popup|align=left|width=100|height=80]Завершыл разработку меню (см. скриншот). Объекты в меню динамические, но, к сожалению, этого не видно на скриншоте. Фигурки создаются случайным образом и медленно падают вниз.

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

Следующым шагом будет разработка игровой Вселенной и реализацыя физики в ней.

Submitted by Otinagi on
Пожалуй это самый загадочный проэкт на данном конкурсе. Я не могу представить ... Shok
Как-то у меня тоже была идея написать плоский 3D тэтрис. Единственное что я придумал - это то что уровень не имеет боковых стенок и зациклен по горизонтали. И тут трёхмерность играет свою роль. Т.к. уровень выглядит в виде двух прозрачных цилиндров один внутри другого, и в слое между этими цилиндрами происходит игра.

Может пригодится идея.

Submitted by Hale_32bit on
Да ничего загадочного (: Обычный тэтрис.. Трехмерность тут будет просто потому что мне сложнее рисовать в паинте спрайты для объектов (: Что-то сравнимое с маджонгами, когда в них трехмерные фишки чысто для красоты сделаны.

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



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

Submitted by Otinagi on
Неделя прошла не так продуктивна, как я планировал. Наткнулся на огромное количество проблем, но с некоторыми из них, считаю, достаточно успешно справился. В итоге на сегодняшний день уже осуществлены очередь фигурок, падение фигурок, создание поля. Буду приступать к физике игры и некоторых анимирований.

Заметил, что некоторые конкурсанты уже вылажыли демо-версии своих проектов. Это с одной стороны радует, а с другой стороны пугает - "аааааа, у них уже все готово, а я торможу!!!!!" (: Скоро новый год. Планирую выложыть к этому замечательному празднику и свою демку. Скорее всего, это будет просто тетрис, без задуманных РПГ-составляющых и бонусов. На то это и демка (:

Submitted by Otinagi on

Долго думал, что же я такого забыл. Сейчас вспомнил - забыл я картинку в прошлый раз прикрепить.[img_assist|nid=858|title=Геймплей|link=popup|align=left|width=58|height=100]

Submitted by Otinagi on

[img_assist|nid=869|title=Геймплей|link=popup|align=left|width=90|height=100]В последнее время я сделал упор на графическую составляющую игрового проекта и готовил демонстрацыонный релиз к Новому Году. Следовательно, геймплейная составляющая за это время абсолютно никак не изменилась, зато игра обзавелась GUI, некоторой анимацыей. На данный момент, можно сказать, протекает стадия альфа-тестирования проекта и некоторая оптимизацыя алгоритмов и методов. Думаю, что демонстрацыонная версия будет довольно полезным шагом для окончательного релиза, так как позволит выявить некоторые неудобства для пользователя.

Submitted by Otinagi on
За геймплей тетриса я бы не переживал, его сложно испортить :D

А вот текстурки для GraphiX Ultra надо бы пересмотреть.

Submitted by Rebel on
Rebel, спасибо за совет. Приму к сведению.

Ссылка на демо-версию игры: скачать.

Submitted by Otinagi on
Quote:
Otinagi писал(а):
Ссылка на демо-версию игры: скачать.
Прикольно.

Я бы еще оконный режим прикрутил, а то на больших мониках не очень удобно играть.

Submitted by Victor on
Quote:
Victor писал(а):
Я бы еще оконный режим прикрутил, а то на больших мониках не очень удобно играть.
Хорошая идея. Думаю, её надо обязательно будет реализовать.

Всех с наступающым НОВЫМ ГОДОМ!!

Submitted by Otinagi on

Только сейчас смог поиграть.

Очень понравилось меню.

Когда я писал тэтрис то делал отталкивание деталей от стенок т.е. если что-то мешает детали повернуться то проверяется возможность (поворот + смещение на клетку вправо) ,(поворот + смещение на клетку влево) ,(поворот + смещение на две клетки вправо) ,(поворот + смещение на две клетку влево). Если хоть одна из возможностей доступна то она выполняется. - это делает игру более приятной.

Submitted by Hale_32bit on
Quote:
Hale_32bit писал(а):
Когда я писал тэтрис то делал отталкивание деталей от стенок т.е. если что-то мешает детали повернуться то проверяется возможность (поворот + смещение на клетку вправо) ,(поворот + смещение на клетку влево) ,(поворот + смещение на две клетки вправо) ,(поворот + смещение на две клетку влево). Если хоть одна из возможностей доступна то она выполняется. - это делает игру более приятной.
Да, спасибо за замечание. Я знаю о таком поведение элементов в других Тэтрисах. И это действительно надо бы реализовать. Было бы только время.

Из-за возникшых проблем, за две недели я даже не пытался сесть за дальнейшую разработку своего проекта. И, скорее всего, за оставшееся две недели у меня тоже абсолютно не будет времени. Так что я с полной уверенностью могу сказать, что довести до конца свой проект не смогу. Но с дистанцыи я не сойду, для создания массовки в конкурсе, чтобы он все-таки состоялся. Финальный релиз будет содержать билд, который был урезан до демки, которую вы могли видеть на Новый Год. Но в нем уже будут присутствовать элементы РПГ (прокачка навыков игрока) и несколько бонусов.

Также возникла проблема с доступом к FTP, куда я хотел залить свою демку на Новый Год. В самом начале конкурса я проверял доступ и, вроде, он работал. Или может не работал, потому что я никогда не работал с FTP и мог неправильно оценить его работоспособность. Сейчас же мне просто выдает ошыбки на попытки входа под своим логином. Недавно я видел подобную проблему с FTP у другого участника. Возможно, стоит проверить администрацыи работоспособность всех личных папок на FTP?

Submitted by Otinagi on

Хорошо, что не сошли с дистанции! Возможно займёте призовое место Wink

Submitted by S.I.M. on
Обнаружылось достаточное количество ляпов с меню и бонусами. Если не извращаться, то они особо и не заметны, но се равно хотелось бы от них избавиться. Правда, это приведет к введению достаточно большого количества кода. На выходных ночью, думаю, найду время для доработки.

Не совсем понял смысл сдачы проектов за 3 дня до конца конкурса. Что делать оставшыеся 3 дня? Или в течении них можно будет обновлять свою разработку?

Submitted by Otinagi on
Quote:
Otinagi писал(а):
Не совсем понял смысл сдачы проектов за 3 дня до конца конкурса. Что делать оставшыеся 3 дня? Или в течении них можно будет обновлять свою разработку?
Предполагалось что в эти три дня мы будем обрабатывать поступившие заявки, но так как их количество будет скорее всего не очень большим, то мы наверное пересмотрим этот срок.
Submitted by Victor on
Выходные прошли совсем не так, как планировались. Вместо кое-какой оптимизацыи, я занимался изменением изображений бонусов и усовершенствованием алгоритмов их обработки. Пришлось немного изменить механику бонусов, чтобы игра стала более сбалансированная.

Немного изменю код программы и примусь за написание мануала. Думаю, некоторые пояснения к игровому процессу все-таки будут необходимы, ибо есть моменты, которые кажутся неочевидными на мой взгляд. Хотелось бы еще написать музыкальную тему для игры, но вряд ли на это найду время.

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

Собственно и сам постер: http://ipicture.ru/Gallery/View/3259473.html

Submitted by Otinagi on
Вчера разобрался с FTP. Все оказалось намного проще, чем делал (: Впрочем, как обычно. Для проверки закинул в свою папку постер и демоверсию.

Завершыл работу над мануалом. Вроде осветил самые важные моменты.

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

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

Submitted by Otinagi on

Блин, поиграл в демо - аж мутить стало: это постоянное покачивание камеры как морская болезнь Bad При разрешении 800х600 надпись "специально для конкурса" не влезает на экран. И это.... еще... "жи","ши" пишутся с буквой "и" как и "чи" и "ци" (за некоторыми исключениями). Или это модно стало с такими ошибками писать? И еще. Зачем давать играм такие названия? Его даже прочитать в один присест тяжело, тем более, что оно тоже с ошибками. Я понимаю, что это сделано специально, но на будущее - это совсем не хорошо. Надо стараться избегать слов типа "ультра", "мега", "супер" и т.д. и такого написания как "grafix", "hackerz", "smilez". Надеюсь, критика будет воспринята правильно. Smile

Submitted by DekaSoft on
Quote:
DekaSoft писал(а):
Блин, поиграл в демо - аж мутить стало: это постоянное покачивание камеры как морская болезнь Bad При разрешении 800х600 надпись "специально для конкурса" не влезает на экран. И это.... еще... "жи","ши" пишутся с буквой "и" как и "чи" и "ци" (за некоторыми исключениями). Или это модно стало с такими ошибками писать? И еще. Зачем давать играм такие названия? Его даже прочитать в один присест тяжело, тем более, что оно тоже с ошибками. Я понимаю, что это сделано специально, но на будущее - это совсем не хорошо. Надо стараться избегать слов типа "ультра", "мега", "супер" и т.д. и такого написания как "grafix", "hackerz", "smilez". Надеюсь, критика будет воспринята правильно. :)
1. Камера уже переработана. Скорость чуток уменьшена и постоянно уменьшается с увеличением скорости падения фигур.

2. Жи-ши всегда резали мне глаза, поэтому и привык сам писать по белорусской аналогии. могу писать правильно, но это действительно сильно давит мне на психику (:

3. Названий таких никогда больше не будет. И здесь оно такое только потому что это была голубая мечта розового детства.

4. За разрешение огромное спасибо. Допустил достаточно грубый недочет в настройке размера надписи. Исправил.

Submitted by Otinagi on

Молоток, оперативно. За название - сорри, не прочитал самый первый пост.

Submitted by DekaSoft on
Добавил себе на FTP промо-ролик для своего проекта. Надеюсь, я правильно понял, что значыт промо-ролик.. Если всё не так, то хотелось бы получыть парочку пояснений по этому поводу. Чуть позже планирую еще добавить и геймплейный ролик.

Ссылка на ролик (12,1МБ): ftp://contest.gamedev.by/hbitsoft/TetriX%20Promo.avi.

Submitted by Otinagi on

У меня не качается.

Submitted by Hale_32bit on
Quote:
Hale_32bit писал(а):
У меня не качается.
Два раза скачывал сам. И другие челы уже скачывали. Так что не знаю что не так )=

Доделал геймплейный ролик. Весит 52,7 МБ. Ссылка на скачку: ftp://contest.gamedev.by/hbitsoft/TetriX%20GamePlay.avi

Submitted by Otinagi on
Как говорится, не наевшысь не налижышься. Все ошыбки все равно исправить не смогу (= Поэтому тоже регистрирую свой проект.

Сегодня весь день делал в основном косметические исправления и тестирование. Хотелось бы дать совет: перед игрой почытайте мануал.

Ииии.... Желаю всем конкурсантам удачы!! Было приятно, интересно и полезно участвовать в этом конкурсе, тем более, что он первый на этом ресурсе!

Submitted by Otinagi on
Ну чтож получился хороший тэтрис в который можно долго играть, т.к. бонусы и система развития время от времени не даёт соскучиться. В самом начале когда уровень апался часто, у меня выработался рефлекс хвататься за мышку каждый раз когда собирается линия, потом это прошло но рефлекс остался. Поэтому думаю лучше бы было сделать ап уровня без паузы в игре.Приятно удивил преход на новую скорость когда границы стакана перерисовываются в новые краски.

Пока дошёл только до пятой скорости, завтра ещё поиграю. Спасибо автору за игру. Smile

Submitted by Hale_32bit on

Кнопкой Enter тоже можно нажать кнопочку. Я долго думал над эффектом LevelUp, и решыл остановиться именно на таком варианте, по многим причынам. Все таки во многих играх *не онлайновых* внимание пользователя переводят с игрового процесса на LevelUp. Простое изменение значений или выскакивание надписей (вроде как при получении бонуса) будет отвлекать от игрового процесса. Игроки как правило любят знать что, как и на сколько прокачалось и потереть ручки гордясь своим прогрессом.

Submitted by Otinagi on

GameDev.by