PDA

Просмотреть полную версию : Игровой движок RECO


unxed
04-04-2011, 16:39
В каком-то смысле продолжая эту тему (http://dead-line.spb.ru/forum/showthread.php?t=165).

Как известно, на серии игр Баки О'Заяц (http://dead-line.spb.ru/forum/showthread.php?t=4004) использовался игровой движок моего производства под названием RECO. Движок побывал в боевых условиях и доказал возможность его использования в проекте дедлайн.

Желающие его использовать на своих играх могут писать сюда или мне на почту: unxed собака mail.ru
Я готов консультировать, показывать как пользоваться и обеспечивать техподдержку до и в процессе игры.

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

Вопросы, замечания, пожелания по движку можно высказывать в этой ветке форума.

Вот краткий список возможностей движка. В список не включены стандартные функции
(выдача заданий, прием кодов, подсчет времени игры и т.п.),
характерные для всех популярных игровых движков.

1. Задания можно объединять в группы. Внутри группы задания могут выдаваться параллельно
("штурм"), последовательно ("линейка"), в случайном порядке ("нелинейка"), в случайном порядке
с приоритетами ("нелинейка", но можно, к примеру, выдавать агентские задания первыми).
Кроме того, есть возможность оставить выбор порядка прохождения самому игроку.
При случайной выдаче заданий движок стремится в первую очередь выдавать наиболее свободные уровни.

2. Группы могут включать как обычные задания и бонусы, так и другие группы.
Вложенность ограничена только мощностью сервера, на котором работает движок
(чем сложнее игра, тем медленнее движок будет работать). На практике тестировалась
вложенность до 5 групп, при этом проведение такой игры для 11 команд
занимало около 25% ресурсов на VDS-сервере 1000Mhz, 512Mb RAM.

3. Бонусные задания могут выдаваться как по абсолютному времени, так и в привязке
к определенным игровым событиям (вместе с определенным заданием, или через N секунд после его начала).
Ограничение времени на выполнения бонуса также может задаваться как абсолютное (N секунд),
так и относительное (не более N секунд после завершения связанного задания).
Время прохождения бонусных заданий не включается в общее игровое время, учитывается
только значение "бонусного времени", установленное для бонуса (при этом, статистика отражает
реальное время взятия бонуса).

4. Подробнейший протокол игр, фиксирующий все игровые события и некоторые важные подробности
(к примеру, фиксируются попытки ввода кодов с невыданных заданий).

5. Организатор игры может "откатить" любое событие, если оно произошло по ошибке.
При этом дальнейший ход игры нарушен не будет.

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

7. Автообновления страницы игрока с учётом наличия связи с интернетом
(т.е. при отсутствии связи игрок не получит пустую страницу).
Администратор игры может при желании принудительно включить обновление страницы игрока
практически в реальном времени.

8. Гибкая ручная выдача заданий: немедленно, или при наступлении определенного события
(выдача или завершения другого задания). Возможность составлять списки ручной выдачи
неограниченной длины (в том числе, до начала игры).

9. Ручной зачёт и слив уровней.

10. Поддержка составных кодов и "слив-кодов". В случае составных кодов игрок
видит их общее количество, число ещё не введенных кодов, а также список кодов,
которые уже вводились и были приняты. Ввод составных кодов осуществляется по очереди,
через одно окно ввода кода.

11. Мультилогин: несколько человек могут смотреть движок под одной учётной записью.

12. Ручные бонусы и штрафы, которые администратор может назначать в процессе игры
(и они сразу попадут в статистику).

13. Поддержка "игр от команд" с разделением прав доступа к движку (команда
имеет доступ только к "своим" играм, администратор - ко всем).

14. Вывод времени до ближайшей подсказки и счетчик времени на уровне.
При наступлении времени выдачи подсказки, а также при сливе уровня
движок обновляется автоматически (при наличии связи с интернетом).

15. Настраиваемая функция "уточните код". По умолчанию срабатывает при несоответствии одного знака.
Можно задать любое допустимое количество несоотвествующих знаков.
Кроме прямого несоответствия (напр., D123L и D223L) учитывается также смещение
на допустимое количество знаков влево или вправо (напр., D23L и D123L).

16. Поддержка тестовых игр (все лимиты и таймеры умножаются на заданный коэффициент,
чтобы можно было быстро пройти игру "по сливам" при тестировании). Возможность
полностью откатить проведенную тестовую игру, чтобы вновь играть уже в "боевом"
режиме по той же схеме. При тестировании игры можно запретить приём заявок на неё,
а тестировщиков добавлять вручную.

17. Проверка структуры игры (специальный скрипт проверяет основные параметры игры,
например, нет ли заданий с неуказанным кодом, отсутствием подсказок и т.п.).

18. Принудительное завершение игры администратором.

Private Detective
04-04-2011, 20:08
Круто-круто-круто! Обязательно надо будет попробовать.

А это будет где-то установлено для всего ДЛа, или можно будет исходники взять и себе поставить, как вы на Баки?

El Red
04-04-2011, 20:28
надо бы найти повод попробовать :)

Clinique
04-04-2011, 21:10
Отличный инструмент. Вот очень хотел спросит о возможности оформления под стилистику игры как сделали вы, эта функция будет доступна?

грициан
04-04-2011, 21:16
(к примеру, фиксируются попытки ввода кодов с невыданных заданий)
Это в смысле в мониторинге будет как-то отображаться что введенный код есть в сценарии, но это задание ещё не выдано?

El Red
04-04-2011, 21:17
можно сюда постить баги и желаемые фичи?
не очень удобно после ввода кода откручивать страницу к началу, чтобы прочесть, верен, не верен или уточнить. Было бы удобнее, если бы это писалось над/под полем ввода.

Private Detective
04-04-2011, 21:31
можно сюда постить баги и желаемые фичи?
не очень удобно после ввода кода откручивать страницу к началу, чтобы прочесть, верен, не верен или уточнить. Было бы удобнее, если бы это писалось над/под полем ввода.

+1

Rada
04-04-2011, 21:50
+2)
движок очень понравился, можно мне розовый?:D

Grom
04-04-2011, 22:26
грициан,
да, и даже красным цветом выделяется ;)

Clinique,
фича не сложная и скорее всего будет либо в ближайшее время, либо уже есть, но не обозначена :)

Private Detective
04-04-2011, 22:53
Ну как не сложная... Если всем давать возможность разные css писать - это одно. Если нужно большее - это уже посложнее. :)

unxed
05-04-2011, 00:00
Круто-круто-круто! Обязательно надо будет попробовать.

А это будет где-то установлено для всего ДЛа, или можно будет исходники взять и себе поставить, как вы на Баки?
Исходники не дам. Во всяком случае, пока. Возможно, движок будет продаваться за деньги другим проектам.

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

Площадку для DL готов обеспечить.

PS: Чтоб никто не обижался: на Баки движок жил на моём личном сервере, и даже ДрК не имел прямого доступа к исходникам.

unxed
05-04-2011, 00:01
Отличный инструмент. Вот очень хотел спросит о возможности оформления под стилистику игры как сделали вы, эта функция будет доступна?

Есть возможность подключать свои html и css к движку.

unxed
05-04-2011, 00:01
Это в смысле в мониторинге будет как-то отображаться что введенный код есть в сценарии, но это задание ещё не выдано?

Ага. В логах. Логи доступны в реальном времени.

unxed
05-04-2011, 00:02
можно сюда постить баги и желаемые фичи?
не очень удобно после ввода кода откручивать страницу к началу, чтобы прочесть, верен, не верен или уточнить. Было бы удобнее, если бы это писалось над/под полем ввода.

Можно и нужно.

А если уже новое задание пришло?

Rada
05-04-2011, 00:05
а оно сверху всегда приходить будет?
а может какоенить всплывающее окошко-напоминалку? ололо, новое задание.

unxed
05-04-2011, 00:07
а оно сверху всегда приходить будет?
а может какоенить всплывающее окошко-напоминалку? ололо, новое задание.

Можно сделать. Я в своё время счёл такой вариант довольно спорным в плане удобства.

грициан
05-04-2011, 00:22
А если уже новое задание пришло?
Тоже писать, что такой-то код верен. Если вбивают несколько человек разные варианты уточнения кода будет видно какой из вариантов подошел.

unxed
05-04-2011, 00:24
Тоже писать, что такой-то код верен. Если вбивают несколько человек разные варианты уточнения кода будет видно какой из вариантов подошел.

Т.е. всплывающее окно "код такой-то верен" одновременно со следующим заданием?

Rada
05-04-2011, 00:33
хотя хз, вот может лучше писать, что код верен рядом с полем ввода кода. вернее, после правильного ввода кода оставлять только ввод поля код и следующее задание? не знаю даже.
окошко задолбает сразу.

грициан
05-04-2011, 00:36
Т.е. всплывающее окно "код такой-то верен" одновременно со следующим заданием?
Ненене, нафиг всплывающее, просто надпись как сейчас сверху, только рядом с полем ввода.

El Red
05-04-2011, 03:13
1) при вводе не последнего кода на уровне писать "код верен" рядом с полем

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

El Red
05-04-2011, 03:21
появилась еще одна идея, завтра набросаю мокап. может быть, понравится

unxed
05-04-2011, 12:57
1) при вводе не последнего кода на уровне писать "код верен" рядом с полем

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

У меня везде одно поле ввода. Составные вводятся по очереди.
Только вот нелогичным кажется писать "код верен" про одно задание рядом с текстом другого. Путаница, не?

Private Detective
05-04-2011, 14:07
Можно ведь написать с пометкой, что от предыдущего задания и всего делов. :)

Paltus1317
05-04-2011, 14:17
У меня везде одно поле ввода. Составные вводятся по очереди.
Только вот нелогичным кажется писать "код верен" про одно задание рядом с текстом другого. Путаница, не?

Отписываешь в случае верного кода "Код верен" на фоне старого задания и через 10 секунд принудительно обновляешь движок.

Paltus1317
05-04-2011, 16:37
Я не могу найти, может, но как посмотреть через какое время шли подсказки по движку?

unxed
22-04-2011, 16:18
Я не могу найти, может, но как посмотреть через какое время шли подсказки по движку?

По логам. Логи по умолчанию доступны только администратору.