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


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
22 февраля 2019 19:23
Вход Регистрация Забыли пароль ?

megainformatic - Модуль content php performer для megainformatic cms
Модуль content php performer для megainformatic cms Данный модуль позволяет вам использовать блоки php кода, вставляемые прямо в текст статьи сайта и исполняемые, также как и обычный php-код. Для вставки используется стандартный синтаксис php. Между тегами <?php и ?> Вы записываете нужный php код, а при обращении к странице сайта п
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Сообщить об ошибке

Balls on Lift Table of Records / Шарики на лифте Таблица рекордов

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 13

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Рисуем шарик / How make the game - series of lessons - draw ball

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Содержание / How make the game - series of lessons - Index

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Разные шарики / How make the game - series of lessons - Different balls

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Анимация прыжков шарика / How make the game - series of lessons - Animation ball jumps

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Создание фона заднего плана / How make the game - series of lessons - Creating background for back plane

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Вставка созданной графики, звуков и музыки в игру - Inserting created graphics, sounds and music in the game.

Balls on Lift / Шарики на лифте + Как создать игру - бесплатная игра + комплект уроков о том, как создавать контент для игры - спрайты, фоны, звуки, музыку, и вставить его в игру - How to create a game - free game + package of lessons on how to create content for the game - sprites, backgrounds, sounds, music, and insert it into the game

Balls on Lift / Шарики на лифте + Как создать игру - бесплатная игра + комплект уроков о том, как создавать контент для игры - спрайты, фоны, звуки, музыку, и вставить его в игру - How to create a game - free game + package of lessons on how to create content for the game - sprites, backgrounds, sounds, music, and insert it into the game

Развитие проекта fle game engine

Бинарная философия / Binary Philosofy

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 14

Вакансии

Коллекция php скриптов

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 15

megainformatic - Приключения Кости Коробкина - В гостях у тёти Светы часть 1 - интерактивный комикс

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс

fle game generator - fle генератор игр - fly snow 3d падающий снег - расширяемый генератор визуальных образов, с музыкой mp3, ogg и генерацией игр

fle game generator - fle генератор игр - fly snow 3d падающий снег - расширяемый генератор визуальных образов, с музыкой mp3, ogg и генерацией игр

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 16

megainformatic Создание и размещение видео баннера mp4

megainformatic Использование баннер-ротатора

megainformatic fle game engine Simple game / Пример простой игры

megainformatic fle game engine Simple game / Пример простой игры - страница 1 - Спрайты

Creating game on fle game engine - Draw Line - This can be helpful/ Создание игры на fle game engine - Рисование линий - Это может пригодиться.

Платная подписка на fle game engine

megainformatic Создание игры на fle game engine - Simple game - страница 2 - Объекты / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 3 - Объекты / Пример простой игры

Платная подписка на fle game engine

megainformatic Создание игры на fle game engine - Simple game - страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 5 - Отображаем прыгающий шарик, узнаем как задается для спрайта его центр и знакомимся с векторной системой координат / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 6 - Загрузка игровой сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 7 - Перемещения игровой сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 10 - Проверка столкновений / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 11 - Игровой счёт, звуки, музыка / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game extended - страница 1 - Создание новой сцены (уровня, комнаты), добавление новых возможностей / Пример простой игры - расширенная версия

Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017

Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017

Советы копирайтеру - как не обмануть и не быть обманутым

Balls and Holes игра скачать + как создать игру на fle game engine

Balls and Holes игра скачать + как создать игру на fle game engine

Something: Unexplained 2 captive of desires

KKK Коллекционное издание: Веселый Буквоежка Комикс + Костя Коробкин Комикс + Нечто: Необъяснимое в плену желаний 2 начало

KKK Коллекционное издание: Веселый Буквоежка Комикс + Костя Коробкин Комикс + Нечто: Необъяснимое в плену желаний 2 начало

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 17

megainformatic - Игродельня

megainformatic - Новости страница 542

megainformatic - С днём защитника отечества !

megainformatic fle game engine fle / Пример простой игры fle - Скроллинг больших локаций

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 18

megainformatic - Шарики и Ямки игра PC

megainformatic - Шарики и Ямки игра PC

подробнее

       
 

Урок 8: Настройка параметров сэмплов

Сэмплы - это основа любой Вашей композиции. От их качества зависит качество получаемого звука. В MT вы не можете создавать свои сэмплы. Их можно только загружать в готовом виде. Для создания сэмплов используйте другие специализированные программы, например Sound Forge (см. уроки 1,2). Однако есть ряд параметров сэмпла, которые Вы можете задавать, меняя тем самым качество получаемого звука.

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

 
       
 

Перейдите в окно списка сэмплов - вкладка Samples. Загрузите какой-нибудь сэмпл и посмотрите какие имеются параметры.

Default volume: громкость сэмпла по умолчанию - вы можете задавать значение 0-64 с клавиатуры - для этого клавишами [Tab] и [Shift]+[Tab] вам нужно перевести курсор в это поле и ввести значение с клавиатуры. Или можно перемещать ползунок - мышью!

Global volume: глобальная максимальная громкость которую можно установить для сэмпла.

Set pan: значение панорамы (смещение баланса между левым и правым стерео-каналами) по умолчанию. Отсутствие галочки соответствует отключенному состоянию панорамы - когда мы вообще не регулируем ее. Значение поля соответствует заданному балансу. 0 - полное смещение в левый канал и 128 - в правый.

Auto-Vibrato, Depth, Sweep, Rate - параметры задающие управление вибрацией звука генерируемого сэмплом. Это соответственно - форма волны вибрации, глубина, скорость и диапазон вибрации. Поэкспериментируйте - сразу поймете что к чему!

 
       
 

Важные характеристики сэмпла:

В левой половинке окна параметров сэмпла остались самые важные параметры: (Сверху-вниз по-порядку) -Name, File - название сэмпла и имя файла (беспокоиться о его расположении не нужно, т.к. будучи загруженным в композицию сэмпл становится ее частью и располагается внутри), но информация о названии может быть вам полезна тогда, когда Вы захотите загрузить и в другую свою композицию какой-то такой же понравившийся Вам сэмпл; Freq- базовая частота дискретизации сэмпла (Гц) c которой воспроизводится нота в поле Transpose. Принцип генерации звуков всех других нот довольно прост - каждая нота имеет определенное (стандартизированное) смещение в частоте дискретизации относительно базовой ноты (С-4). Например, следующая нота C#4 - имеет смещение в 4 Гц, D-4 - в 1024 Гц и т.п. Таким образом звук более высокой (по тону) ноты проигрывается быстрее давая звук более высокой звуковой частоты и наоборот - медленнее - ниже. Этим способом воспроизводится все богатство нот генерируемых одним лишь сэмплом. Базовую частоту дискретизации сэмпла можно легко изменить - выполнив смещение на полутон или целую октаву или просто введя производльное (до определенного предела) значение. Такое смещение естественно повлияет на расстановку тонов нот. Поэтому если правильный сэмпл использовать с неправильной частотой дискретизации это может привести к эффекту "расстроенного рояля" - т.е. ноты инструмента будут выдавать совсем не те тона, которые им положены. Здесь мы подошли к вопросу о базовой частоте создаваемых сэмплов. Когда Вы создаете свои сэмплы учитывайте частоту звука задаваемую Вами при генерации сэмпла в Sound Forge, а затем проверяйте свой сэмпл на слух в IT и при необходимости корректируйте частоту задаваемую в Sound Forge или базовую частоту дискретизации в IT.

У такого способа генерации звуков нот есть и недостаток - ноты верхних октав воспроизводятся с более высокой скоростью, поэтому длительность звука при воспроизведении этих нот становится меньше. Например, если Ваш сгенерированный в Sound Forge сэмпл имел длину в 1 секунду - то эта длина относится только к воспроизведению ноты C-4. Ноты же более низких октав будут длиннее - в соответствии с понижением их частот дискретизации, ноты более высоких октав будут короче.

 

 
       
 

Смещение базовой частоты сэмпла - задается выбором ноты из поля Transpose.

Другие параметры сэмпла: Loop - зацикливание - приводит к бесконечному воспроизведению сэмпла остановить которое можно - нажатием клавиши другой ноты, клавиши [F8]. При проигрывании нот таким сэмплом в паттернах звук можно погасить командой ^^ - клавиша [1] при работе в режиме РЕДАКТИРОВАНИЯ ПАТТЕРНА или командой задающей нулевую громкость - 00 в столбце громкости. Параметр Loop может быть только в одном из трех состояний - Off/On Forward/On Pin-Pong- Выключено/Включено прямое воспроизведение/Включено воспроизведение вида с начала до конца - с конца до начала.

Start и End - задают кусок сэмпла, который будет бесконечно повторяться при зацикливании. Значения задаются в байтах от длины сэмпла (len).

 
 

Если Вы вдоволь поэкспериментировали со всеми параметрами сэмплов и Вам все более-менее ясно, то можно двигаться дальше. Теперь мы рассмотрим как применяются различные эффекты в деле - т.е. при воспроизведении композиции. Наша задача - научиться управлять этим процессом задавая нужные эффекты при редактировании паттернов.

Sustain Loop, Start, End - задаются цикл Sustain - удержание звука. Почти то же, что и Loop - но с постепенным затуханием звука.

 

В окошке ниже должен отображаться вид сэмпла (так как Вы его видите при создании в Sound Forge).

 
       
 

Попробуйте загрузить небольшой примерчик композиции - здесь. И мы займемся его рассмотрением.

Скачайте данный пример, распакуйте из архива и откройте из MT.
 
       
 
Предполагаем, что Вы уже запустили MT и открыли данный пример - композиция primer1.it

Перейдите в окно редактирования паттернов - вкладка Patterns. Вы увидите в первом канале набор нот и набор команд.

 

 
       
 

Теперь Вы можете поэкспериментировать - сначала попробуйте воспроизвести то, что есть - [F5]. Хорошо? Тогда стоп - [F8]. Попробуйте что-нибудь изменить - ноты, эффекты, значения параметров эффектов и т.п.

Список всех эффектов смотрите в справочной системе - Help > Contents. Читайте и пробуйте!  
       
 

Ну как? Здорово?!

Теперь Вы уже знаете почти всё для того, чтобы создавать свою музыку. Опыт придёт к Вам по-мере того, как Вы будете экспериментировать!

 
 

 

 
       
       
       
       
  [Предыдущий урок] [Все уроки]  
подробнее

Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 4

Предлагаем вашему вниманию онлайн-комикс Приключения Кости Коробкина - Как я провел лето.

Уф, ну и жара сегодня !

онлайн-комикс Приключения Кости Коробкина - Как я провел лето страница 4

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1] [страница 2] [страница 3] [страница 4] [страница 5] 

подробнее

Модуль content php performer для megainformatic cms


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

Для вставки используется стандартный синтаксис php.

Между тегами <?php и ?> Вы записываете нужный php код, а при обращении к странице сайта получаете результат выполнения этого блока кода, в том месте статьи, где он был внедрен.

Количество блоков и места вставки не имеют никакого значения.

Сейчас я продемонстрирую Вам как работает данный модуль.

Для примера возьмём такой код -

<?php

$cust = array('Федор', 'Николай', 'Степан', 'Геннадий', 'Захар');

echo '<form action="index.php?page='.intval($_GET['page']).'" method="post">';

echo '<input type="text" name="user" value="Введите имя пользователя" size="50" maxlength="100">';

echo '<input type="submit" name="enter_user" value="Проверить">';

echo '</form>';

if ( isset($_POST['enter_user']) && isset($_POST['user']) && $_POST['user'] != '' )
{
  $user = substr($_POST['user'], 0, 100);
  if ( in_array($user, $cust) )
     echo '<span style="color: #ff0000;">Такой пользователь уже есть !</span><br>';<br>   else<br>     echo '<span style="color: #0000ff;">Такого пользователя еще нет.</span><br>';<br> }

?>

============== С этого места был вставлен описанный блок php кода, в результате получаем -



Модуль представляет собой одиночный php файл и подключается элементарно - всего парой строк -

include_once "ИМЯ_ПАПКИ_МОДУЛЕЙ/cpp.php";
$paper_text = perform_code($paper_text);


Т. е. основная задача модуля content php performer - отфильтровать контент статьи (переменная $paper_text), выудить из него вставки кода на php и вернуть нетронутый контент статьи + результат выполнения php вставок.

Итак, если Вы уже поняли зачем Вам это нужно, тогда вот вам полный исходный код модуля content php performer

//module_cpp.php //cpp = content php performer

/* ===========================================================

megainformatic cms 17.10.2012 -

http://www.megainformatic.ru

Автор: Синицин Андрей Сергеевич (megainformatic)

***************************

исполнение <?php ?> php кода вставленного прямо в контент статьи между

тегами <?php ?>

=========================================================== */

function perform_code($content)

{

$content_str = '';

foreach( $content as $line )

$content_str .= $line;

/*

схема работы: ищем <?php

всё что до - просто выводим

ищем ?>

всё что между <?php ?> исполняем по eval

всё что после - просто выводим

*/

$open_php_tag = '<?php';

$close_php_tag = '?>';

$repeat = TRUE;

do {

$result = strpos($content_str, $open_php_tag);

if ( $result !== FALSE )

{

//запоминаем расположение найденного открывающего <?php тега

$php_code_start_pos = $result;

//запоминаем контент ДО открывающего <?php тега

$content_before_code = substr($content_str, 0, $php_code_start_pos);

//выполняем поиск закрывающего ? > тега

$work_str = substr($content_str, $php_code_start_pos+strlen($open_php_tag) );

$result2 = strpos($work_str, $close_php_tag);

//запоминаем код

if ( $result2 !== FALSE )

{

$code_str = substr($work_str, 0, $result2);

//запоминаем оставшуюся часть контента

$content_str = substr($work_str, $result2+strlen($close_php_tag) );

}

/*

выводим всё что разобрали

*/

echo $content_before_code;

eval($code_str);

}

else {

$repeat = FALSE;

}



} while ($repeat);

//выводим остаток контента

echo $content_str;

}



Модуль готов к применению, желаю успехов !!!

подробнее

     
 

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

Рассмотрение программирования игр под DirectX 9c на C++ с использованием среды разработки MSVS 2005 или выше.

 
     
 

Продолжаем цикл статей на тему программирования игр.

Здесь Мы рассмотрим кратко что нужно для начала работы и как начать освоение этой обширной темы.

 
     
 

Вам потребуется:

- среда разработки Microsoft Visual Studio 2005 или выше;

- DirectX SDK Aug 2008 или выше;

- хотя бы минимальные знания английского языка, а еще лучше запастить программой словарем-переводчиком для англо-русского/русско-английского перевода - X-translator, Lingvo или что-то еще.

 
     
  Когда всё это будет у Вас под рукой и полностью установлено и готово к работе можно приступать.  
     
  Самый первый шаг.  
     
 

Сначала нужно установить MSVS (Microsoft Visual Studio), затем DirectX SDK.

В этому случае в процессе установки DX SDK будет подготовлена среда для программирования под DirectX и многие настройки, особенно отладку DX-приложений Вам не нужно будет перенастраивать вручную.

 
     
  Несколько уроков на тему создания игр  
     
 

Сегодня наша цель:

- познакомиться с основами работы в среде MSVS;

- создать первое простейшее игровое приложение;

- попробовать модифицировать его для проверки и отладки;

 
     
 

Запускаем MSVS

Выбираем пункт меню File > Open > Project Solution

Находим папку с примерами из DirectX SDK -

C:\DXSDK_Aug2008\Samples

На Вашем компьютере этот путь может быть другим, если Вы при установке DirectX SDK задали другой диск и другую папку, так что вначале уточните, куда Вы установили DX SDK !

 
     
 

А мы откроем самый первый пример -

C:\DXSDK_Aug2008\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevice

 
     
  И попробуем его изучить  
     
  После открытия этого проекта в окне Solution Explorer дважды щелкаем файл CreateDevice.cpp, чтобы воочию увидеть этот магический cpp код.  
     
  Найдите функцию wWinMain  
     
  находим функцию wWinMain  
     
  можете щелкнуть данное изображение, чтобы увидеть его в полномасштабном варианте, затем вернитесь на данную страницу  
     
  Рассмотрим этот код по-порядку  
     
  INT WINAPI wWinMain( HINSTANCE hInst, HINSTANCE, LPWSTR, INT )
{
// Register the window class
WNDCLASSEX wc =
{
sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L,
GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
L"D3D Tutorial", NULL
};
RegisterClassEx( &wc );

// Create the application's window
HWND hWnd = CreateWindow( L"D3D Tutorial", L"D3D Tutorial 01: CreateDevice",
WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,
NULL, NULL, wc.hInstance, NULL );

// Initialize Direct3D
if( SUCCEEDED( InitD3D( hWnd ) ) )
{
// Show the window
ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );

// Enter the message loop
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}

UnregisterClass( L"D3D Tutorial", wc.hInstance );
return 0;
}

 
     
 

Данная функция wWinMain - является стартовой функцией работы любого игрового приложения, судя по названию Win - сокращение от Windows и Main - главная.

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

 
     
  Когда Вы будете запускать данное приложение операционная система в первую очередь передаст управление этой функции - wWinMain.  
     
  Я думал писать игры сложно, можете сказать Вы, а оказывается всё начинается с какой-то маленькой функции wWinMain.  
     
  Могу ответить Вам одно - всё в этом мире начинается с малого, мой друг !  
     
 

Что же происходит внутри этой функции ?

// Register the window class - регистрируем класс окна приложения
WNDCLASSEX wc =
{
sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L,
GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
L"D3D Tutorial", NULL
};
RegisterClassEx( &wc );

 
     
 

Вы наверное уже догадались, что строки начинающиеся с символа двойной наклонной черты

//

представляют из себя комментарии и исполнимым кодом не являются.

Всё остальное представляет действительно исполнимый код, который в процессе компиляции превращается в исполнимый машинный код, доступный для обработки центральным процессором CPU Вашего и любого другого ПК.

 
     
 

Мы создаем переменную wc с типом WNDCLASSEX и заносим в неё значения

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

 

 
     
 

WNDCLASSEX wc;


SecureZeroMemory(&wc, sizeof(wc));


wc.cbSize = sizeof( WNDCLASSEX );
wc.style = CS_CLASSDC;
wc.lpfnWndProc = MsgProc;
wc.cbClsExtra = 0L;
wc.cbWndExtra = 0L;
wc.hInstance = GetModuleHandle( NULL );
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszClassName = L"D3D Tutorial";
wc.lpszMenuName = NULL;

 
     
 

Объявляем переменную wc с типом WNDCLASSEX

SecureZeroMemory - очищаем все поля данной переменной значением ноль.

Далее присваиваем каждому полю данной записи соответствующее значение -

размер записи - получаем при помощи функции sizeof

стиль

оконная процедура MsgProc

Обработчик экземпляра приложения wc.hInstance получаем при помощи функции GetModuleHandle

wc.lpszClassName = L"D3D Tutorial"; - задаем имя класса приложения.

Все остальные поля выставляются либо в 0, либо в NULL.

 
     
  0 в случае числовых полей, NULL - в случае полей-указателей.  
     
  RegisterClassEx - выполняем регистрацию класса с указанными параметрами в системе.  
     
  CreateWindow - создаем окно приложения  
     
 

if( SUCCEEDED( InitD3D( hWnd ) ) ) - инициализируем приложение и если всё прошло без ошибок -

ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );
- показываем окно на экране, выполняем его перерисовку.

 
     
 

// Enter the message loop
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}

запускаем бесконечный цикл приема и обработки сообщений системы,

в случае если функция GetMessage вернет FALSE цикл будет остановлен и выполнена строка следующая за строкой цикла -

UnregisterClass( L"D3D Tutorial", wc.hInstance );
return 0;
- выполняется освобождение класса приложения в системе, выполняется возврат из функции со значением кода возврата равным 0

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

Урок # 16 - simple game 3d



read paper in english

На предыдущих страницах урока 1 simple game мы подробно ознакомились со всеми вопросами, которые могут возникнуть при создании самой минимально необходимой функциональности, которая присутствует в любой игре: использование спрайтов, игровых объектов, создание игровой сцены (уровня, комнаты), управление перемещением, системы координат экранная и векторная, загрузка и перемещение (скроллинг) для сцены (уровня, комнаты), декорирование внешнего вида, проверка столкновений (коллизий), простейший AI (искуственный интеллект) управляющий NPC (игровыми объектами, которыми управляет программа, а не игрок), начисление игрового счёта, и наконец воспроизведение в игре звуков и музыки.

Однако все, что мы рассматривали, относилось в основном к созданию 2d игр. Игра также была 2d. Несомненно, что 2d игры создавать проще, поскольку не нужно знать особенности программирования 3d графики и прочих нюансов, касающихся плотной работы с 3d. Кто-то останавливается на 2d играх и дальше уже не двигается. Если же Вам интересно продолжить свой путь и узнать основы на которых строится создание 3d игр - тогда дальнейшее повествование Вас заинтересует.

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





Содержание

страница 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. Мульти анимация







Чем же так отличается 2d от 3d, что его гораздо сложнее программировать ?

Ответ прост: работа с 3d требует гораздо более качественной математической подготовки, нежели знания по 2d. Аспекты 3d достаточно обширны и могут сбить с толку или попросту отпугнуть большим объемом информации, который надо сразу же знать уже на начальном этапе работы.

Конечно Вы можете возразить на это, что есть же готовые движки. Да, они есть, но если знаний по 3d у вас нет, то движок вам ничем не поможет. Движок не сможет сделать игру за Вас. Поэтому знать то, как работает 3d и как его программируют нужно в любом случае. К тому же чужой движок может быть частично или полностью закрыт от изучения его исходников, что таит в себе скрытые подводные камни и может оказаться барьером на пути к вашей цели.

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

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

Что умеет делать это приложение: можно управлять 3d камерой - перемещаться по осям x, y, z. Вращать камеру в любом направлении. Ну и конечно есть код, который отвечает за создание и перемещение кубиков, вывод плоского пола и наконец туман, который реализуется средствами directx 9c ну совсем просто. В качестве бонуса есть проигрывание mp3 музыкальных треков. :)

Туман время от времени меняет свой цвет. Кубики падают, достигнув определенных пределов исчезают и создаются снова. Ну а Вам, нужно будет узнать следующие аспекты, чтобы понять как работает простое 3d приложение:

a) Инициализация для работы с 3d;

b) трансформации 3d объектов: перемещения, вращения, масштаб;

c) Собственно чем отличается управление камерой от управления любыми другими игровыми объектами (кубиками, полом);



На перспективу:

d) Как создать 3d загружаемую сцену, создаваемую в редакторе 3d сцен (SceneEditor);

e) Простейший игровой процесс похожий на simple game, но уже в 3d.



Итак, приложение наше будет называться game craft, а туман я использовал, потому что хотел имитировать некую подводную сцену. Давным давно я начинал изучение directx именно с того, что создавал подводные сцены для будущего проекта Тайны Морских глубин.

Ответ на вопросы a и c можно получить из цикла статей game craft - Game craft - игровая камера в d3d9 - приложении

Теоретические и практические основы создания 3d игр

Новый сон Зеленого.


Предвкушение.

Когда Зеленый погрузился в сон, он увидел странные вещи.

Сначала себя, но почему-то красного, потом себя же - но уже зеленого.

Еще были какие-то непонятные существа на двух ногах. Они говорили.

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

Еще он увидел другое незнакомое существо. Оно стреляло.
Сначала Зелеными шарами, затем почему-то черными.

А потом ... из него вылетел самый большой зеленый шар и превратился
в ... Зеленого.

Иногда когда видишь такие вот странные сны, но понимаешь, что
видишь себя как бы со стороны, то ощущаешь что-то необыкновенное.

Ты как будто завис между двумя мирами. Существуешь в одном,
но понимаешь, что это лишь иллюзия и на самом деле ты совсем
в другом месте.

И то что кажется одним, на самом деле может таить в себе
совсем другое.

Многие вещи воспринимаются не совсем объективно потому что
на них накладывается слой за слоем искажений, которые
представляют объект уже не тем, чем он является на самом
деле, а другим.

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

Мешать.

Иногда предвкушение. Ожидание. Препятствие. Дают несравнимо
больший эффект, нежели сам результат, к которому стремишься.

Но хватит укладывать все в никому неинтересные схемы.
Реальность, неожиданная и интересная намного прекраснее, нежели
любая, даже самая продуманная схема.

Почему ?

Да потому что никогда до конца не знаешь к чему приведет.
В этом вся соль.

Когда ты идешь вперед по заранее заданному плану, ты думаешь:
да, вот будет так. Сейчас одно, затем другое и т. д. и т. п.
Но нет. План есть план, а реальность всегда вносит свои
коррективы.

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

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

И твои мечты постепенно становятся реальностью.
Помогают тебе.

Когда Зеленый был одинок и грустен. Когда у него не было
друзей. Ему было плохо. Но вот все изменилось. Он сам изменился.

На его планете все не так привычно как на Земле. Местные жители
способны пользоваться не только физическими энергиями, но и
нематериальными.

Например силой своей мысли они способны перемещать предметы
и даже перемещаться сами.

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

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

Все происходило лишь силой мысли ...

Холодный ветер подул из окна и он шагнул навстречу другой реальности.
Упал в этот новый мир.

Дверь была открыта. Он вошел в неё и пошел вперед не оглядываясь.

Впереди была неизвестность.

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



megainformatic live chat
Начать беседу
X
 

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



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


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