воскресенье, 06 июня 2010
Спешу сообщить, что 4ого числа проект был сдан. Это не значит, что этот дневник закрывается
Сейчас выложу один скриншот. А будет время, расскажу о том, о чем ещё не рассказывал.

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


Вот такая постапокалиптическая картинка получилась у меня

И огромное спасибо тем людям, которые мне помогали в этом проекте.
четверг, 20 мая 2010
Спешу сообщить о том, что на сегодня запланированна альфа версия проекта.
На момент написания поста добавлено:
♦ Стрельба из пушки.
◊ В плазменной камере пушки происходят микровзрывы при стрельбе.
◊ В месте попадания плазменной материи из пушки видно, как остатки её, сталкиваясь, дают искры.
♦ Введен подсчет очков здоровья.
◊ Здоровье у противников отнимается при стрельбе по ним
♦ Пушка анимированна (в камере теперь течет поток несжатой плазмы).
♦ Переделана анимация персонажа.
♦ Сделаны наброски игрового меню.
Проект пока-что немой, до звуков ещё не дошло
Но все будет. Есть одна интересная идея, может реализую. А пока все, за работу!
To do list:
♦ Сделать статистику игры
♦ Нарисовать GUI
◊ Прогресбары для здоровья
◊ Под прицелом показывать hp противника
◊ Может быть таблица статистики
♦ Сделать ragdoll для смерти персонажа
♦ Дорабоать класс, отвечающий за статистику персонажа
◊ Ввести поле name
◊ Ввести поля фрагов и смертей
♦ Озвучить события и действия
─────────────────────────────────────
♦ Начать продумывать уровень [для беты]
◊ Дизайн уровня
◊ Респауны
♦ Ввести систему повреждений [опционально]
◊ Вернуть удаленную мной при тестировании систему колайдеров на персонаже
◊ Прописать им теги и в зависимости от того, куда попадаешь, считать разное повреждение
♦ Подобрать саундтрек для меню и титров
♦ Сделать титры
На момент написания поста добавлено:
♦ Стрельба из пушки.
◊ В плазменной камере пушки происходят микровзрывы при стрельбе.
◊ В месте попадания плазменной материи из пушки видно, как остатки её, сталкиваясь, дают искры.
♦ Введен подсчет очков здоровья.
◊ Здоровье у противников отнимается при стрельбе по ним

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

To do list:
♦ Сделать статистику игры
♦ Нарисовать GUI
◊ Прогресбары для здоровья
◊ Под прицелом показывать hp противника
◊ Может быть таблица статистики
♦ Сделать ragdoll для смерти персонажа
♦ Дорабоать класс, отвечающий за статистику персонажа
◊ Ввести поле name
◊ Ввести поля фрагов и смертей
♦ Озвучить события и действия
─────────────────────────────────────
♦ Начать продумывать уровень [для беты]
◊ Дизайн уровня
◊ Респауны
♦ Ввести систему повреждений [опционально]
◊ Вернуть удаленную мной при тестировании систему колайдеров на персонаже
◊ Прописать им теги и в зависимости от того, куда попадаешь, считать разное повреждение
♦ Подобрать саундтрек для меню и титров
♦ Сделать титры
вторник, 13 апреля 2010
Сегодняшний пост своего рода маленький кусочек прогрессбара
Я расскажу про то, что уже готово.
Итак. На текущий момент у нас есть демо уровень, состоящий из бесконечной плоскости (уровень пустыни
, куда можно респауниться. У нас РАБОТАЕТ сеть
И теперь без лагов и подтормаживаний. Отдельно про сеть я ещё расскажу. Значит уже можно создать сервер, подключиться к нему и вдвоем побегать (больше двух персонажей я не тестил). Анимация синхронизируется по сети, так что все смотрится шикарно. Персонаж немного поменялся с технической стороны, но про это я тоже напишу потом. Показать в принципе уже есть что, но работы ещё *много*
Так что работаем!
Хочу выразить отдельную благодарность Count'у за помощь в разработке фирменного стиля и логотипа игры. Ах да, ещё за небольшую PR-акцию в его ЖЖ. Сэнк мэн!

Итак. На текущий момент у нас есть демо уровень, состоящий из бесконечной плоскости (уровень пустыни



Хочу выразить отдельную благодарность Count'у за помощь в разработке фирменного стиля и логотипа игры. Ах да, ещё за небольшую PR-акцию в его ЖЖ. Сэнк мэн!
суббота, 10 апреля 2010

Сегодня я расскажу об анимации персонажа.
Мы ходим и не задумываемся, как же все таки клёво мы ходим. Зато легко подмечаем, если аниматору игрового персонажа платили мало

Игровые персы очень на нас похожи

В модельке моего персонажа уже были кости (напомню, я брал готовую). Я добавил лишь пушку.
Я анимировал персонажа в 3D Max. Выставляя ключевые кадры, макс сам их интерполирует (как же я люблю в последнее время это слово

Как видно на изображении, достаточно было расставить кости в 4 ключевых кадрах, между которыми я оставлял по 5 кадров для интерполяции. Ну и для того, чтобы вернутся в исходное положение, я просто копировал первый ключевой кадр в конец.
Теперь пару моментов, с которыми у меня были терки.
Первое. Это скорее для тех, кто моделит с нуля. Перед тем как начинать моделить - читаем документация к движку. В каждом движке есть свои особенности как и везде. И для того, чтобы не перемоделивать или ещё что-нибудь - RTFM!
Второе. Перед тем, как начинать анимировать, взглянем на нашу модель... Если нас все устраивает, это не значит что все хорошо



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

Четвертое. Для того, чтобы ваша анимация хорошо повторялась, рекомендую убрать пару кадров в конце. Иначе мы увидим дерганье и может быть даже небольшое замирание перса. А так все гладенько.
Про анимацию пока все. Может быть ещё затрону эту тему по надобности. Спасибо за внимание.
воскресенье, 07 марта 2010

List of Work.
Вообще разработка любого продукта требует отчетливой постановки задачи и декомпозиции её в ряд более мелких задач для упрощения. Так нас учили. И знаете что, оно работает =)
Вспоминаю самый мой первый день над проектом... Каша в голове, не знаю за что взяться... Потом разложил все по полочкам, стало проще. В общем вот краткий список тех этапов, которые должен пройти каждый геймдевелопер.
1) Conception. Придумать собственно что, где и когда. Тут надо потратить достаточно много времени. Продумать вселенную, действие, сюжет. В общем все, что касается мира игры. Я ещё не совсем до конца продумал все моменты, но все что нужно на этом этапе у меня уже есть. Отдельно об этом я напишу чуть позже.
2) Concept-art. Этот этап можно пропустить, но качество проекта резко может снизится. Все члены команды должны по-одинаковому представлять мир игры. Иначе будет бред. Но так как я работаю почти один, мне это не обязательно. Я сам себе голова


С этого момента работа над игрой должна разделяться и разноситься по разным отделам. Программисты делают свое, художники, моделлеры, звуковики свое. Но повторюсь... Я делаю все почти один. И в моем плане следующий этап это:
3) Modeling. На этом этапе нужно сделать все игровые объекты включая персонажей игры. Но так как времени у меня мягко говоря немного, я поступил следующим образом. Почти все модели окружения я взял из ресурсов игр Fallout 3 и The Elder Scrolls IV: Oblivion. Мой проект некоммерческий. А с авторским правом я что-нить придумаю =) Следовательно я почти пропускаю такой важный шаг, как текстурирование всего этого добра. Все модели уже имеют развертку при экспорте и готовые текстуры. Вполне возможно я буду их править. Но я думаю насчет этого мы поговорим в посте, посвященному оптимизации... Ах да, стоит отметить то, что персонажа я взял из Half Life 2. Он тоже затекстурирован. У него есть скелет. Но об этом позже в посте, посвященному анимации.
4) Level design. Для начал я сделал очень грубый набросок уровня. Еще пока не знаю, сколько всего будет уровней, вполне возможно вообще один большой. Этот момент продумывается. Детализировать уровень я буду по мере необходимости. Например когда буду прикручивать сюжетные фишки и в самом конце, когда останется только доработка проекта.
5) Animation. Здесь нужно анимировать все то, что движется, крутится и вертится. На сегодняшний момент персонажа я почти заанимировал. Он уже много чего умеет делать. Но об этом позже.
6) Scripting. Тут я почти ещё не притрагивался. Код написал только для перемещения персонажа по карте и для анимации текстурки на пушке. А ещё нужно написать самое главное: СЕТЬ. Ну я думаю как доделаю персонажа, расправлюсь со всей анимацией, сяду писать эту часть. Также нужно написать геймплейные штучки, скрипты сюжета, оружия и прочее. Как вы догадались об этом позже

7) GUI. Отрисовывается Graphical User Interface. Кнопочки, менюшки. Магия 2D графики. Ещё все не продумал, вполне возможно гуи будет в 3D. Буду смотреть по времени. Сюда можно вписать работу над заставками и роликами. Все же ещё надеюсь, что успею хотя бы заставочный сделать (:
8) Sound. В больших проектах это наверное один из самых длительных этапов. Озвучить каждого персонажа, каждый эффект. Я пока ещё не решил, что буду делать с озвучкой (может тырить, может и сам что озвучу


9) Assembly. Сборка всего воедино. Долгая работа в среде Unity. Импорт объектов, скриптов, связывания их между собой и прочее.
10) Testing & optimization. Тут собирается бетка (альфа версия думаю будет на момент написанной сети). Зовем друзей и хэв фан


11) Release Candidate & Release. Ну тут выпускаем релиз кандидат. Оформляем Credits. День-два прогоняем тесты. И если все в порядке делаем финальный билд.
Это вкратце


Вступление.
Это дневники разработчиков "The Black S.P.O.t.". Добро пожаловать в нашу реальность.
Этот проект является заданием по курсовому проектированию по предмету "Системное программирование". Задача: сделать сетевой шутер. Я решил реализовать поставленную задачу на 3D-движке Unity3D. Но об этом позже ;)
Концепция.
Наверное один из самых сложных моментов не только в разработке игр да и вообще в любой разработке — это проектирование, создание концепта. Всегда сложно придумать что-то свое, чего ещё не было, нежели взять готовую концепцию и переделать её. Время реализации текущего проекта ограничено. Дедлайн где-то в июне, может быть в конце мая. Плюс в универе существуют и другие достаточно важные предметы, на которые нельзя забивать.
И так, что же я решил сделать. Я решил создать свою игру. "Чёрт, сложно будет...", - думалось мне в первые минуты после утверждения проекта. Но после составления плана работ, стало легче. Да, работы много. Проекты создаются годами, оттачиваются и шлифуются, переделываются и только потом выходят в свет. У меня же есть 3 месяца... Пишу это, и сам улыбаюсь. Я справлюсь ;)
Так что же насчет моей концепции... Действие игры происходит в постапокалиптическом мире. [:||||||:] :) Но так как это сетевой шутер, я решил отдалится от классического deathmatch, и продумать, как можно разнообразить сетевой геймплей. Сейчас все карты раскрывать не буду (не все ещё продумано до мелочей :) Могу сказать только то, что это будет сетевой шутер с небольшим сюжетом. Будут небольшие квесты. Фраги на победу влиять не будут. их счет будет вестись только для статистики. Думаю для вступительной части хватит :) В следующей части я напишу об общих этапах создания игр и немного о технической реализации "The Black S.P.O.t.".
Спасибо за внимание.