[2D] - AzEngine
| |
Aikidos | Дата: Среда, 18 Января 2012, 17:15 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
|
Предоставление исходного кода: нет API: OpenGL В каком пространстве: 2D Какой тип лицензии распространения: пока не известен Платформы: Windows, Linux (в будущем)
Подумал недавно и решил написать свой собственный движок. Зачем? Дело в том, что этот движок я изначально хотел писать только для себя, но подумал, что он может и другим понадобится. Что в данный момент умеет движок? И в чем его плюсы? Самым главным плюсом является отсутствие долгой и нудной сборки компилятором. Вся ваша игра будет состоять из написанных вами скриптов. Язык скриптов AngelScript (схож с С++). Многие спросят, "так любой может украсть скрипты игры!". В будущем планируется сделать компиляцию скриптов в бинарный формат. На данный момент движок имеет менеджер объектов, менеджер глобальных переменных, выводить кучу форматов (кроме GIF'a). Он конечно очень сырой, но буду его постепенно развивать. Тем более я сам планирую писать игры на нём.
Структура движка простая. При запуске он загружает главный скриптовый файл и вызывает функцию "void Init()" (здравствуй атомикоз ). Затем он постоянно вызывает метод "void Update()". В игре всё делится на объекты (банально конечно). В будущем каждому объекту можно будет инициализировать свой скрипт. Вот пример скрипта приложения, которое будет выводить простое изображение.
Code void Init() { Game.SetClearColor(0, 0, 0); // Устанавливаем цвет очистки окна на черный GameObject @object = ObjectManager.Create("AZ"); // Создаём игровой объект с именем AZ object.LoadImage("az.png"); // Загружаем изображение для данного объекта object.SetPosition((Game.GetWindowWidth() / 2) - (object.GetImageWidth() / 2), (Game.GetWindowHeight() / 2) - (object.GetImageHeight() / 2)); // Устанавливаем позицию объекта в центр окна }
void Update() {
}
Результат:
Так же для каждого объекта можно создавать локальные переменные (так же как и глобальные).
На этом пока всё. В будущем планируется добавить контроллер клавиатуры и мыши, а так же много и много всего.
Спасибо всем за внимание. Буду рад выслушать критику. Кроме, "зачем это?!!! есть GameMaker, Unity3D и ещё 100500 конструкторов!". Брызжать слюной не гоже. Воздержитесь от этого пожалуйста.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
Сообщение отредактировал Aikidos - Пятница, 27 Января 2012, 13:55 |
|
| |
TimKruz | Дата: Среда, 18 Января 2012, 17:35 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Quote (Aikidos) Буду рад выслушать критику. Что критиковать-то? Принцип вывода картинки в окно?.. Как происходит обработка скриптов? Сам делал (обработку скриптов) или взял готовое? Скрипты хранятся в простых текстовых файлах? Кстати, физический движок будет в комплекте?
P.S. Чуть не забыл - тема не в том разделе. Должно быть в "Разработка движков и сред разработки"... Внимательнее надо быть...
Сообщение отредактировал TimKruz - Среда, 18 Января 2012, 17:36 |
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 17:41 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Quote (TimKruz) Что критиковать-то? Принцип вывода картинки в окно?.. API, к примеру. Вдруг кто-то знает какие-то особенности, которые я не учёл, с которыми потом будут проблемы.
Quote (TimKruz) Как происходит обработка скриптов? Сам делал (обработку скриптов) или взял готовое? Не понял немного вопроса. В смысле взял готовое? Поподробнее пожалуйста.
Quote (TimKruz) Кстати, физический движок будет в комплекте? Я уже думал об этом. Скорее всего будет. Сам я обычно пишу на С++ и встраивать тот же Box2D в свою игру бывает долго (как и всё остальное). Только не кидайтесь помидорами, типа это быстро. Под встраиванием я имею ввиду работа тех же объектов в связке с физ. двигом. Пишу то обычно с нуля почти все. Разве что на компе валяются мои шаблоны кода для разных целей.
Так же думаю сделать простую работу с сетью, но это пока только в будущем.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
apoptom | Дата: Среда, 18 Января 2012, 17:48 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| А нельзя этот процесс вывода картинки упростить кнопками? Выбрал картинку\ загрузил в проект\ перенес на рабочее поле. А программа сама запоминает координаты т.п.
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 17:52 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Quote (apoptom) А нельзя этот процесс вывода картинки упростить кнопками? Выбрал картинку\ загрузил в проект\ перенес на рабочее поле. А программа сама запоминает координаты т.п. Визуальные редакторы с автоматической генерацией кода возможны, но не сейчас. Это, так сказать, пока основное ядро. Тулсы разные пока рано писать.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Среда, 18 Января 2012, 19:34 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Aikidos, удачи в начинаниях. Раза 3 сам пытался делать движки для создания простеньких RPG. Работа сложная Собственно по делу: - Какие приколы с графикой будут поддерживаться? (Типа повороты, альфа каналы, шейдеры) - Какую звуковую библиотеку будешь использовать? - Через что будешь реализовывать ввод информации (Direct Input или еще что?)
А насчет физики, думаю лучше будет подкрутить Box2D.
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 19:49 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Quote (AirWolF_RG) Aikidos, удачи в начинаниях. Раза 3 сам пытался делать движки для создания простеньких RPG. Работа сложная Спасибо Да, дело не лёгкое. Просто самому писать игры на С++ долго и нудно. Использовать другие конструкторы не хочется. В одном не устраивает лицензия, в другом ещё что-то. Тогда я решил написать свой двиг. Так скажем, изобрести очередной велосипед Заодно подниму скил.
Quote (AirWolF_RG) - Какие приколы с графикой будут поддерживаться? (Типа повороты, альфа каналы, шейдеры) Сегодня только доделал настройку альфа канала изображения (GameObject::SetImageAlpha) и поворот изображения (GameObject::SetAngle). Насчёт поддержи шейдеров, то скорее всего их я буду реализовывать в последнюю очередь, но думаю, что они будут.
Quote (AirWolF_RG) Какую звуковую библиотеку будешь использовать? Пока не знаю. Тут выбор большой. Позже думаю определюсь
Quote (AirWolF_RG) Через что будешь реализовывать ввод информации (Direct Input или еще что?) На вин буду использовать Direct Input.
Quote (AirWolF_RG) А насчет физики, думаю лучше будет подкрутить Box2D. Его я и взял на заметку + уже работал с ним
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
TimKruz | Дата: Среда, 18 Января 2012, 20:08 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Quote (AirWolF_RG) - Какие приколы с графикой будут поддерживаться? (Типа повороты, альфа каналы, шейдеры) Поворот картинки есть в OpenGL... Альфа тоже там уже есть... Quote (AirWolF_RG) - Какую звуковую библиотеку будешь использовать? OpenAL либо DirectSound...
Quote (apoptom) А нельзя этот процесс вывода картинки упростить кнопками? Выбрал картинку\ загрузил в проект\ перенес на рабочее поле. А программа сама запоминает координаты т.п. Можно ещё типа генерацию кода посредством кнопок сделать (по шаблонам), а потом давать возможность редактировать.
Quote (Aikidos) Не понял немного вопроса. В смысле взял готовое? Поподробнее пожалуйста. Ну... Вот ты пишешь: Quote (Aikidos) Язык скриптов AngelScript (схож с С++). Т.е. у тебя есть парсер/транслятор/интерпретатор языка AngelScript? (который считывает команды на этом языке, распознаёт и отправляет обработчику) Так вот ты его сам написал, или где-то есть открытый код?
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 20:11 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Quote (TimKruz) Т.е. у тебя есть парсер/транслятор/интерпретатор языка AngelScript? (который считывает команды на этом языке, распознаёт и отправляет обработчику) Так вот ты его сам написал, или где-то есть открытый код? Чтобы такие вопросы не возникали необходимо чуть-чуть погуглить Или нажать сюда.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AGENTX001 | Дата: Среда, 18 Января 2012, 20:12 | Сообщение # 10 |
почётный гцупер
Сейчас нет на сайте
| Aikidos, молоток, удачи!) Но тема не в том разделе))
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 20:14 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Quote (AGENTX001) Aikidos, молоток, удачи!) Но тема не в том разделе)) Сенк. Да я долго думал куда её запихать Если модеры перенесут, то будет норм.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
Demeron | Дата: Среда, 18 Января 2012, 20:33 | Сообщение # 12 |
User created in C++
Сейчас нет на сайте
| Хоть бы скинул сюда движок, попробовать его) А то как-то маловато информации)
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 20:36 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Quote (Demeron) Хоть бы скинул сюда движок, попробовать его) А то как-то маловато информации) Было бы что пробовать. Пока не на что смотреть
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AGENTX001 | Дата: Среда, 18 Января 2012, 20:56 | Сообщение # 14 |
почётный гцупер
Сейчас нет на сайте
| Quote (Aikidos) Пока не на что смотреть а смысл темы? Доккажи, что не фейк!) А то был тут один, кнопочек в Delphi натыкал и утверждал что создал мега двиг под множество платформ
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 20:58 | Сообщение # 15 |
постоянный участник
Сейчас нет на сайте
| Quote (AGENTX001) а смысл темы? Доккажи, что не фейк!) А то был тут один, кнопочек в Delphi натыкал и утверждал что создал мега двиг под множество платформ В этом разделе куча похожих тем. Я 1 скрин выложил. Доказывать никому я ничего не собираюсь. Я просто делаю проект.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
AirWolF_RG | Дата: Среда, 18 Января 2012, 21:55 | Сообщение # 16 |
почетный гость
Сейчас нет на сайте
| Quote (Aikidos) Доказывать никому я ничего не собираюсь. Я просто делаю проект. И правильно
Quote (TimKruz) Quote (AirWolF_RG) - Какую звуковую библиотеку будешь использовать?
OpenAL либо DirectSound... Есть еще BASS, Squall и множество других приятных и готовых решений
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
TimKruz | Дата: Среда, 18 Января 2012, 21:55 | Сообщение # 17 |
старожил
Сейчас нет на сайте
| Quote (AGENTX001) а смысл темы? Доккажи, что не фейк!) А то был тут один, кнопочек в Delphi натыкал и утверждал что создал мега двиг под множество платформ Это ты про кого?.. (Alaska Engine? Это всё-таки оформленный конструктор, потому что работает как надо, хотя и очень-очень сырой, если с чем-то сравнивать) Да и кому нужен фейк? Quote (Aikidos) Чтобы такие вопросы не возникали необходимо чуть-чуть погуглить Или нажать сюда. А, понятно, внешняя библиотека... Я AngelScript раньше немного поинтересовался, но только в целях скриптинга... Quote (Aikidos) В этом разделе куча похожих тем. Я 1 скрин выложил. Доказывать никому я ничего не собираюсь. Я просто делаю проект. Давай ещё скриншоты. С альфой, поворотом, несколькими объектами на одной сцене... Эффектами текстурирования. И примеры соответствующих скриптов. Ну, типа, что есть в OpenGL, а у тебя это же в удобной оболочке.
Сообщение отредактировал TimKruz - Среда, 18 Января 2012, 21:59 |
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 22:11 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| Quote (TimKruz) Давай ещё скриншоты. С альфой, поворотом, несколькими объектами на одной сцене... Эффектами текстурирования. И примеры соответствующих скриптов. Ну, типа, что есть в OpenGL, а у тебя это же в удобной оболочке. Будут. Я никуда не тороплюсь. Всё делаю тщательно. Если, правда, это сарказм, то я не в обиде. Мне любая критика интересна.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
Mkasss | Дата: Среда, 18 Января 2012, 22:34 | Сообщение # 19 |
заслуженный участник
Сейчас нет на сайте
| Клас , удачи в разработке
|
|
| |
TimKruz | Дата: Среда, 18 Января 2012, 22:39 | Сообщение # 20 |
старожил
Сейчас нет на сайте
| Quote (Aikidos) Если, правда, это сарказм, то я не в обиде. А это и не сарказм. Quote (TimKruz) Ну, типа, что есть в OpenGL, а у тебя это же в удобной оболочке. Это надо понимать как "насколько проще использовать этот движок, чем OpenGL напрямую".
|
|
| |
|