Игра "The Game"

Публикация № 1454205

Сообщество - Игры

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

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

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

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

 

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

 

По пунктам.

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

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

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

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

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

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

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

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

5. Сюжет

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

 

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

 

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

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

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

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

Наименование Файл Версия Размер
Конфигурация "The Game"

.cf 13,56Mb
95
.cf 1.0.0.1 13,56Mb 95 Скачать бесплатно
Первая версия обработки "The Game"

.epf 18,06Kb
15
.epf 1.0.0.1 18,06Kb 15 Скачать бесплатно
Последняя версия обработки "The Game"

.epf 103,01Kb
49
.epf 1.0.0.1 103,01Kb 49 Скачать бесплатно

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1051565 66 04.06.21 17:28 Сейчас в теме
Не понял, как делать бесплатные файлы.
Прикрепленные файлы:
161209_Tale.epf
170316_TheGame.epf
shard; vulli; 1v7; +3 Ответить
2. alexey_kurdyukov 69 05.06.21 04:10 Сейчас в теме
Нужно поработать над графикой!
15. chg 09.06.21 06:52 Сейчас в теме
16. alexey_kurdyukov 69 09.06.21 06:53 Сейчас в теме
(15) Ну изометрию-то например можно попробовать запилить
5. FatPanzer 13 07.06.21 08:56 Сейчас в теме
А слабо написать бухучет на AutoLISP`е???
6. Parsec1C 63 07.06.21 09:41 Сейчас в теме
Прикольная идея! Красава!
7. Nubsdale 07.06.21 09:49 Сейчас в теме
8. BackinSoda 07.06.21 23:15 Сейчас в теме
Скачал конфиг, не смог поиграть :( большинство пунктов вываливается на
ХранилищеОбщихНастроек.Загрузить("...").Получить();
9. user1051565 66 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. user1051565 66 08.06.21 10:14 Сейчас в теме
(11) Да, был косяк в константе. Она работала наоборот.
13. sinichenko_alex 102 08.06.21 10:29 Сейчас в теме
Довольно необычно. Поставлю плюс! По идее можно и WEB-версию организовать без труда.
14. SeiOkami 2117 08.06.21 14:26 Сейчас в теме
Крутилась в голове идея сделать нечто подобное.
Но так и не взялся за это гиблое дело.
Респект за труды ! 👍👏💪
serverstar; php5; +2 Ответить
17. anchar007 10.06.21 09:13 Сейчас в теме
В игре можно платёжку создать, чтобы оплатить новый меч для перса?
vlrkpz; serverstar; +2 Ответить
18. user1051565 66 10.06.21 09:50 Сейчас в теме
(17) Оружие может выпасть в бою из соперника, как лут или можно сторговаться с жителем деревни или города.
Была у меня идея сделать магазины, но руки не добрались.
19. serverstar 10.06.21 15:06 Сейчас в теме
Плюс за интересную идею )
20. -Almi- 100 10.06.21 15:51 Сейчас в теме
Я в шоке, и так толком бухи не работают (косынку мусолят), вы еще им это НА!
ГеймДев тут явно лишен ) ?!
21. user1129453 11.06.21 06:49 Сейчас в теме
Оставьте свое сообщение

См. также

Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) Промо

Перенос данных из 1C8 в 1C8 Универсальные обработки Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Абонемент ($m)

Простой перенос через JSON данных между двумя базами 1С (документов, справочников, ПВХ, ПВР, счетов). Аналогична произвольной выгрузке в типовой "Выгрузка/загрузка XML", но может использоваться для отличающихся конфигураций. Подходит для любых пар баз с любым интерфейсом (управляемый + обычный). Без настроек. Не требует идентичности конфигураций и платформ. При переносе типы данных сопоставляются по наименованиям метаданных, объекты и ссылки по UID.

1 стартмани

22.10.2014    217979    4311    ekaruk    184    

Загрузка данных из 1С МиниДеньги в 1С:Деньги 8, редакция 2.0

Обмен через XML Перенос данных из 1C8 в 1C8 v8 Домашние учет и финансы УУ Абонемент ($m)

Обработка для первоначальной загрузки данных (справочников и операций) в настольную программу 1С:Деньги 8, редакция 2.0 из файлы резервной копии мобильной программы 1С Миниденьги.

2 стартмани

01.10.2015    16490    15    Claus32    5    

Редактор чеков ККМ Розница 2.0 - 2.3

Обработка документов Кассовые операции Розничная торговля Кассовые операции Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд БУ НУ Абонемент ($m)

Обработка чеков ККМ списком (редактирование, удаление, ...). Переформирование ОРП, связь чеков с ОРП. Редактирование времени КС. Редактирование суммы и времени выемки.

1 стартмани

06.08.2015    57264    544    Dima_    83    

Загрузка из Excel в 1С:Розница

Обработка документов Обработка справочников Загрузка и выгрузка в Excel Учет ТМЦ Учет ТМЦ v8 Розница Россия УУ Абонемент ($m)

Универсальная загрузка Excel файлов в 1С:Розница 2.0

1 стартмани

27.05.2015    15720    110    KarinaSV    7    

Автоматическая установка себестоимости номенклатуры для конфигурации Розница 2.0 (2.1) +Бонус, исправляем ошибки при настройке расписания запуска для внешних обработок в Рознице 2.0

Ценообразование, прайсы Обработка документов Розничная торговля Ценообразование, анализ цен Розничная торговля Ценообразование, анализ цен v8 Розница Розничная и сетевая торговля (FMCG) Россия УУ Абонемент ($m)

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

1 стартмани

31.03.2014    28421    74    sanches    15    

Выемка денежных средств из КассыККМ. Розница 2.0

Кассовые операции ККМ Кассовые операции v8 Розница УУ Абонемент ($m)

Уставшим от отсутствия ВыемкиДС после закрытия кассовой смены посвящается. Подключаемая обработка. Управляемый интерфейс.

1 стартмани

12.12.2012    78957    527    StepByStep    40