И так, для начала скажу что нам потребуется Microsoft Visual Studio (или среда разработки с GCC компилятором) и разработанный мною движок GEGE (Green Elf Game Engine).
Скачать Visual Studio можно здесь: ТУТ Скачать GEGE можно здесь: ТУТ
Жанровая направленность: 2D игры любого типа и жанра; Платформа: Windows (XP, Vista, 7); Лицензия: бесплатная; Языки программирования: C++; Открытый исходный код: предоставляется по просьбе; Графический API: DirectX 9.0; Мультиплеер: возможен; Достоинства: очень прост в освоении, функционален, русскоязычный автор; Недостатки: нет встроенного звукового движка;
GEGE – это простой в освоении мощный 2D-движок, использующий аппаратное ускорение. Движок подойдет для всех, кто желает быстро и легко создать свою игру.
Жанр игр, созданных на этом движке, никак не ограничивается, вы можете создать в 2D всё, что вам заблагорассудится: платформер, стратегию, квест, арканоид и тд.
Имеется возможность запускать приложения в оконном или полноэкранном режимах, сглаживание, работа в HARDWARE режиме (обработка спрайтов через видеокарту) и многое другое.
Что немаловажно, этот движок абсолютно бесплатен, а это обозначает, что ваши игры вы можете распространять полностью свободно и даже для коммерческих целей.
1) Для начала запускаем Visual Studio. 2) Подключаем GEGE (если он не подключен).
Сервис -> Параметры -> Проекты и решения -> Каталоги VC++
Во вкладке выбираем "Включаемые файлы" и добавляем путь к каталогу "include". Во вкладке выбираем "Файлы библиотек" и добавляем путь к каталогу "lib\mvs".
3) Создаем пустой проект
Файл -> Создать -> Проект -> Проект Win32
4) Добавляем выполняемый файл
Кликаем по проекту справа -> Добавить -> Создать элемент -> Файл CPP (.cpp)
Далее пишем в наш файл:
Code
#include <windows.h>
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { return 0; }
Пробуем запустить наш проект, если всё ОК - идём дальше.
Теперь нам нужно подключить игровой движок GEGE, по этому после поключения windows.h пишем:
Code
#include <gege.h> //подключаем заголовочный файл
#pragma comment(lib,"gege.lib") //так мы подключаем lib файл в проект прямо из кода
gege.h - заголовочный файл GEGE gege.lib - библиотека импорта для GEGE
Пробуем запустить наш проект, если всё ОК - идём дальше.
Поскольку движок работает только с виртуальным классом GEGE, то объявим на него указатель:
Code
GEGE* g; //это будет наш главный класс
Объявить то мы объявили, но указатель ничего не значит (ибо он не инициализирован), по этому в теле главной функции (WinMain) пишем:
Code
g=nGEGE(); //заполняем наш класс указателем
Теперь у нас есть заполненный указатель на класс GEGE. Отлично! Но если попытаться скомпилировать проект то ничего не произойдет... Ну это ясно, ведь мы ещё ничего и не сделали! Давайте ка создадим и запустим наш движок, а? Пускай игра у нас будет с окном 800x600 и в экранном режиме. Для инициализации пишем далее:
Code
g->Engine_Init("Lesson 1: Begin!",800,600,0); //Инициализирует движок, а так же создает окно с надписью "Lesson 1: Begin!" и размерами 800х600, а 0 указывает на то, что это будет игра в эконном режиме. g->Engine_Start(0);//Собственно запускаем наш движок, 0 - указатель на функцию кадра (которой у нас нету...).
Запускаем и... Если всё хорошо то появиться окошко, с какой-то чушью, но всё же оно есть, а значит работает! Теперь последний нюанс, когда у нас закрывается окно - ничего не освобождается, а это плохо! Давайте добавим еще 1 строчку:
Code
g->Engine_Release();//Высвобождаем движок.
Ну вот в принципе и всё! В следующем уроке я расскажу как очищать экран, загружать текстуры и рисовать спрайты.
Code
/* Файл main.cpp */
#include <windows.h> #include <gege.h>
#pragma comment(lib,"gege.lib")
GEGE* g;
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { g=nGEGE();
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Своя игра за день (часть 1)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Еле инициализировал под CodeBlocks, но так и не понял как создать главное окно. Он мне в консольное окно отписал, что инициализация успешна, но окно почему-то не вывел главное.
Читаю статью и накатывает дежавю. Где-то я такое видел... Ёшкин кот, да это же первый урок из Руководства разработчика nilremа к его windmill engine, только переделанный под твой геге. Не боишься, что он тебя за плагиат в блин раскатает?
Ну последовательность действий почему-то аутентичная первому уроку из руководства. Даже на скриншотах запечатлены те же моменты. Правда оно такое же и в моем курсе по С++. В любом случае никаких претензий у меня пока нет. Пусть ему претензии авторы HGE предъявляют)