gifts2017

Антар: приключенческая игра. Исследование лабиранта с элементами выживания (1С 8.3, Управляемые формы, любая конфигурация)

Опубликовал Имие Фамилие (HorusTheOne) в раздел Сообщество - Игры

Смысл игры в исследовании случайно сгенерированного лабиринта (поля?) из различных ландшафтов, для преодоления которых требуются различные предметы (изначально у игрока отсутствующие) и сборе всех монет (конечная цель). Необходимость поиска предметов, поддержания запаса воды и выносливости позволяет использовать термин "Элементы выживания" :)
Идея игры базируется на статье «Страна Монстров» журнала "Техника Молодежи" за 1990 год.

Я не совсем уверен, что эта обработка будет полезна или интересна хоть кому-нибудь, но раз уж есть возможность разместить публикацию - то почему бы  и нет? ;)

Суть

В начале новой игры персонаж игрока оказывается на случайно сгенерированном (но подверженом определенной логике) поле из 10-ти видов ландшафта и одним (обычно) случайным предметом. Для преодоления любого из ландшафтов (кроме Степи и Оазиса)  без потери выносливости требуется определенный предмет:

  • Лес (Бурелом) - нужен Топор; 
  • Холмы  (Скалы) - нужен Ледоруб;
  • Пески  (Зыбучие пески) - Веревка;
  • Мелководье (Глубокая вода)  - Лодка.

При передвижении по Степи выносливость не тратится (если не волочь за собой лодку), а при посещении Оазиса выносливость и запас воды игрока полностью восстанавливается. 

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

Управление

Экран игры разделен на два табличных документа. Левый служит для визуализации игрового поля, а двойными кликами на правом игрок выбирает отдаваемые персонажу команды. Реакция игры на выполненные действия приведены в логе (располложенном ниже команд), а статистика ландшафтов и предметов (с их короткими описаниями) размещены в Легенде (вызывается по кнопке "Показать легенду").

Возможности игры

  • Размеры игрового поля при генерации имеют ограничения от 5х5 до 200х200 (количество предметов подствраивается под размеры поля, чтобы чрезмерно не усложнять прохождение);
  • Размеры отображаемого на экране поля могут быть настроены отдельно под конкретное разрешение монитора, чтобы избежать появления полос прокрутки;
  • Сохранение игры в любой момент хода;

Дополнительные возможности

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

Послесловие

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

В любом случае, благодарю вас за время, потраченное на чтение публикации!

И еще. Код открыт - ограничений нет.

Скачать файлы

Наименование Файл Версия Размер
Антар V1.0.epf 21
.epf 65,72Kb
02.08.16
21
.epf 65,72Kb Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Имие Фамилие (HorusTheOne) (1.00 $m)
Подписаться Добавить вознаграждение
Комментарии
1. Иван Титов (Ibrogim) 02.08.16 12:57
Клёво. Надо заказать установку
2. tonic tonic (tonic) 02.08.16 13:35
Класс:)
Я так понимаю, она походовая?
3. Имие Фамилие (HorusTheOne) 02.08.16 13:52
(2) tonic, Да, она пошаговая. Пошаговость - родилась из первоначальной идее сделать ее сетевой, но пока взаимодействие игроков я не продумал, а пошаговость - уже есть.
(1) Ibrogim, Хм... Она - вроде же простая обработка... "Файл - открыть" - какая тут установка? Хотя можно написать подключение в любую конфигурацию. Просто я не знал, как написать универсальное определение.
4. Иван Титов (Ibrogim) 02.08.16 15:17
(3) HorusTheOne, Это шутка, В публикации есть кнопка "Заказать установку" просто ))
5. Имие Фамилие (HorusTheOne) 02.08.16 16:05
(4) Ibrogim, Ёптушки, теперь вижу.... Это я сделаль? :))
6. tonic tonic (tonic) 02.08.16 17:12
(3) HorusTheOne, Слушай а ты через что хочешь сделать взаимодействие игроков?
7. Имие Фамилие (HorusTheOne) 02.08.16 17:31
Первейшее, что приходило в голову - через файл состояния игры. Игроки бы поочереди вносили данные о своих действиях в обще доступный файл. Но тут проблема как регулировать взаимодействие с одним и тем же объектом в случае асинхронных ходов. В случае синхронных - это будет бокс по переписке (очень долго).
Идея о файле упирается рогами в необходимость отсутствия изменений в конфигурациях.
8. tonic tonic (tonic) 02.08.16 17:34
(7) HorusTheOne, Есть еще один вариант... правда он тоже не лишен недостатков, сделать взаимодействие через промежуточную базу mySql например, а ее разместить на каком нить бесплатном хостинге. А вообще идея интересная:)
А при чем тут синхронность или асинхронность ходов, она у вас пошаговая... я не зря про этот момент спросил:)
HorusTheOne; +1 Ответить 2
9. Имие Фамилие (HorusTheOne) 02.08.16 17:41
(8) Вариант возможный... Только это уменьшит автономность системы - без инета уже и не поиграешь (предполагал состязания внутри одного отдельно взятого коллектива). Синхронность выполнения хода важна: толи все сразу выполняют ход, а затем обсчитывается результаты, толи каждому игроку придется ждать завершения хода предыдущего.
10. Имие Фамилие (HorusTheOne) 02.08.16 17:43
(8) Вообще я рассмотрю этот вариант, тем более, что скулевых баз у меня хренова толпа.... Да и хостингов в наличии - столько же.
11. Сергей (necropunk) 02.08.16 17:43
(9) HorusTheOne, пиши в журнал регистрации :))) Он-то почти в любой базе есть.
12. tonic tonic (tonic) 02.08.16 17:52
(9) HorusTheOne, Ну если предполагается внутри одного коллектива, то да вариант с инетом отпадает.
Насчет регулировки асинхронности, может сделать по времени? кто первый успел того и тапки. в файл записывать время хода.
13. tonic tonic (tonic) 02.08.16 17:59
(11) necropunk, А не будет очень долгой выборка из этого журнала, туда же не только данные игры будут падать...
14. Имие Фамилие (HorusTheOne) 02.08.16 18:02
(11) Tonic прав. Я сижу на БП 3,0 и в журнал регистрации даже по малому не хожу. Пару раз приходилось снимать задачу, настолько это жирноватая штука.
(12) Вариант :)
15. Алексей Драчков (Bassgood) 03.08.16 01:31
(7) HorusTheOne, может быть стоит еще рассмотреть вариант хранения информации в стандартном хранилище общих настроек? В нем же можно хранить произвольные данные.
16. Имие Фамилие (HorusTheOne) 03.08.16 09:17
(15) Bassgood, может быть. Дело в том, что программирование в восьмерке - скорее хобби и конфигуратор то ее я открыл первый раз полгода назад, и я вовсе не в курсе уже существующих механизмов. Наверняка существует еще с десяток возможных решений, про которые я пока не знаю. Возможность с хранилищем я тоже рассмотрю.

Итого, уже почти ясно "как": 1) Хранилище в случае игры в единой конфигурации, 2) Файл - в случае общей локальной сети, 3) Внешняя скуль база - во всех остальных (еще и сервера поднять с матчмейкером :)).
Осталось узнать - "что", потому как текущее наполнение, без взаимодействия игроков посредством увечий их персонажей вряд ли заинтересует массы. :) Как минимум нужны ловушки, отравления снадобий и пр...
17. tonic tonic (tonic) 03.08.16 10:04
(16) HorusTheOne, на вопрос "что": мне кажется что достаточно в этом хранилище хранить данные о времени хода и о позиции игрока (игроков), у вас же расчет состояния мира идет после каждого хода.
А вот еще что интересно, скажите а где вы храните ифну о том что находится на каждом тайтле? логично эту инфу тоже хранить в каком нибуть внешнем хранилище.
У меня просто нет денег скачать вашу обработку:))
18. Имие Фамилие (HorusTheOne) 03.08.16 11:06
(17) tonic, в текущий момент (в однопользовательской версии игры) для хранения мира в течении хода использую локальные массивы, этого достаточно. Потом придумаю, как реализовать "серверный" расчет, если резон будет.
Используя слово "что" я имел в виду более широкий вопрос - что нужно добавить в игру (какие взаимодействия игроков), чтобы собственно был смысл делать многопользовательскую.
19. tonic tonic (tonic) 03.08.16 11:12
(18) HorusTheOne, ну раз так стоит вопрос, то само собой напрашивается ответ: Квесты:))) хабар(он уже есть), всякие неписи в общем корованы и набигающие домики:)))
20. Имие Фамилие (HorusTheOne) 03.08.16 11:24
(19) tonic,
"Я джва года уже хочу такую игру"?
Alias; tonic; +2 Ответить 1
21. tonic tonic (tonic) 03.08.16 11:37
22. Сергей (necropunk) 03.08.16 14:28
(13) tonic, конечно будут, там поэтому смайлик стоит.
23. Яков Коган (Yashazz) 04.08.16 15:26
Плюс чисто из принципа.

Слушай, а не пробовал запрячь "Географическую схему" вместо табличного документа? Может, там задизайнить круче выйдет?
24. Имие Фамилие (HorusTheOne) 05.08.16 08:04
(23) Yashazz, спасибо!
Конечно не пробовал, потому как до твоих слов я даже не знал про "географическую схему" :) . Мне бы пример реализации посмотреть достойный, чтобы понять стоит ли оно того (да и на чужом коде проще учится, нежели по справке)
25. Денис Сытый (Orlanxxx) 24.08.16 16:38
Отлично получилось!

Идея - 5 баллов.
Реализация - 5 баллов.
Юморной текст в игре 5 баллов.
26. Петр Петров (jONES1979) 01.09.16 21:58
Круто! Помню описание этой игры в журнале. И как они псевдографикой визуализировали охоту на рыбу :)
27. Имие Фамилие (HorusTheOne) 02.09.16 07:59
(26) :) На "речного змея": http://leonid.shevtsov.me/post/monsterland-article/
(25) Спасибо за оценку, хоть она и чрезмерная :)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа