Игра "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
16
.epf 1.0.0.1 18,06Kb 16 Скачать бесплатно
Последняя версия обработки "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 Сейчас в теме
Оставьте свое сообщение

См. также

Морской бой для 1С: 8.3

Игры v8 1cv8.cf Россия Бесплатно (free)

Игра на управляемых формах, запуск на любых конфигурациях. Морской бой – популярная игра с простыми правилами. Задаваясь вопросом, как выиграть в морской бой, игроку в этом всегда поможет удача, а если с вами будет играть опытный и давний соперник, который уже знает, как можно находить корабли соперника, тогда задача усложняется!

30.11.2020    3049    221    AlexDen    5    

Майнкрафт

Игры v8 Бесплатно (free)

Не знаю, кто как расслабляется после работы, а я играю в Майнкрафт. Эта нелепая поначалу игра всё же затянула и меня полгода назад. И вот, результат игрищ программиста 1С в Майнкрафте.

24.03.2020    6195    52    PLAstic    17