Игра "The Game"

04.06.21

Задачи пользователя - Игры

Движок RPG игры на языке 1С.

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

Наименование Файл Версия Размер
Конфигурация "The Game"
.cf 13,56Mb
194
.cf 1.0.0.1 13,56Mb 194 Скачать бесплатно
Первая версия обработки "The Game"
.epf 18,06Kb
34
.epf 1.0.0.1 18,06Kb 34 Скачать бесплатно
Последняя версия обработки "The Game"
.epf 103,01Kb
119
.epf 1.0.0.1 103,01Kb 119 Скачать бесплатно

Вдохновившись недавней публикацией игры ""King's Bounty", я решил тоже рискнуть и выложить свои наработки в области гейм дизайна в среде 1С.

Игра представляет собой намёк на РПГ, с кастомизацией персонажа, распределением очков, свободой действий, открытым миром, взаимодействием с НПС.

 

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

 

По пунктам.

1. Кастомизация персонажа

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

2. Свобода действий

Есть возможность исследовать мир.

3. Открытый мир

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

4. Взаимодействие с НПС

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

5. Сюжет

Изначально есть 5 настроек сюжета, каждая из которых определяет начальный текст игры.

 

Изначальная задумка состояла в том, можно ли на 1С сделать какую-нибудь игру.

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

После перехода на конфигурацию, началась оптимизация кода, механик. Добавились красивые спрайты.

Основные фишки, которые я смог реализовать в конфигурации:

1. Фрактальная генерация ландшафта. Ссылка

Используется для генерации мира.

2. Алгоритм А* Ссылка

Используется для прокладки дорог между городами и деревнями.

3. Бесшовная подгрузка локаций.

Реализована посредством фоновых заданий, когда игрок перемещается в новую локацию. При этом происходит загрузка 4 соседних локаций.

4. Динамическая смена дня и ночи.

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

 

Помимо прочего, в конфигурации реализованы:

  • Тетрис
  • Игра "Жизнь"
  • Крестики-нолики (сетевые)

 

Режим совместимости выставлен на 8.3.16, но я её разрабатывал на 8.3.9, так что думаю и на ней пойдет.

 

UPD. Обнаружил некорректное заполнение первоначальных данных.

В новой версии регулируется константой "Начальное заполнение прошло". Если Ложь, то выполняется начальное заполнение базы. 

В старой версии регулируется константой "Начальное заполнение". Если Истина, то выполняется начальное заполнение базы. 

Конфигурация Игра

См. также

Классическая игра "Змейка" на 1С (управляемые формы)

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Игра "Змейка" в классическом варианте на управляемых формах в 1С. Собирайте яблоки и ставьте рекорд!

09.02.2024    2679    140    emilyabochkova    12    

22

Ключворды в 1С

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Создавайте новые ключворды или разгадывайте существующие.

1 стартмани

05.02.2024    1539    1    alexpvs    0    

6

Игра "5 букв"

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Игра "5 Букв", сделанная на 1С. В игре загадано слово, существительное в единственном числе. Нужно отгадать загаданное слово.

1 стартмани

29.12.2023    934    2    APTEM_SLV    9    

6

Пятнашки

Игры Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Цель - обучение хитростям нашей всеми любимой 1С.

28.11.2023    846    30    user1834118    0    

6

Кар магедон

Игры Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

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

01.11.2023    1676    38    user1834118    7    

11

Турнир по 1С. Танки на СКД

Игры Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

09.10.2023    1760    1    opx    1    

13

Плоский "Кубик Рубика"

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Вы можете собрать кубик Рубика? Я - только с помощью инструкции:). Попробуйте справиться с его плоским аналогом.

1 стартмани

29.05.2023    2014    7    Alxby    3    

13

Пасьянс Марии Стюарт (пасьянс Медичи) - попробуй изменить свою судьбу

Игры Платформа 1С v8.3 Россия Абонемент ($m)

Игра - пасьянс Марии Стюарт. Есть возможность создавать свои расклады, обмениваться раскладами и менять картинки карт.

1 стартмани

05.05.2023    2718    1    sandr13    0    

13
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. moiseeves 195 04.06.21 17:28 Сейчас в теме
Не понял, как делать бесплатные файлы.
Прикрепленные файлы:
161209_Tale.epf
170316_TheGame.epf
shard; vulli; 1v7; +3 Ответить
2. alexey_kurdyukov 155 05.06.21 04:10 Сейчас в теме
Нужно поработать над графикой!
15. chg 09.06.21 06:52 Сейчас в теме
(2)сделать Unreal на 1С?
EugeneSemyonov; +1 Ответить
16. alexey_kurdyukov 155 09.06.21 06:53 Сейчас в теме
(15) Ну изометрию-то например можно попробовать запилить
3. пользователь 05.06.21 18:55
Сообщение было скрыто модератором.
...
4. пользователь 07.06.21 01:14
Сообщение было скрыто модератором.
...
5. FatPanzer 07.06.21 08:56 Сейчас в теме
А слабо написать бухучет на AutoLISP`е???
6. Parsec1C 91 07.06.21 09:41 Сейчас в теме
Прикольная идея! Красава!
7. Nubsdale 07.06.21 09:49 Сейчас в теме
8. BackinSoda 07.06.21 23:15 Сейчас в теме
Скачал конфиг, не смог поиграть :( большинство пунктов вываливается на
ХранилищеОбщихНастроек.Загрузить("...").Получить();
9. moiseeves 195 08.06.21 07:13 Сейчас в теме
(8)
ХранилищеОбщихНастроек.Загрузить

Хм. База файловая? Возможно не отработали фоновые задания по первоначальному наполнению БД.
Можно попробовать выполнить процедуру наполнения
ОбщийМодульСервер.ПервоначальныйЗапускСистемы()
BackinSoda; +1 Ответить
10. Albert_2008 08.06.21 09:28 Сейчас в теме
Спасибо. Будем смотреть. Волшебное слово ШАРА)
11. Albert_2008 08.06.21 09:39 Сейчас в теме
Работает в файловой версии. Спасибо)
12. moiseeves 195 08.06.21 10:14 Сейчас в теме
(11) Да, был косяк в константе. Она работала наоборот.
13. sinichenko_alex 178 08.06.21 10:29 Сейчас в теме
Довольно необычно. Поставлю плюс! По идее можно и WEB-версию организовать без труда.
14. SeiOkami 3423 08.06.21 14:26 Сейчас в теме
Крутилась в голове идея сделать нечто подобное.
Но так и не взялся за это гиблое дело.
Респект за труды ! 👍👏💪
serverstar; php5; +2 Ответить
17. anchar007 10.06.21 09:13 Сейчас в теме
В игре можно платёжку создать, чтобы оплатить новый меч для перса?
vlrkpz; serverstar; +2 Ответить
18. moiseeves 195 10.06.21 09:50 Сейчас в теме
(17) Оружие может выпасть в бою из соперника, как лут или можно сторговаться с жителем деревни или города.
Была у меня идея сделать магазины, но руки не добрались.
19. serverstar 62 10.06.21 15:06 Сейчас в теме
Плюс за интересную идею )
20. Dempingator 154 10.06.21 15:51 Сейчас в теме
Я в шоке, и так толком бухи не работают (косынку мусолят), вы еще им это НА!
ГеймДев тут явно лишен ) ?!
21. user1129453 11.06.21 06:49 Сейчас в теме
22. mafioznic 15.07.21 14:40 Сейчас в теме
Вопрос, а как использовать инструменты?
23. moiseeves 195 15.07.21 15:27 Сейчас в теме
(22) Первоначально хотел сделать рубку деревьев, и крафт с помощью инструментов. А потом забросил.
В планах было реализовать еще голод.
Вообще можно добавить, например, молоты в рецепты крафта оружия.
24. mafioznic 16.07.21 10:18 Сейчас в теме
Поиграл минут 5 хотел сохраниться, по получил ошибку

Ошибка отображения типов:
Отсутствует отображение для типа 'РисунокТабличногоДокумента'
{ОбщаяФорма.TheGame.Форма(2192)}: СохранитьИгруНаСервере();

по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'v':
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'РисунокТабличногоДокумента'

Не могу понять как решить эту проблему
25. Xershi 1474 07.06.23 12:55 Сейчас в теме
(24) толстый клиент или переписать код.
26. Xershi 1474 07.06.23 18:40 Сейчас в теме
(0)
(24) Поправил ошибки. Автор надеюсь не против.
Исправил сохранение. Сейчас тип "ДанныеФормыКоллекция" нужно выгрузить в ТЗ, а затем загрузить, на автомате оно не работает. И получалась ошибка.
Текст сделал с обратным выводом, когда его много листать не нужно.
Добавил генерацию золота НПЦ от 1000 до 10000, фиксированное значение в 100 очень мало.
Заметил дикий рост цен на экипировку. Для чего это не понятно.
Нет регенерации, есть пару предметов на лечение, но где их брать?
Исправил ошибки, взятия предмета и нападения. Не очищались переменные, что вызывало сбой.
Закоментил код, который добавлял 10 хп при входе в инвентарь. Чтобы хоть как-то продержаться.
Добавил в магазин вывод атаки, защиты и лечения. Не понятно вообще как было что купить.
Прикрепленные файлы:
TheGame_1_0_0_2.cf
moiseeves; +1 Ответить
27. moiseeves 195 08.06.23 07:19 Сейчас в теме
(26) Спасибо. Я за свободное ПО, поэтому рад видеть, что кого-то заинтересовала эта разработка и она каким-то образом развивается.

По поводу цен:
Я сделал своеобразную экономику, когда чем более редкий предмет - тем более он ценен. Цены устанавливаются следующим образом: при открытии нового фрагмента карты, на нем генерируются новые вещи. Далее мы собираем список этих предметов, сортируем по количеству, определяем коэффициенты стоимости и всё это записывается в регистр "КурсЦенНаВещи". Процедура "ОбщийМодульСервер.УстановитьЦены".

По поводу регенерации:
Есть возможность сделать свой рецепт крафта, тогда можно будет создавать аптечки. Я пытался сделать игру, в которой можно добавлять свой контент. Новые предметы (не предопределенные) я не пробовал добавлять, но думаю, что это вполне реально.
Оставьте свое сообщение