Пятница, 26 Апреля 2024, 12:10

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [355]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [145]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [161]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [129]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Как вы относитесь к созданию игр без программирования?
Всего ответов: 10471
Главная » Статьи » Движки и Гейммейкеры

BlendElf - Урок 1: Основы
Урок 1: Основы

В этом уроке мы научимся основам работы с прекрасным движком BlendELF
Шаг 1: Ресурсы, необходимые для урока

Итак, надеюсь вы уже скачали BlendELF Development Kit. Если нет –не беда! Вы можете скачать его с http://blendelf.com. BlendELF Development Kit содержит в себе исполняемые файлы движка, его библиотеки и другие файлы, которые мы будем использовать в этом уроке.

Шаг 2: Извлечение файлов движка

Извлеките файлы движка в любую пустую папку. Моя папка с движком выглядит так:

Ваша папка может выглядеть и по другому, в зависимости от операционной системы, которую вы используете (на скриншоте - Ubuntu 10.04), и от версии движка, но суть от этого не меняется. Так же в вашей системе может быть отключено отображение расширения файла (.exe,.dll, и др.), но это ведь тоже не создает проблемы, не так ли? wink
Приведу небольшой список файлов, которые обязательно должны быть в папке:

BlendELF.exe и DLL библиотеки - используются для запуска версии движка для Windows
blendelf файлы в папке linux_libraries - используются для запуска версии движка для Linux
LICENSE.txt - Файл, содержащий в себе лицензию движка и библиотек, используемых в нём
Папка tools содержит экспортер сцен для Блендера (Blender)
Папка docs содержит описание lua API движка
Папка cppsdk содержит файлы для работы с движком на C++
Папка dotnetsdk сожержит файлы для работы с движком на .NET языках
Папка levels содержит примеры игровых сцен (уровней) для движка

Шаг 3: Игровой уровень

В папке levels должен быть файл под именем level1.pak. Файлы с расширением PAK в BlendELF используются как файлы сцен (уровней), на которых содержатся игровые ресурсы, используемые на этом уровне: текстуры/модели/объекты/камеры/освещение и всё то, что вообще может быть в вашей игре. Давайте загрузим этот уровень в игру. Перенесите файл level1.pak в главную директорию движка (где находятся файлы BlendELF.exe и blendelf)
Будет выглядеть это примерно так:

Шаг 4: Скрипт init.lua

Естественно, без программирования мы ни как не обойдемся. Программировать в BlendELF можно на скриптовом языке Lua , на C++ и на языках .NET. Для начала мы научимся использовать в движке Lua скрипты. Создайте текстовый файл любым текстовым редактором в папке с движком и назовите его init.lua (внимание: проследите, что бы он не носил название init.lua.txt, иначе движок его попросту не увидит!):

Стоп-стоп-стоп! Что еще за init.lua?!

Хорошо, что спросили. файл init.lua это скрипт, который мы потом напишем. Он и будет сердцем вашей будущей игры, в нем будет содержаться вся игровая логика, в нем вы просто будете работать (если не станете на темный путь C++, конечно же wink )

Lua?! Никогда не слышал...

Lua это очень простой скриптовой язык. Он очень часто используется в игровой индустрии. Сочетание простого синтаксиса, большой функциональности и хорошей портируемости делает его отличным выбором для разработчиков. Так же больше информации о Lua вы можете найти на официальном сайте: http://lua.org

Шаг 5: Самый простой Lua скрипт

Итак, давайте же напишем что-нибудь в наш только что созданный файл! откройте init.lua любым текстовым редактором, будь то notepad, nano или любой другой. Игра, состоящая лишь из пустой черной комнаты, где ничего невидно не очень хороший вариант, не так ли? Поэтому первое, что мы должны сделать – загрузить наш уровень в игру. Это можно осуществить функцией elf.LoadScene. У этой функции есть один параметр - это путь до вашего PAK файла. Итак, вот первая строка нашего скрипта:

elf.LoadScene("level1.pak")

Теперь скрипт загружает сцену. Но при запуске игра сразу же закрывается, и мы не успеваем ничего увидеть! Не беда! Просто надо «зациклить» ее. Для этого создадим цикл while. В дальнейшем в этом цикле будет выполняться большая часть вашего кода. Добавим строчки цикла после загрузки уровня и получим следующий код:

elf.LoadScene("level1.pak")
while elf.Run() == true do
end

Отлично, мы написали код в init.lua, но перед запуском игры сначала разберемся, что же мы все же сделали:
while это цикл, который будет выполняться, пока функция elf.Run будет возвращать TRUE. каждый раз после того, как цикл отработал он проверяет, вернет ли elf.Run значение TRUE. если да, то цикл пойдет выполняться заново. с оператора do начинается выполнение тела цикла. оператор end указывает на то, что цикл должен будет начаться сначала (а именно с проверки elf.Run), когда выполнение всех его операторов будет закончено. elf.Run возвращает TRUE, пока запущено окно движка и он работает без сбоев. Если вам надо завершить работу игры - вызовите функцию elf.Quit. ее можно вызвать в любом месте вашей игры и она заставит elf.Run принять значение FALSE. так же это значение автоматически принимается при закрытии игрового окна.

Шаг 6: Запуск вашей игр

Наконец, теперь мы может запустить исполняемый файл (BlendELF.exe для windows или blendelf для linux)

Но игра не запустилась! Окно появилось и тут же исчезло!

Вариантов может быть несколько. Самый банальный и самый невозможный заключается в том, что ваш компьютер не поддерживает OpenGL 2.0. так же вы могли допустить ошибку, вбивая код в скрипт init.lua . Еще как вариант - у вас в папке с исполняемым файлом нет файла уровня, поэтому движок его находит. Чтобы узнать наверняка, в чем же причина ошибки вы можете открыть файл elf.log. Там-то уж точно написана причина. Если ошибка вам не понятна – попробуйте проделать урок сначала, может быть наткнетесь на то, что привело вас к ошибке. Если же все правильно и игра у вас запустилась, то вы увидите примерно такую картинку:

Поздравляю! Вы написали свою первую игру на BlendELF!


Источник: КЛИК»
Категория: Движки и Гейммейкеры | Добавил: KpoJIuk (28 Февраля 2011)
Просмотров: 16001 | Комментарии: 5 | Рейтинг: 5.0/5 |
Теги: Урок, Введение, Hello World, движок, программирование, BlendELF, ЯП, 3D, LUA, C++
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «BlendElf - Урок 1: Основы», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 5
+0-
4 Whity   (15 Марта 2011 10:34) [Материал]
Странно. У меня не запускается в логе пишет: error: can't initialize engine. В чем может быть проблема?

+0-
5 KpoJIuk   (15 Марта 2011 14:27) [Материал]
если можно - весь пример лога в ЛС, пожалуйста.

+1-
3 SanAV   (02 Марта 2011 15:18) [Материал]
SanAVХорошие уроки. Надеюсь, ты продолжишь?

+-4-
1 Spihex   (01 Марта 2011 07:24) [Материал]
SpihexИмя автора напиши. Добавь источник, откуда был взят англ. вариант (оригинал).

+0-
2 KpoJIuk   (01 Марта 2011 14:07) [Материал]
все с официального сайта, раздел документации. сам сайт указан в первом же шаге.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • RPG in a Box
  • Danmakufu
  • RiBox3D
  • Sonic Maker
  • SpriteCraft
  • GameGuru MAX
  • GDevelop
  • Wicked Engine
  • Unigine
  • Ursina
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг