13

Неделя хардкода 8

Привет =)


Я делаю новую игру на libgdx с 20-го апреля.

Игра - action/rpg в мрачном сэттинге для мобильников. Слабых мобильников ;-)

Игры написанные не руками из жопы идут на всех устройствах.


Исходный код: http://github.com/cyberbach/likehunters


За прошедшую неделю я сделал:

- сделал голый проект/заготовочку на фреймворке libgdx

- подключил/настроил физику Bullet и компонентную систему Ashley

- рефакторил код MyPlayer, перенёс его из синглетона в Ashley

- возможность менять главного героя, перекидыванием одного компонента из одной Entity в другую

- сделал физическое тело для камеры

- переделал AnimationComponent - теперь анимации нужно переключать только по ID, а не по названиям. Хотя сами названия и хранятся в маленьком и быстром Immutable массиве.

- сделал GameHelper класс (не синглетон), чтобы его один раз использовать и выгрузить. И облегчить классы MyPlayer и DynamicLevels

- убрал из рендера КамеруОтсечения и перенастроил логику выборки для ПризмыОтсечения основной камеры.


Готовы механики:

- неограниченный мир, который подгружается "на лету"

- интерактивные объекты с физикой, поднимаемые объекты, разрушаемые объекты

- работа с ГУИ

- диалоговая система

- NPC действуют по скриптам, могут ходить/ждать/говорить/что-то делать или могут нападать

- 3д-текст и 3д-частицы 2д-декалями


TODO:

- Моделировать уровни и всё остальное

- Оформление ГУИ

- моделировать первые 3 уровня (с анимациями)

- кат-сцены

- motion-trail оружию, анимацию оружию

- фиксация камеры на цели

- хит-боксы на костях

- бамп-маппинг, фейк тени, быстрые шейдеры, свет

- анимация уровня

---

Два слова, как я делал физическое тело камере.

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


Над телом ГГ (playerBody) я поставил малюсенькое, но тяжелое Призрачное тело камеры (GhostCameraBody). Это тело создано с флагом CollisionFlags.CF_CUSTOM_MATERIAL_CALLBACK.


Этот флаг подсказывает Bullet-движку, что тело полностью участвует в физике, может посылать/принимать сообщения о контактах и им можно как угодно управлять. И импульсами, и просто так таскать через setWorldTransform. В любом случае, тело участвует в физике.


FixedConstraint держится только телами, которые 100% должны участвовать в физике. Другие типы тел не подходят, пробовал на CollisionFlags.CF_KINEMATIC_OBJECT и CollisionFlags.CF_NO_CONTACT_RESPONSE - не работает. Либо приклеплённое тело падает на землю, либо вообще в начале координат лежит и не шевелится. По-этому, только CollisionFlags.CF_CUSTOM_MATERIAL_CALLBACK.


К маленькому телу GhostCameraBody я прикрепил с помощью FixedConstraint лёгкое, но большое тело камеры (cameraBody).


Теперь тело cameraBody полностью получает трансформацию от тела GhostCameraBody, хотя и висит на небольшом отдалении в воздухе.


Телу GhostCameraBody я передаю трансформацию в особой системе PhysicalConnectSystem (позицию без вращения) от персонажа playerBody, каждый тик физики.

- GhostCameraBody следует за playerBody

- а камера cameraBody следует за GhostCameraBody и тело cameraBody можно вертеть вокруг GhostCameraBody

Вот и всё.

---

Интересные механики (если получаются), моделирование и анимацию я делаю в прямом эфире

на: http://twitch.tv/cb_online


gl & hf

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

2
Автор поста оценил этот комментарий

я был обычным программистом, а потом попробовал наркотики и стал реверсером((

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Фух... хорошо хоть java-script-ом не балуешься!


Говорят, что нужно приложить ко лбу книгу "Образ мышления IDA" и всё пройдет.

3
Автор поста оценил этот комментарий

Добавь хоть README.md простой, мало кто не захочет сам разбираться, что да как.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ок, добавлю. Ещё ни разу этого не делал, надо учиться =)

3
Автор поста оценил этот комментарий
Из всего написанного понял только: привет,игра и мобильник! А так годный пост, успехов!
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Спасибо =) Про сценарий недели через 3 напишу =)))

3
Автор поста оценил этот комментарий

Звиняй, но только это пришло на ум после этих слов)

Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо, что интересуешься моими проектами =)))))))))))) Негатив тоже нужен!

показать ответы
0
Автор поста оценил этот комментарий

День 358:

Объект продолжает бороться с libgdx.

Продолжаю наблюдение.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

У меня с libgdx особые отношения ;-) Он мне даёт всё что я хочу.

показать ответы
2
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Я уже думал об этом и стараюсь каждую неделю, что-нибудь полезное писать. Вот сейчас про камеру написал =)

Автор поста оценил этот комментарий

по теме TODO

бряк сюда:

004a3c27 8a15f04b9100 mov dl,byte ptr [mstrt+0x514bf0 (00914bf0)] ds:002b:00914bf0=00

и как сработает -переписать единицей энтот байт. будет фуллверсия.


TODO: если перезагрузить базу, т всё слетит, тут в него снова 0 запишут

.text:004574D8 test al, al

004574da 0f9405f04b9100 sete byte ptr [mstrt+0x514bf0 (00914bf0)]

004574e1 803df04b910000 cmp byte ptr [mstrt+0x514bf0 (00914bf0)],0 ds:002b:00914bf0=00


TODO: и разобраться с числом юзеров

TODO: и правами на дб тупо в запись

TODO: и правами на дб поюзерно, в флагами


############################################################################################################################

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

что с тобой не так?

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества