Показаны сообщения с ярлыком Программирование. Показать все сообщения
Показаны сообщения с ярлыком Программирование. Показать все сообщения

пятница, 4 апреля 2014 г.

Экспорт/импорт данных в бинарный формат

Подготовил пример использованного в последней игре формата сохранения/загрузки игровых данных (заточен под Lazarus+ZenGl, но при желании можно переделать). Сам формат основан на protobuf (Protocol Buffers от Google). Из основных преимуществ - простота использования в коде и возможность расширения файла данных без страха потери совместимости. Так например ваша программа версии 1, может поднять сохранение из версии 2 (новые части сохранения которые появились в v2 просто проигнорируются). Также версия 2 спокойно поднимет сохранение версии 1. Если кратко, то все данные разбиваются на поля, каждое поле имеет свой ID и размер. В коде при считывании поля с неизвестным ID оно просто игнорируется, если же каких-то полей не хватает, то это также проигнорируется.

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


imageПри написании мобильной игры немаловажной частою разработки является написание графического интерфейса. Если выбранный для разработки игры инструментарий уже имеет все необходимое — это просто чудесно. В обратном случае придется потратить довольно много времени на разработку кода ответственного за GUI. Особенно это отягощается необходимостью проектировать под разные девайсы с разным dpi, разрешениями и пропорциями экранов. Рассмотрим один из подходов для решения этой проблемы.

четверг, 19 декабря 2013 г.

Иерархический поиск пути

Для разработки небольшой компьютерной игры зачастую применяются базовые алгоритмы поиска пути (алгоритм Дейкстры, А*), которых вполне достаточно для игрового поля не слишком больших размеров. Однако как же решить задачу о поиске пути на громадных игровых пространствах в играх жанра RTS или RPG? Ведь в виду значительного потребления памяти и ресурсов процессора базовые алгоритмы не подходят. О решении этой проблемы (а также нескольких других) и пойдет речь дальше в статье.

понедельник, 18 ноября 2013 г.

О разработке небольшой игры с помощью Lazarus


После относительно недавнего релиза Lazarus 1.0, захотелось опробовать эту IDE на практике. Так появилась идея написать игру. Из основных требований — она должна быть несложной, с небольшими затратами времени на ее реализацию. Ну и конечно же, ее написание и сам геймплей должны быть достаточно увлекательными процессами, даже для меня как ее создателя.
Что ж, пожалуй лучшим способом добиться поставленных целей, являться высокий уровень случайности, что бы параметры и поведение игры было трудно точно спланировать. Ну и конечно спонтанность в разработке, когда наперед ничего конкретного не планируется.

Расширяем функциональность клавиатуры


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