Тег: Delphi

Работа с флагами в играх

Опубликовал – 09.02.2011

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

Как Вы поступаете, к примеру, если вам нужно хранить много разных флажков в Вашей игре? Создаете кучу bool переменных? Когда то у меня был некий объект, который хранил базовые флаги всех объектов в игре, это выглядело примерно так: Далее…

Простая система частиц в виде размножения клеток

Опубликовал – 02.12.2010

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

Мы будем использовать для этого небольшого проекта среду Delphi. Думаю не стоит объяснять, что это существенно сократит время разработки. Далее…

Разработка RPG – LittleAge (часть 1)

Опубликовал – 27.08.2010

Доброе время суток, товарищи! Наконец у меня появился свободный вечерок, который я могу посвятить написанию новой статьи по LittleAge. Сегодня мы подготовим нашу рабочую среду для дальнейшей работы и попробуем описать графический вывод. Далее…

Разработка RPG – LittleAge (тестовое приложение)

Опубликовал – 23.07.2010

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

Не пугайтесь, размеры карт у нас будут куда больше и на один экран умещаться не будут. Итак, давайте откроем Delphi и создадим новый проект. Назовем его например Testing. Далее…

Разработка RPG – LittleAge (ликбез)

Опубликовал – 22.07.2010

Введение

Здравствуйте, дорогие мои. Итак, по традиции начнем с небольшого вступления.

Голосование, которое проходило вкантакте, показало, что люди хотят наваять свою РПГ, с плюшками, ролевой системой и изометрической графикой, но мое мнение, это будет слишком сложно для начинающих, и большинство алгоритмов они просто не поймут, что приведет к банальному копи-пасту. Товарищи, не стремитесь создать автомобиль, потренируйтесь сперва на более простых вещах.

Итак, предлагаю делать наше РПГ в 2D виде (вид сбоку – слешер), без алгоритмов поиска пути, сложных мэп-едиторов и довольно сложным АИ. Намного интересней проводить время за реализацией непосредственно самой игры, нежели с первых шагов погрязнуть в трясине графических, физических игровых алгоритмов. Далее…

Разработка игры Fly (Заключение)

Опубликовал – 03.07.2010

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

Давайте для начала поработаем с фоном. Создадим несколько фоновых картинок с размерами 400х360. Назовем их back0.bmp..backN.bmp. Я добавил еще две. Теперь добавим процедуру загрузки фона в хаотичном порядке, в модуле uGraphics, в классе TRender: Далее…

Разработка игры Fly (часть 6)

Опубликовал – 25.06.2010

Вот и выдалось время, которое я посвящу Вам, дорогие читатели, и завершению статей по разработке игры Fly. Давайте вспомним, мы остановились на том, что, необходимо реализовать столкновения, взрывы, выстрелы. Сегодня нам это под силу, так же мы научимся выводить текст на экран, своими силами, без методов класса TCanvas, который сильно тормозит вывод графики.

Ну что, приступим. Далее…

Разработка игры Fly (часть 5)

Опубликовал – 22.06.2010

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

Для начала, добавим возможность анимации объектов. Далее…

Утилита генерации маски изображения

Опубликовал – 18.06.2010

Здравствуйте, дорогие друзья. Так как мы применяем маску для картинок, в нашей с вами разработке игры, я решил поделиться легким решением генерации.

Давайте создадим новый проект с именем MaskGenerator, таким способом, как я рассказывал во второй главе. Далее…

Разработка игры Fly (часть 4)

Опубликовал – 15.06.2010

Здравствуйте, мои дорогие читатели. Это четвертая часть статей, которая посвящена разработке простенькой игры.

Сегодня мы будем разрабатывать класс списка игровых объектов TGameObjectList. Как видно из названия, этот класс содержит список объектов и обрабатывает их, либо выбранную группу. В сложных играх, объекты должны сортироваться по ID, в конце каждого игрового цикла, для быстрого доступа к определенной группе объектов (чтобы не перебирать весь массив). В нашем случае, это просто будет этакий менеджер, который будет запускать обработку действий и рисования объектов. Итак, начнем. Далее…

Разработка игры Fly (часть 3)

Опубликовал – 13.06.2010

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

Сегодня мы будем описывать простейший игровой объект, который будем брать за основу более сложных объектов. Создадим модуль, назовем его uGameObject и заведем в нем наш абстрактный класс TGameObject который будет описывать общие свойства всех игровых объектов. Далее…

Разработка игры Fly (часть 2)

Опубликовал – 10.06.2010

Если вы не читали вступительную и первую части и, так как эта статья основывается на первых двух, я рекомендую Вам это сделать. А для всех остальных, пожалуй, начнем наш урок.

Сегодня я вам расскажу, как организовать объектно-ориентированную модель нашей игры.

В среде Delphi в нашем проекте мы будем использовать из доступных VCL компонентов только TForm - это форма, она создается по умолчанию при создании нового проекта. И добавим новый компонент на нашу форму  TApplicationEvents (найти его можно во вкладке Additional),

который перехватывает все события нашего приложения. Нам понадобится только один из его обработчиков, OnIdle (процессор освобожден и не поступает никаких сообщений от пользователя) в этом событии мы будем рисовать сцену, считать AI, и так далее – это и будет нашим жизненным циклом. Можно, конечно, использовать альтернативные компоненты, например TTimer, но он совсем неточный и срабатывает, порой, когда ему вздумается, для игр он не подходит. Собственно, для больших игр писать приложение стоит только на чистом API, без использования VCL компонентов, в пользу скорости и адекватности поведения приложений. Далее…

Разработка игры Fly (часть 1)

Опубликовал – 08.06.2010

Это продолжение статьи Разработка игр (Ликбез).

Итак в этой статье мы организуем себе рабочую среду. И создадим «скелет» приложения – будущей игры.

Для начала, давайте создадим папку Fly и в ней, иерархию папок, вот таким образом:


1. Структура

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

Далее…

Разработка игры (ликбез)

Опубликовал – 07.06.2010

Разработка игры – очень непростой, длительный, но безумно интересный процесс.  Я обратил внимание, что все меньше молодежи увлекается чем-либо. Ведь раньше как было – фото кружки, поделки, картинги и много чего еще интересного. Люди стремились получать знания, участвовать в выставках\конкурсах, как-то проявлять себя. А сегодня, в век технологий, одно разочарование. Молодежь хочет только лопать попкорн и играть в онлайн игрушки, теряя драгоценное время. Если вы не относите себя к такой категории людей, этот цикл статей для Вас.

Я предлагаю провести вводный ликбез и дальше перейти непосредственно к разработке нашей будущей простенькой игре. Статьи будут разбиты на главы по принципу «от простому к сложному». Далее…