fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
24 июня 2017
18:34
Вход Регистрация Забыли пароль ?

megainformatic - Создание интернет-магазина
              Добро пожаловать в систему управления сайтом megainformatic cms !  
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic - Что нужно знать для создания сайта ?

megainformatic - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

megainformatic - Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

megainformatic - Что нужно знать для создания сайта ? Содержание

megainformatic - Что нужно знать для создания сайта ? css - стили

megainformatic - preg_match или Использование регулярных выражений в php

megainformatic - статьи Тимонина Андрея - Flash. Содержание

megainformatic - статья Тимонина Андрея - Flash. Подготовка к работе.

megainformatic - статья Тимонина Андрея - Flash. Hello world.

megainformatic - статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

megainformatic - Тимонин Андрей - Несколько слов о себе

megainformatic - статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

megainformatic - статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

megainformatic - статья Тимонина Андрея - Хронология работы программы. Создаем Лог

megainformatic - статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

megainformatic - статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

megainformatic - статья Тимонина Андрея - States. Создаем менеджер состояний игры.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

megainformatic - статья Тимонина Андрея - Таймер. Выводим время игры.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем первое приложение.

megainformatic - Что нужно знать для создания сайта ? float - использование в css - стилях

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

megainformatic - Что нужно знать для создания сайта ? Стандартные шрифты для сайта

megainformatic - Что нужно знать для создания сайта ? ASC II Коды символов

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. СОДЕРЖАНИЕ

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. Энергетический кокон

megainformatic - Модуль галерей для любой cms

megainformatic - Портфолио выполненных проектов сайтов и приложений

megainformatic - Мои Музыкальные Миры - страница 2

megainformatic - megainformatic cms rs

megainformatic - модуль Падающий снег

megainformatic - проект Open Shop

megainformatic - Рисуем красивую девушку всего за 6 шагов

megainformatic - Галерея красивых рисованных девушек

megainformatic - НОВОГОДНЕЕ ОБРАЩЕНИЕ СОЗДАТЕЛЯ webinformatic К ЖИТЕЛЯМ ПЛАНЕТЫ интернет

megainformatic - Отзывы оставленные пользователями как впечатление о проделанной работе или что-либо понравившееся на сайте

megainformatic - Уроки css - атрибут position

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - СОДЕРЖАНИЕ

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 1 - Обычный день

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 2 - Начало (begin)

Новогодняя дискотека 2013 на megainformatic точка ru

megainformatic - Программируем на C++ с использованием MFC

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения - hello, world !

megainformatic - Как создать игру ? - Пишем игровой движок с нуля

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Вступление

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Общая структура будущего игрового движка

Разное

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - DXUTMainLoop - цикл работы DirectX-приложения

megainformatic - Варианты макетов Психолог 911

megainformatic - Шаблоны для сайтов - что это и какие они бывают ?

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 3 - Кто он ? (who is ?)

Creating game on fle game engine - fle / Создание игры на fle game engine - fle

13. Скроллинг больших локаций



read paper in english

В данном уроке мы проведем своего рода быстрый старт - это введение в создание игр в среде fle game engine.





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







При создании игровых сцен представленных более чем одним игровым экраном возникает ряд вопросов:

1) Как создать сцену из нескольких игровых экранов ?

2) Как скроллить, т. е. перемещать созданный набор сцен ? Мы его будем называть условно: локацией. Локация это уже несколько сцен представляющих одно логическое целое.

3) Что нужно учитывать в коде при создании игры содержащей локации ?

Цель данной статьи - разъяснить как они решаются во fle game engine.

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







А именно: мы возьмем самый простой случай - игровую локацию составленную всего из 3 игровых экранов. Другими словами она будет включать всего 3 игровых сцены, объединенных в единую локацию.

Понятно что мы условно берем такой самый простой пример, ведь поняв основной принцип описанный далее, Вы сможете добавить в свои локации сколько угодно игровых экранов (сцен).

Итак, для выполнения поставленных задач нам понадобится исходный код примера игры simple game.

Сначала мы проделаем следующее:

- из 3х одинаковых сцен создадим локацию;
- загрузим её;
- разберемся с тем, как её можно перемещать.





- из 3х одинаковых сцен создать локацию:

В статье игра "Веселый Буквоежка" - инструменты разработки

Сказано следующее:

Сборщик локаций

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



Вот пример такого файла:

begin6.scn
begin4.scn
begin2.scn
begin0.scn
begin1.scn
begin3.scn
begin5.scn

Исходя из данного файла в локации сцены будут появляться слева - направо в таком порядке: 6-4-2-0-1-3-5

Количество сцен всегда должно быть 2*n+1, где n - число от 0 до бесконечности.

Т. е. 1, 3, 5, 7, 9 и т.д.

В игре любая локация начинается со сцены 0, сцены с четными номерами будут располагаться слева от нулевой, с нечетными - справа от нулевой.

Следовательно, если Вы всё поняли, берем файл

simple_game\Media\textures\environment\scenes\simple_game\scenes_list.txt

И вместо имеющейся в нём 1 строки -

scene_1.scn

создаем 3 -

scene_2.scn
scene_0.scn
scene_1.scn

файлы

scene_2.scn
scene_0.scn

это просто переименованные копии файла
scene_1.scn

В редакторе Scene Editor можно создать и другие, но для простоты и ускорения выполнения задач я сделал именно так.



- загрузим её:

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

в модуле start.cpp

строкой кода

m_pGameSceneDataFile->LoadLocation(SimpleGameLocation, SimpleGameScenesPath);



- разберемся с тем, как её можно перемещать:

На самом деле опять-таки, изменений в коде делать не потребуется, всё уже реализовано и прекрасно работает !

Вы это можете увидеть на показанном выше видео.

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

Во-первых нужно в методе

CD3DGameApp::ChangeGameCursorPos

модуля start.cpp

Внести такие небольшие изменения:

if ( cursor_at_window_x < cursor_spr_left_limit )
{
//cursor_at_window_x = cursor_spr_left_limit;
}

if ( cursor_at_window_x > cursor_spr_right_limit )
{
//cursor_at_window_x = cursor_spr_right_limit;
}

Тем самым мы снимаем ограничения на перемещения и они становятся намного заметнее.

Далее, поскольку, если Вы помните, в примере simple game, часть экрана закрыта обложкой и сцена видна только через прорезь в этой обложке, то нужно просто сделать всю обложку прозрачной.

Для этого достаточно в Photoshop или любой другой программе, которая позволяет менять альфа-маску tga изображений, сделать альфа-маску для файла обложки frame_tex_2.tga целиком на всё изображение и полностью прозрачной - т. е. заполнить её черным цветом.

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

Во-вторых, в методе

CD3DGameApp::ChangeGameCursorPos

модуля start.cpp

Нужно сделать еще одно небольшое изменение:

//g_fHorizontalScrollOffset = vPos.x; //было
g_fHorizontalScrollOffset = vPos.x * 2.0f; //так еще нагляднее потому что видны края всей локации при перемещениях мыши.


Ну и конечно, в редакторе Scene Editor можно каждую из сцен сделать индивидуальной.

Например я, добавил по правому краю 2 сцены и по левому 0 сцены - столбик из красных блоков. И в видео показаном выше видно как 2 и 0 сцены соприкасаются друг с другом.

А вот сцена 1 никаких отличий не имеет, поэтому заметить как она из 0 переходит в 1 можно только по похожему расположению ям.

Теперь Вы знаете как делать большие локации в играх на fle game engine !

Небольшое дополнение: в примере simple game управление реализовано от мыши. Но при желании Вы легко можете сделать его и от клавиатуры - т. е. чтобы шарик или игровая сцена были перемещаемы не от перемещений мыши, а, например, по нажатию клавиш стрелок управления курсором влево, вправо, вверх, вниз или a, d, w, s либо каких-то еще клавиш, которые Вам нравятся.

О перемещениях игровой сцены и шарика было рассказано в наших предыдущих статьях (см. Содержание выше статья страница 7 - Перемещения игровой сцены).

Ну и конечно же, Вы можете отметить, что в профессиональных играх принято делать экран настроек, в котором игрок может переопределить все клавиши управления игрой и настроить их на такие, какие удобны ему.

Поскольку наша игра - simple game - судя по названию - самая простая и понятная для того, чтобы разобраться в вопросах создания своей первой игры, то мы здесь не делаем таких усложнений и нагромождений. Хотя Вы, при желании всегда можете разобраться в этом сами и реализовать.

И еще напоследок один совет: в дальнейшем, при создании своих игр постарайтесь всегда начинать с какой-то простой заготовки - основы, и потом уже постепенно нанизывать на неё дополнительные возможности. Поверьте - создавать игру из готовых кирпичиков гораздо проще и удобнее, нежели писать всё в едином большом модуле. Поэтому старайтесь всегда сложные задачи разбивать на кусочки и реализовывать в виде отдельных независимых (по-возможности) друг от друга модулей.

А если модули должны как-то между собой взаимодействовать ?

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





[назад] [далее]

 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
визиты
сегодня: 1406
всего: 2209
посетители
сегодня: 267
всего: 22112
Время загрузки: 2,3376