Необычный порт «Героев 3» представила команда 1C. На хакатоне коллектив под управлением Федора, ведущего разработчика 1C, перенесла легендарную игру на свою платформу. Авторы реализовали все, что должно быть в «Героях»: замки, справочники, прокладку маршрутов, строительство, сражения с ИИ, а также обмен существами.
Так, например, вся информация об игре хранится в справочниках: шаблоны существ, зданий, героев и городов. Справочник «Игры» содержит данные о текущем состоянии игры, таких как текущий день, активный игрок, информация о героях и замках. Взаимосвязь данных обеспечивается с помощью «ключей связи».
Карта, как и в оригинале, состоит из клеток и объектов (замки, герои, ресурсы). Для реализации использовано поле табличного документа, в ячейки которого выводятся изображения объектов. Изначально возникли сложности с масштабом объектов, но проблема была решена путем привязки картинок к уникальным идентификаторам.
Для передвижения героев используется метод «поиск в ширину», позволяющий обходить препятствия. Анимация реализована с помощью пошагового вызова процедур, что создает эффект движения. Городская форма представлена набором декораций-картинок, что позволило избежать проблем с прокруткой изображения. В итоге города выглядят так же, как в оригинале, с возможностью строительства и найма существ.
Подробнее можно почитать по ссылке.
Команда 1C заняла первое место на хакатоне. Но Федор, автор статьи отмечает, что хакатон длился два дня по 8 часов, над проектом работала команда из 5 человек. Но на хакатоне был разработан только прототип, когда на финальную версию ушло 1,5 месяца. Коллектив занял первое место.
Вы можете и скачать «игру», если у вас есть 1C и понимание того, что сделано.
Источник: gameguru.ru