Игра: Mechanic 8230

Список разделов Склады работ и W.I.P Ход создания работ (W.I.P)

Описание: Делитесь с другими процессом создания в Blender Вашего шедевра
Модератор: exooman

  • 18

Сообщение #1 Puup Zemlya » 18.08.2016, 21:45

Изображение

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

ИСПОЛЬЗУЕМЫЕ ПРОГРАММЫ
Blender/BGE, Gimp, Krita

phpBB [media]


РАЗРАБОТЧИКИ
Katherine Novakovskaya, Igor Tverdokhleb.

ОСОБАЯ БЛАГОДАРНОСТЬ
Михаил Багазов

НАЧАЛО РАЗРАБОТКИ
02.08.2016


© 2016 PUUP ZEMLYA
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 2

Сообщение #2 zloy_pingvin » 19.08.2016, 08:07

Как и писал ранее на трубе.Выглядит довольно интересно. Будем следить за прогрессом ;)
zloy_pingvin M
Аватара
Откуда: Саратов
Сообщения: 275



Сообщение #3 Puup Zemlya » 19.08.2016, 20:56

zloy_pingvin писал(а):Выглядит довольно интересно.

Спасибо! ;)


Есть вопрос ко всем, касательно игровой логики в BGE ?:-|

Имеем объект в руке персонажа (Static / Actor / Chost). Скрывается и появляется за счет актуатора Visibility, когда берем предмет и выбрасываем. За счет сенсора Near другие объекты вокруг его распознают(например именно гаечный ключ откручивает болты). Так вот нюанс в том, что этот скрываемый через Visibility объект в руке, потомок арматуры (кисти) виден болтам постоянно и когда виден и когда невиден. Может кто знает как сделать так, чтобы гаечный ключ когда он скрыт не был виден болтам, по примеру с актуатором Edit Object / Add Object ?
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 1

Сообщение #4 exooman » 19.08.2016, 22:09

давно я не вникал в дебри логики БГЕ, но чуется мне, что Visibility влияет только на рендер объекта. А чтобы не было просчета физики, эту физику нужно выключить(либо "статик" вырубить, либо объект на другой слой запихать). Ghost вроде тоже должен выключать физику.

З.Ы. мельком пробежался по методам и переменным KX_GameObject(SCA_IObject) и иже с ним, и не нашел методов с доступом к классу физики. Странный API...

З.З.Ы. хотя отсутствие прямого доступа к настройкам физики не мешает тебе сделать костыль в виде bool-переменной, обозначающей активен объект или нет. Если он не активен, то сенсор его игнорирует. По идее, значение Visibility - это уже готовая bool-переменная. Можно её использовать.
exooman M
Аватара
Сообщения: 1213


  • 1

Сообщение #5 denis8424 » 19.08.2016, 22:32

состояния же, которые State.
Спойлер
примерно так:
1) ключ в руке "появился" и всем гайкам отсылается сообщение "может будут крутить"
2) сенсор сообщения на конкретной гайке включает слой состояния , на котором есть конттроллер с подключенным сенсором неар и актуатором какого-то там действия.
3) ключ "выкидываем", всем гайкам отправляется соответствующее сообщение, скажем "крутить не будут"
4) и по срабатывании сенсора, получившего сообщение из пункта три, удаляется или отключается состояние с сенсором неар и прочими...

есть недостаток - дофига сенсоров неар и месседж на каждой гайке. логичнее было бы управлять видимостью/невидимостью ключа и способностью эти самые гайки крутить именно в логике ключа, то есть разместить сенсор неар именно на ключе, а узнавать какую именно гайку крутим скриптом с помощью свойства near.hitObject(), если разработчики блендера ничего не поменяли.

Добавлено спустя 7 минут 33 секунды:
делал когда-то пример работы состояний
denis8424
Аватара
Сообщения: 678

  • 2

Сообщение #6 graphite » 20.08.2016, 02:26

очень стильно выглядит.
graphite M
Аватара
Сообщения: 831

Сообщение #7 Puup Zemlya » 20.08.2016, 07:01

exooman писал(а):З.З.Ы. хотя отсутствие прямого доступа к настройкам физики не мешает тебе сделать костыль в виде bool-переменной, обозначающей активен объект или нет. Если он не активен, то сенсор его игнорирует. По идее, значение Visibility - это уже готовая bool-переменная. Можно её использовать.

Спасибо!) выход хороший, но в этом случае, нужно скрипт писать, а я не программист(по крайней мере пока). Да и интересно понять как это логикой можно сделать

denis8424 писал(а):состояния же, которые State.
Спойлер

Ух спасибо!) этот вариант подходит, все получилось! С состояниями имел дело впервые, очень крутая штука


graphite писал(а):очень стильно выглядит.

Благодарю!)
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 2

Сообщение #8 Bibo » 20.08.2016, 09:16

Заинтриговало. Но если в будущем будут новые ролики, сократите длительность вступления в 2-3 раза. 10 секунд для лого, это слишком.

Добавлено спустя 30 минут 41 секунду:
Puup Zemlya писал(а):Имеем объект в руке персонажа (Static / Actor / Chost). Скрывается и появляется за счет актуатора Visibility
В последних версиях блендера можно контролировать collisionGroup и collisionMask объекта. Помимо сокрытия объекта через Visibility, ему нужно назначить слой физики, на котором не будет фиксироваться столкновение со взаимодействующими объектами. Соответственно, вместо сенсора Near нужно будет использовать сенсор Collision.
Но сделать это можно только скриптами, увы.

Добавлено спустя 1 минуту 30 секунд:
denis8424 писал(а):делал когда-то пример работы состояний
Изображение
Только для избранных? :'-(
Bibo
Аватара
Сообщения: 395

  • 1

Сообщение #9 exooman » 20.08.2016, 15:01

Puup Zemlya писал(а):но в этом случае, нужно скрипт писать, а я не программист(по крайней мере пока)

чем раньше начнешь изучать, тем быстрее станешь))

В теме BGE я когда-то выкладывал небольшое пособие, объясняющее как начать перелопачивать кирпичи в скрипт. Там же были ссылки на API. Суть в том, что кирпичи очень сильно ограничивают конечный функционал, на порядок усложняют процесс его реализации, а так же обладают очень сомнительной производительностью в силу огромного количества переплетающихся сенсоров.
В твоем же случае, чтобы сделать гайку/ключ невидимой для сенсора Near, тебе необходимо прикрутить актуаторы со слоями, добавить сенсоры и контроллеры для того, чтобы реализовать взаимодействие. В скрипте же просто узнаешь, что за объект попал в поле действия Near, используя метод near.hitObject(), а затем проверишь включена ли видимость у объекта, обратившись к переменной visible
То есть код будет таким:
Код: Выделить всё
# объявляем сенсор
near_sensor = controller.sensors["sensor"]

# узнаем что за объект попал в поле его действия
obj = near_sensor.hitObject()

# объявляем переменную определяющую активен объект или нет. Далее от нее и пляшем.
Activate = obj.visible

Собственно и всё. Ни слоев, ни кучи актуаторов. Один сенсор и один контроллер со скриптом.
exooman M
Аватара
Сообщения: 1213


Сообщение #10 Puup Zemlya » 20.08.2016, 18:54

Bibo писал(а):Заинтриговало. Но если в будущем будут новые ролики, сократите длительность вступления в 2-3 раза. 10 секунд для лого, это слишком.

Спасибо) Но для заставки 20-30 секунд это нормально.

Bibo писал(а):Но сделать это можно только скриптами, увы.

Я совсем не против скриптов, просто использую их только в случае если есть инструкция по применению ну или хотя бы посильно сделать самому(это касательно этого проекта, так как в нем нет программиста). А так когда элементарных основ не знаешь и тебе показывают отрывок решения, смысл барахтаться над этим, ну разве что с направлением инструктора) Но думаю со временем разгребу этот темный лес

exooman писал(а):чем раньше начнешь изучать, тем быстрее станешь))

Это точно! Тут еще стоит решить для себя стоит ли становиться художником-программистом или это как за двумя зайцами.. не узнаешь пока не станешь) Но в идеале звучит отлично!

exooman писал(а):Суть в том, что кирпичи очень сильно ограничивают конечный функционал

Да это мне понятно) Именно эти кирпичи и обратили мое внимание на BGE, как и в свое время Stencyl. Для человека с определенным складом ума, больше вообще подойдет другой движок типа Unity так как он в первую очередь скорей всего не художник. Может с ракурса программиста такое мышление выглядит странно, но я люблю рисовать, моделировать, придумывать ну и кирпичи выглядят приветливо. Но делать уже полностью игру будучи и художником и программистом задачка ничего так. Я имею ввиду как минимум качество, скажем на художника учиться лет 6 и даже высшее образование не дает гарантий, что это будет художник, который будет игры делать. Но это скорей всего будет сильный художник, то есть который даст качество. Возможно в программировании эта вещь относительна, я этого не знаю, но все программисты которых я знаю у них к этому склонность с детства. У меня с детства склонность придумывать и рисовать ^^ А вообще все относительно, поэтому ничего не утверждаю и аргументы мотивируют к освоению Python
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

Сообщение #11 denis8424 » 20.08.2016, 19:12

Только для избранных?
Ой. :facepalm: не ту ссылку дал. :suicid:
http://b3d.org.ua/forum/viewtopic.php?f=30&t=287&p=35653#p35653
denis8424
Аватара
Сообщения: 678

  • 2

Сообщение #12 exooman » 20.08.2016, 20:12

Puup Zemlya писал(а):Именно эти кирпичи и обратили мое внимание на BGE, как и в свое время Stencyl. Для человека с определенным складом ума, больше вообще подойдет другой движок типа Unity так как он в первую очередь скорей всего не художник. Может с ракурса программиста такое мышление выглядит странно, но я люблю рисовать, моделировать, придумывать ну и кирпичи выглядят приветливо.


так-то я сам далеко не программист и в своё время спотыкался всё об те же грабли то есть кирпичи. Скажу так - существенной разницы между кирпичами и кодом нет - одни и те же функции, один и тот же принцип, но зато всё более гибко и понятно. И это сразу будет ощущаться при усложнении проекта.
И если ранее ты создавал актуатор "Удалить объект", то теперь в скрипте пишешь obj.endObject()
Например вот список переменных и методов объекта:
http://www.tutorialsforblender3d.com/GameModule/ClassKX_GameObject.html
обрати внимание - тот же функционал, что и в кирпичах, только более гибкий. По сути, использование скриптов - это будто бы кирпичей стало раза в 3 больше, а в уже существующих добавились новые опции. Только нужно привыкнуть к "буквенному интерфейсу" новых "кирпичей", без кнопочек и рюшечек. Но как привыкнешь, в прежнее кирпичное царство уже не вернешься.

З.Ы.
/viewtopic.php?f=30&t=381
exooman M
Аватара
Сообщения: 1213


Сообщение #13 Puup Zemlya » 21.08.2016, 01:16

exooman писал(а):...Только нужно привыкнуть к "буквенному интерфейсу" новых "кирпичей", без кнопочек и рюшечек. Но как привыкнешь, в прежнее кирпичное царство уже не вернешься...

Отличная статья! Многое проясняет. Да все вполне доступно, конечно не сразу) Статья andreymal , так же стоящая, но вот к середине лес уже слишком потемнел :-D , вникать нужно изо дня в день постепенно.

Позже буду пробовать, вышеупомянутую функцию с предметами, реализовать через метод near.hitObject() , даже просто интересно уже стало)
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 1

Сообщение #14 exooman » 21.08.2016, 03:47

Puup Zemlya писал(а):Отличная статья! Многое проясняет.

ну она написана как раз с точки зрения "непрограммиста", немного разобравшегося "куда чего пихать". Главное уяснить эту явную аналогию: кирпичи - это те же скрипты, только с интерфейсом. Как ты вел цепочку сенсор-контроллер-актуатор, так и в скриптах ты её будешь вести. Только уже используя синтаксис питона. По началу может и сложновато, но зато потом сообществу легче будет тебе помогать с решением определенных задач. Сейчас же тебе кроме плохо оптимизированных костылей никто никаких решений не подскажет. Кирпичи - это эталон костылей :)
exooman M
Аватара
Сообщения: 1213


  • 11

Сообщение #15 Puup Zemlya » 27.08.2016, 12:27

Кроколь

Спойлер
Изображение
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 12

Сообщение #16 Puup Zemlya » 13.12.2016, 23:35

Mechanic (Test 0.02)

Спойлер
phpBB [media]
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 11

Сообщение #17 Puup Zemlya » 02.01.2017, 20:15

Немного свежего арта из игры Mechanic

Спойлер
Изображение

Изображение
Изображение
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 1

Сообщение #18 DeepForest » 04.01.2017, 04:12

С Новым Годом :) !
Классно выглядит, нравится такой стиль(Чем-то Машинариум в 3д напоминает). А Вас только двое разработчиков?
DeepForest M
Аватара
Откуда: Харьков
Сообщения: 28

  • 1

Сообщение #19 Puup Zemlya » 04.01.2017, 10:23

DeepForest писал(а):С Новым Годом :) !
Классно выглядит, нравится такой стиль(Чем-то Машинариум в 3д напоминает). А Вас только двое разработчиков?

Взаимно!
Благодарю! Ага и кресло у нас из Матрицы
Спойлер
Изображение
, а вообще по мне наверное больше Machinarium + The Cave, в Machinarium-е стиль как в книжных иллюстрациях для сказок, с графическим уклоном под гравюру или графический лист. Хочется думать что у нас именно иллюстративный стиль, хотя действительно некоторые элементы стиля напоминают Machinarium. Ага вдвоем делаем :)
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

  • 2

Сообщение #20 Puup Zemlya » 25.01.2017, 15:33

Всем привет! Вот и увидела свет демка Pre-Alpha 0.1
Пока можно пройти первый уровень, всего в демке их будет два. Кто потестит, отпишитесь какое железо, система и битность и как вообще ведет себя. MacOS не тестировал, поэтому никаких гарантий, что запустится :) Linux версии тестировал на Linux Xubuntu 16.04. 32-битная версия под Windows как выяснилось у многих не работает, будем думать исправлять к следующему обновлению. Обновления данной демо версии будут выходить вплоть до завершения 2-х первых уровней.

Скачать можно тут>>
Engine Roar - Блог, YouTube, VK.
Mechanic - Блог, VK.

© 2017 PUUP ZEMLYA
Puup Zemlya M
Аватара
Сообщения: 55

След.

Вернуться в Ход создания работ (W.I.P)

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость