Server Banner

BBya World

Объявление

Мы переехали на новый форум: forum.bbyaworld.com

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » BBya World » Гос.заказ » Заказ №25: "Схема перемещения кораблей"


Заказ №25: "Схема перемещения кораблей"

Сообщений 21 страница 40 из 46

1

ЗАКАЗ №25
Разработка и внедрение действующего прототипа схемы перемещения кораблей.

Техническое задание:

- разработать принципиальную схему перемещения сложных составных объектов с изменяемым содержимым (грузом, игроками) в пространстве по заданному маршруту нажатием кнопки;
- за основу можно взять эту идею, но лучше использовать возможности версии 1.8 (также можно поихраться с командой /summon);
- в идеале, одной командой должен двигаться весь объект на заданные координаты;
- вся система должна быть собрана внутри объекта (если речь идёт о корабле, то, естественно, всё должно размещаться в трюме);
- сами перемещаемые объекты должны быть достаточно компактные (тык, тык);
- пример маршрута: нужно реализовать перемещение в обоих направлениях;
- скорость должна быть приемлемой (на уровне вагонеток текущей версии или чуть быстрее);
- вместе с объектом должно перемещаться всё, что находится на палубе :)
- перемещение должно происходить без изменения высоты (только на плоскости воды) и ни при каких обстоятельствах перемещаемый объект не должен задевать/изменять другие объекты;

+ для сдачи проекта необходимо описать работу системы с примерами используемых команд, записать видео процесса перемещения и выложить его вместе с описанием (желательно, чтобы процесс перемещения объекта, груза и игроков был запечатлён со стороны);

+ необходимо предоставить архив с файлами карты, на которой всё это реализовано!!

Оплата:

- http://qps.ru/iagO6 х 2 304
+ 1 000 ББ

P.S.: в идеале, ещё нужно реализовать "стоп-кран" для экстренной остановки маршрута и возможность продолжить движение после остановки...

21

Не боишься, что при перемещении будет высокая нагрузка на сервер и ТПС упадет?

22

а еще разворачивать корабль и перемещать так же всех пассажиров =)

23

1. За тпс боюсь: возможно, придётся делать без генератора или очень медленный;
2. Выявилась проблема с телепортом игроков: это делается отдельной командой и почти невозможно синхронизировать + вероятно, надо сначала телепортить игрока чуть выше будущего места приземления и уже под него телепортить корабль + это всё точно пойдёт лесом из-за лагов :)
3. Поворот кораблей командой вроде сделать нельзя: придётся иметь под рукой ("в архиве" - в некоем закрытом пространстве) все четыре (8?) варианта корабля с нужным поворотом и дёргать их оттуда в местах поворота :)

Короче, с большой вероятностью тема в пролёте ))))

24

А еще
1) Совершенно не романтично-морская скорость. Пытался сделать плавность как в лодке, но пока увы.
2) Игрок будет биться в судорогах, постоянно телепортируясь. Ни чаек пострелять, ни за борт пописать.

Но корабли это круто. Потом можно еще будет сделать типа инвента - абордажа, разделимся на корсаров и солдат Ее Величества :) Там еще будет загораться корабль....а ладно, мечты)

Насчет поворота: можно создавать командой командный блок, в котором будет прописана команда клонирования корабля относительно этого блока. И сразу же убирать. Каким-то макаром вроде можно такое провернуть, но не уверен, возможно Вельветовый вариант проще :)

Отредактировано Rock_Tea (07-10-2014 00:08:33)

25

1. В жизни корабли тоже не пролетают километры за несколько секунд, значит медленные корабли - реалистично.
3. Если хочется более реалистично, то все 8.

VELVET написал(а):

Короче, с большой вероятностью тема в пролёте

Ага.

26

Rock_Tea написал(а):

Пытался сделать плавность как в лодке, но пока увы.
2) Игрок будет биться в судорогах, постоянно телепортируясь.

Типа, у тебя получилось сделать так, чтобы игрок телепортировался вместе с "кораблём"??

P.S.: жалко, что никакие сущности не телепортируются этой командой - вагонетка тоже остаётся на месте, а так можно было бы хотя бы в вагонетку садиться ))

Rock_Tea написал(а):

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

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

OcelotJungle написал(а):

значит медленные корабли - реалистично.

в принципе, если оставить только ручное управление (перемещение по рычагу, т.к. кнопка телепортится в нажатом состоянии и не отжимается), то можно телепортить игроков чуть выше палубы так, чтобы успевать телепортить под них корабль...
таким образом, можно объяснить эти постоянные адения тем, что на море качка :)

27

А как же в движущемся доме в 1.7 игрока перемещали?
Вроде, Рок недавно где-то постил эту видюху...

28

Это не я постил :) Но я скачал эту карту, работает все.

Типа, у тебя получилось сделать так, чтобы игрок телепортировался вместе с "кораблём"??

Не пробовал, но кто запрещает второй блок поставить?

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

я имею в виду, что этот комблок будет размещен таким образом, что будет поворачивать клонируемую область. Попробую сам, возможно бред.

При осуществлении поворота, координаты тп и клонирования всеравно будут идти от XYZ. Надо на каждый курс свои блоки.

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

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

Отредактировано Rock_Tea (07-10-2014 20:09:37)

29

Rock_Tea написал(а):

Не пробовал, но кто запрещает второй блок поставить?

VELVET написал(а):

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

Rock_Tea написал(а):

я имею в виду, что этот комблок будет размещен таким образом, что будет поворачивать клонируемую область. Попробую сам, возможно бред.

да, бред, т.к. командный блок просто выполняет команду и не важно, где он находится и как повёрнут

Rock_Tea написал(а):

При соответствии

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

Rock_Tea написал(а):

Нужно будет расставить блоки, которые будут отслеживать местонахождение корабля в контрольных точках.

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

30

ты никак не проверишь соответствие нахождение корабля в районе командного блока

Элементарно тестфорблоком проверяется. И не в районе, а можно разместить их где угодно. Отслеживать тупо 2-3 блока из структуры корабля.
Проблема не в этом а в генераторе, который придется делать для отслеживания. Ну либо еще варианты, но это уже лишний разговор.

Насчет тп да, попробовал, если в сингле лаги то в мульте вообще капец. Кстати, в том же летающем доме можно спокойно провалиться под пол.

Сделаем счетчик на переменных? Протикал - разворот?

Хм...а тики - это ТПС.

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

Отредактировано Rock_Tea (08-10-2014 00:24:47)

31

Rock_Tea написал(а):

Возникает ощущение, что мы прям избранные какие-то и больше никто интересных штук не мутит

Гугли на английском :) Будут другие источники

32

Rock_Tea написал(а):

Элементарно тестфорблоком проверяется

ведусь )
но пока мне не очень нравится эта идея - хочу всю схему держать в трюме самих кораблей )

Rock_Tea написал(а):

Сделаем счетчик на переменных? Протикал - разворот?
Хм...а тики - это ТПС.

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

Rock_Tea написал(а):

Кстати, в том же летающем доме можно спокойно провалиться под пол.

Так, как именно там происходит одновременное перемещение игрока и конструкции?
Если там что-то дельное, то провалы под пол можно попытаться минимизировать как-нибудь )


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

33

проверял факт выполнения команды предыдущим командным блоком,

А что будет менять значение переменной по достижении кораблем точки поворота?

Так, как именно там происходит одновременное перемещение игрока и конструкции?
Если там что-то дельное, то провалы под пол можно попытаться минимизировать как-нибудь )

Не более дельное чем у нас :) Тп дом и игрока двумя блоками. Летать в нем можно только ручными нажатиями, а если нажимать часто - дом неизбежно телепортится быстрее.
Синхронизацию сложновато сделать, вот я говорю - привязать бы тп игрока к блоку на корабле.

34

Rock_Tea написал(а):

А что будет менять значение переменной по достижении кораблем точки поворота?

Ещё один командный блок - ты об этом?

Rock_Tea написал(а):

Тп дом и игрока двумя блоками. Летать в нем можно только ручными нажатиями, а если нажимать часто - дом неизбежно телепортится быстрее.

Ну, может и не всё так плохо: если телепортить на 1 блок даже с помощью не очень быстрого генератора + телепортить игрока на 0.5-1 блок выше, то может быть и не так всё глючно будет выглядеть...

+ только что пришла в голову мысль: а что, если "сажать" пассажиров в паутину? Зачем? Чтобы они как бы падали в эту паутину и не успевали бы опустить в ней в низ - таким образом мы можем попробовать добиться эффекта того, что игрок висит примерно на одной высоте и почти не дрыгается :)

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

35

Обнаружена причина рассинхрона телепорта игрока и блоков:

- при клонировании схемой самой себя активированный провод клонируется в активном состоянии, что приводит к неконтролируемому многократному срабатыванию схемы;

Решение:

- клонирование схемы с отключенным редом = без подключенных проводов;
+ перед подачей сигнала на командный блок с клонированием нужно "дорисовать" провода :)
= с большой вероятностью можно очень чётко синхронизировать телепорт игрока и клонирование самой схемы;

Ща потестим и покажем видео ))))

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

36

Ещё один командный блок - ты об этом?

Я о том, что как именно будет активироваться/определяться точка в которой нужно повернуть? Ну, счетчик протикал например - повернулся. Или тестфорблок этот засек корабль в точке - повернул. Или как? (имеется в виду автоматизированное перемещение)

активированный провод клонируется в активном состоянии

Как вариант - третьим блоком снимать активность кнопки-реда через блокдату.

А что если сделать тп игрока отдельной системой, расположенной вне корабля, не зависящей от его капризов? Чтобы все шло в 2 отдельных потока.
Такая система будет стабильнее за счет разделения труда (потоков), плюс пассажир гарантированно "доедет" до места назначения.

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

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

Отредактировано Rock_Tea (09-10-2014 03:32:37)

37

Rock_Tea написал(а):

Я о том, что как именно будет активироваться/определяться точка в которой нужно повернуть? Ну, счетчик протикал например - повернулся.

Ну, я думал привязать все маршруты к одной единственной переменной: каждый маршрут будет использовать свой диапазон значений - например, первый маршрут - от 1000 до 1999, второй - от 2000 до 2999 и т.д...
Дальше просто играемся со значениями и изменяем их после каждого смещения: при достижении определённых значений происходят всякие повороты...

Rock_Tea написал(а):

А что если

Так, ты сначала попробуй и покажи результат: я считаю, что схема вне корабля это не работающий вариант :)
Я всё стараюсь сделать внутри корабля.

Но я с удовольствием отдам этот заказ на аутсорс, если у игрок сделает всё сам )

P.S.: у меня вчера уже всё работало чётко - просто руки не дошли до телепорта игрока вместе со схемой...

38

Ага, значит счетчик на переменных.

Схема вне корабля как раз тупо работающий вариант, но нефэншуйный. Как минимум, он не менее работающий чем схема внутри корабля, которая будет полностью зависеть от его лагов при копировании, так как сама будет копироваться. А аут-схема всегда будет стоять на месте и лишь управлять кораблем.
Но я лишь бросаюсь мозгами, это была идея :)

у меня вчера уже всё работало чётко - просто руки не дошли до телепорта игрока вместе со схемой...

А что работало четко, если мы собсна и паримся над телепортом игрока со схемой?   :crazy: 

Ладно короч у меня ща вроде получилось, хотя странно что раньше не проканывало. Ща видео выложу.

Кавабанга! При желании можно ускорить в 2 раза или вообще намного быстрее. У меня пара машинок так уже уехали за горизонт :)

Отредактировано Rock_Tea (09-10-2014 15:22:41)

39

Rock_Tea написал(а):

А аут-схема всегда будет стоять на месте и лишь управлять кораблем.

В условиях сервера она не будет работать, если там не будет игрока...

Rock_Tea написал(а):

А что работало четко, если мы собсна и паримся над телепортом игрока со схемой?

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

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

Rock_Tea написал(а):

Ладно короч у меня ща вроде получилось, хотя странно что раньше не проканывало. Ща видео выложу.

Ну, отличный вариант: осталось реализовать возможность движения по маршруту и запихнуть это в какой-нибудь скачанный из инета кораблик для более реалистичных тестов - и 20к изюмов + 1к ББ у тебя :)

+ команды из командных блоков покажи )

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

40

VELVET написал(а):

В условиях сервера она не будет работать, если там не будет игрока.

А как же территория спавна? Она ведь, вроде, постоянно прогружается?

Хотя там уже и так лаги от всяких механизмов и большого кол-ва реда.

Как работает команда перемещения? Мне кажется, без танцев с бубном нельзя нормально описать командному блоку, какую зону перемещать.


Вы здесь » BBya World » Гос.заказ » Заказ №25: "Схема перемещения кораблей"