Игра: Mechanic 8230

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

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

  • 18

Post #1by Nudiventra » 18.08.2016, 21:45

Image

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

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

phpBB [media]


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

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

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


© 2016 PUUP ZEMLYA
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 2

Post #2by zloy_pingvin » 19.08.2016, 08:07

Как и писал ранее на трубе.Выглядит довольно интересно. Будем следить за прогрессом ;)
zloy_pingvin M
Avatar
Location: Саратов
Posts: 276



Post #3by Nudiventra » 19.08.2016, 20:56

zloy_pingvin wrote:Выглядит довольно интересно.

Спасибо! ;)


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

Имеем объект в руке персонажа (Static / Actor / Chost). Скрывается и появляется за счет актуатора Visibility, когда берем предмет и выбрасываем. За счет сенсора Near другие объекты вокруг его распознают(например именно гаечный ключ откручивает болты). Так вот нюанс в том, что этот скрываемый через Visibility объект в руке, потомок арматуры (кисти) виден болтам постоянно и когда виден и когда невиден. Может кто знает как сделать так, чтобы гаечный ключ когда он скрыт не был виден болтам, по примеру с актуатором Edit Object / Add Object ?
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 1

Post #4by exooman » 19.08.2016, 22:09

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

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

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


  • 1

Post #5by denis8424 » 19.08.2016, 22:32

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

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

Added after 7 minutes 33 seconds:
делал когда-то пример работы состояний
denis8424
Avatar
Posts: 724

  • 2

Post #6by graphite » 20.08.2016, 02:26

очень стильно выглядит.
graphite M
Avatar
Posts: 1055

Post #7by Nudiventra » 20.08.2016, 07:01

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

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

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

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


graphite wrote:очень стильно выглядит.

Благодарю!)
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 2

Post #8by Bibo » 20.08.2016, 09:16

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

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

Added after 1 minute 30 seconds:
denis8424 wrote:делал когда-то пример работы состояний
Image
Только для избранных? :'-(
Bibo
Avatar
Posts: 604

  • 1

Post #9by exooman » 20.08.2016, 15:01

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

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

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

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

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

Собственно и всё. Ни слоев, ни кучи актуаторов. Один сенсор и один контроллер со скриптом.
exooman
Posts: 1932


Post #10by Nudiventra » 20.08.2016, 18:54

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

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

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

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

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

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

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

Да это мне понятно) Именно эти кирпичи и обратили мое внимание на BGE, как и в свое время Stencyl. Для человека с определенным складом ума, больше вообще подойдет другой движок типа Unity так как он в первую очередь скорей всего не художник. Может с ракурса программиста такое мышление выглядит странно, но я люблю рисовать, моделировать, придумывать ну и кирпичи выглядят приветливо. Но делать уже полностью игру будучи и художником и программистом задачка ничего так. Я имею ввиду как минимум качество, скажем на художника учиться лет 6 и даже высшее образование не дает гарантий, что это будет художник, который будет игры делать. Но это скорей всего будет сильный художник, то есть который даст качество. Возможно в программировании эта вещь относительна, я этого не знаю, но все программисты которых я знаю у них к этому склонность с детства. У меня с детства склонность придумывать и рисовать ^^ А вообще все относительно, поэтому ничего не утверждаю и аргументы мотивируют к освоению Python
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

Post #11by denis8424 » 20.08.2016, 19:12

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

  • 2

Post #12by exooman » 20.08.2016, 20:12

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


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

З.Ы.
/viewtopic.php?f=30&t=381
exooman
Posts: 1932


Post #13by Nudiventra » 21.08.2016, 01:16

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

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

Позже буду пробовать, вышеупомянутую функцию с предметами, реализовать через метод near.hitObject() , даже просто интересно уже стало)
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 1

Post #14by exooman » 21.08.2016, 03:47

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

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


  • 11

Post #15by Nudiventra » 27.08.2016, 12:27

Кроколь

Spoiler
Image
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 12

Post #16by Nudiventra » 13.12.2016, 23:35

Mechanic (Test 0.02)

Spoiler
phpBB [media]
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 11

Post #17by Nudiventra » 02.01.2017, 20:15

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

Spoiler
Image

Image
Image
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 1

Post #18by DeepForest » 04.01.2017, 04:12

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

  • 1

Post #19by Nudiventra » 04.01.2017, 10:23

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

Взаимно!
Благодарю! Ага и кресло у нас из Матрицы
Spoiler
Image
, а вообще по мне наверное больше Machinarium + The Cave, в Machinarium-е стиль как в книжных иллюстрациях для сказок, с графическим уклоном под гравюру или графический лист. Хочется думать что у нас именно иллюстративный стиль, хотя действительно некоторые элементы стиля напоминают Machinarium. Ага вдвоем делаем :)
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

  • 3

Post #20by Nudiventra » 25.01.2017, 15:33

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

Скачать можно тут>>
Mechanic 8230 — это приключенческая игра в жанре Point-and-Click. Помогите механику спасти своего друга робота РО-2 и вместе с ним узнайте историю мира, разрушенного Катаклизмом.
Nudiventra
Avatar
Location: Молдавия
Posts: 173

Next

Return to Ход создания работ (W.I.P)

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest

cron