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

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

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

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

Суть

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

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

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

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

Управление

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

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

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

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

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

Послесловие

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

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

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

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

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

См. также

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

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

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

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