Сегодня
20 октября 2017
17:21
Вход Sign In Регистрация Sign Up Забыли пароль ? Forgot password ?
VARVE - новые идеи, новые решения
новые идеи, новые решения
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

Уроки 3ds max

КАК СОЗДАТЬ СВОЮ ИГРУ - Веселый Буквоежка Ваше Визуальное Шоу / Fun Letter Eater You Visual Show

обзор антивирусных средств защиты

как работает антивирус ?

КАК СОЗДАТЬ СВОЮ ИГРУ - Набор разработчика игр - Нечто: Необъяснимое - в плену желаний

Как создать игру ? - Программируем сами - Самый первый шаг

Как создать игру ? - Программируем сами - Самый первый шаг - страница 2

Как создать игру ? - Программируем сами - Содержание

Как создать игру ? - Программируем сами - Самый первый шаг - страница 3

Как создать игру ? - Программируем сами - Изучаем и модифицируем пример CreateDevice

Как создать игру ? - Программируем сами - пример CreateDevice страница 2

Как создать игру ? - Программируем сами - пример CreateDevice страница 3

Как создать игру - Vertices - Вершины - страница 1

Как создать игру - пример Matrices

Уроки Photoshop - Чудеса

Уроки Photoshop - Чудеса - Коллаж от нуля

Уроки Photoshop - Чудеса - Коллаж от нуля - страница 2

Уроки Photoshop - Чудеса - Коллаж от нуля - страница 3

Уроки Photoshop - Чудеса - Коллаж от нуля - страница 4

Купить Уроки Photoshop - Чудеса

Уроки Photoshop

Уроки Photoshop - Рисуем волка из мультфильма

Уроки Photoshop - Рисуем волка из мультфильма стр 2

Уроки Photoshop - Рисуем волка из мультфильма стр 3

Уроки Photoshop - Рисуем волка из мультфильма стр 4

Уроки Photoshop - Анимируем волка из мультфильма

Уроки Photoshop - Анимируем волка из мультфильма стр 2

Уроки Photoshop - Анимируем волка из мультфильма стр 3

Уроки Photoshop - Анимируем волка из мультфильма стр 4

Эмулятор игры Ну, Погоди!

Создание сайта для бизнеса

Пример игры с исходным кодом Donuts3D

Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

Открытый Полный Исходный код игры Дорога в Город

Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

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

Как создать игру - Веселый Единственный Буквоежка - игровое меню

Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Новый взгляд на очевидные вещи

Разработка программ на c++

Немного о музыке

Уроки Photoshop - Чудеса

Купить Уроки Photoshop - Чудеса

Онлайн Обучение, Репетитор

Уроки Photoshop - Рисуем и Анимируем

Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

GET и POST запросы

DirectX 9c - Изучаем пример MultAnimation

megainformatic cms Система Управления Контентом

Темы для WordPress

Что нужно для создания собственного сайта ?

Макет дизайна Вашего сайта

скачать megainformatic cms

для чего нужна карта сайта

Что нужно для создания собственного сайта ?

как создать инсталлятор для собственной cms

новые идеи, новые решения

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Мысли о разном

Выгрузка файла на сайт

выпадающее меню на html и css

Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Легко ли быть программистом

От идеи к реализации - трудно ли создавать сайты ?

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

Глубины программирования на C++

VARVE: Музыкальная страничка трэкера

Создание музыки и звука

VARVE: Создание музыки и звука: урок 2

Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

Создание музыки в Impulse Tracker 2.14 Первая мелодия

Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

Создание музыки и звука: теория и практика создания трэкерской музыки

Что такое VARVE ?

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

Основы IDirectMusic8 в среде Delphi6-7

Основы DirectInput8 в среде Delphi 7

Основы DirectSound8 в среде Delphi6-7

Плагин для 3DS MAX из DX9 SDK

Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Система управления сайтом - megainformatic cms e-shop

Моделируем девушку в 3ds max - Женская грудь

Моделируем девушку в 3ds max - Тело

     
 
Урок 6 Игровая логика
 
О том, что потребуется для данного урока читайте в основном разделе - уроки delphi directx 8.1
 
Далее у читателя подразумевается наличие базовых знаний языка Delphi.
 
[назад] [страница 1] [далее] [к содержанию]
 

Игровая логика - это формализованный в коде набор игровых идей, которые составляют игровой геймплей.

В игре "Ну, Погоди!" игровая логика сводится к следующему алгоритму, выраженному в словесной форме -

игрок должен управлять положением волка, располагая его в одном из 4х возможных. С лотков катятся яйца. По достижении конца лотка яйца падают, если у этого лотка не стоял волк, при этом выглядывающий из окошка заяц вызывает появление из разбитого яйца бегущего цыпленка. Отсутствие зайца приводит к полному разбиванию яйца. За пойманные яйца начисляются призовые очки, за разбитые - штрафные. Бегущему цыпленку соответствует пол-штрафного очка, полностью разбитому яйцу - 1 штрафное очко. Игра продолжается до 3 штрафных очков или до троекратного набора 999 очков. В последнем случае отображается поздравительный текст и небольшой мультфильм.

 

Теперь посмотрим на код, который должен реализовать описанную логику -

в методе TD3DGameApp.UpdateInput

изменение положения волка происходит следующим образом

{...}

if PressButton in m_DXInput.States
then begin
Area := TargetBtnArea(GetCursorPos);
//в данном случае проверяется нажатие на кнопку управления волком на игровой

//панели путем наведения на неё указателя мыши и нажатия левой кнопки мыши

{...}

if LeftUpCatch in m_DXInput.States then begin //т. к. на больших скоростях игры потребуется прямое управление
Area := 0;
//волком от клавиатуры, то это происходит таким образом
end;

{...}

Далее текущее положение волка заносится в специальную переменную -

Это происходит в реализации метода TD3DGameApp.FrameMoveGameSituation -

//положение волка
if (Area >= 0) and (Area < 4) then begin
WolfPos := 1 + Area;
WolfPosSet := WolfPosSet + [WolfPos];
end;

и далее -

//если игра не остановлена из-за разбитого яйца
if not StopGame then begin

//появление нового яйца на лотке
CreateNewEgg;

//качение яиц по лоткам
RollEggs;

//появление зайца из окошка
RabbitLookedFrom;

//счетчик изменения темпа игры
IncreaseGameSpeed;


end; {of StopGame or ResetShtraf}

CrashEggs; //разбивание яиц, бег цыплят


//мерцание, сброс штрафных очков

FlashShtraf;

 

Реализацию показанных методов Вы можете посмотреть в исходном коде игре "Ну, Погоди!".

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

 
Переходим к практическим упражнениям.
 

Используя код приложения из предыдущего - 5 урока - GameClasses_src попробуйте реализовать такой простейший игровой процесс:

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

 
В законченном виде это уже реализовано в проекте "В плену желаний". Можете скачать и посмотреть, но обязательно попробуйте реализовать это сами в качестве практики.
 
плен желаний
 

В ходе реализации плена желаний я разрешил одну логическую ошибку, в результате которой код, отвечающий за формирование рельефа и перемещение по нему персонажа из примера 3D-игры Scene2Game будет работать корректно. Это полноценный пример по построению сложной игровой 3d-сцены с анимированными персонажами, игровыми панелями и прочими атрибутами. Пример также способен отображать рельеф и перемещать персонажей по нему, но для этого его немного надо доработать. Можете попробовать сами.

Для компиляции примера понадобится библиотека delphi directx.

 
Пример сложной игровой сцены
 

Особенности примера:

- вывод 9 зон земной поверхности и объектов на ней (деревья), возможно построение сцены по данным файла - карты;

- свободная и привязанная к персонажу камера (переключение клавишей [V]);

- переключение между персонажами [пробел];

- анимированные персонажи (хотьба, прыжки, падение); управление персонажем j, k, l, i

- игровые панели - жизни, сила броска;

- падающие с неба предметы (кубики) и взаимодействие с ними - при подбегании к кубику он начинает медленно взмывать в воздух, при падении на персонажа персонаж получает повреждения;

- поиск ближайших кубиков, показ их стрелками;

- рассчет траекторий полета (не доделано);

 

В завершение данного урока хотелось бы обратить Ваше внимание на реализацию алгоритма постепенного нарастания темпа в игре "Ну, Погоди!". Для этого загляните в реализацию метода TD3DGameApp.IncreaseGameSpeed

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

 
 
 
[назад] [страница 1] [далее] [к содержанию]
 
     
     
     
     
 

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



Рейтинг@Mail.ru
Время загрузки: 0,0424