Пятница, 22 Ноября 2024, 19:07

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
[2D] - AzEngine
AikidosДата: Среда, 18 Января 2012, 17:15 | Сообщение # 1
постоянный участник
Сейчас нет на сайте


Предоставление исходного кода: нет
API: OpenGL
В каком пространстве: 2D
Какой тип лицензии распространения: пока не известен
Платформы: Windows, Linux (в будущем)

Подумал недавно и решил написать свой собственный движок. Зачем? Дело в том, что этот движок я изначально хотел писать только для себя, но подумал, что он может и другим понадобится. Что в данный момент умеет движок? И в чем его плюсы? Самым главным плюсом является отсутствие долгой и нудной сборки компилятором. Вся ваша игра будет состоять из написанных вами скриптов. Язык скриптов AngelScript (схож с С++). Многие спросят, "так любой может украсть скрипты игры!". В будущем планируется сделать компиляцию скриптов в бинарный формат. На данный момент движок имеет менеджер объектов, менеджер глобальных переменных, выводить кучу форматов (кроме GIF'a). Он конечно очень сырой, но буду его постепенно развивать. Тем более я сам планирую писать игры на нём.

Структура движка простая. При запуске он загружает главный скриптовый файл и вызывает функцию "void Init()" (здравствуй атомикоз smile ). Затем он постоянно вызывает метод "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. Работа сложная smile
Собственно по делу:
- Какие приколы с графикой будут поддерживаться? (Типа повороты, альфа каналы, шейдеры)
- Какую звуковую библиотеку будешь использовать?
- Через что будешь реализовывать ввод информации (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. Работа сложная

Спасибо smile Да, дело не лёгкое. Просто самому писать игры на С++ долго и нудно. Использовать другие конструкторы не хочется. В одном не устраивает лицензия, в другом ещё что-то. Тогда я решил написать свой двиг. Так скажем, изобрести очередной велосипед smile Заодно подниму скил.

Quote (AirWolF_RG)
- Какие приколы с графикой будут поддерживаться? (Типа повороты, альфа каналы, шейдеры)

Сегодня только доделал настройку альфа канала изображения (GameObject::SetImageAlpha) и поворот изображения (GameObject::SetAngle). Насчёт поддержи шейдеров, то скорее всего их я буду реализовывать в последнюю очередь, но думаю, что они будут.

Quote (AirWolF_RG)
Какую звуковую библиотеку будешь использовать?

Пока не знаю. Тут выбор большой. Позже думаю определюсь smile

Quote (AirWolF_RG)
Через что будешь реализовывать ввод информации (Direct Input или еще что?)

На вин буду использовать Direct Input.

Quote (AirWolF_RG)
А насчет физики, думаю лучше будет подкрутить Box2D.

Его я и взял на заметку + уже работал с ним smile


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
TimKruzДата: Среда, 18 Января 2012, 20:08 | Сообщение # 8
старожил
Сейчас нет на сайте
Quote (AirWolF_RG)
- Какие приколы с графикой будут поддерживаться? (Типа повороты, альфа каналы, шейдеры)

Поворот картинки есть в OpenGL... Альфа тоже там уже есть...
Quote (AirWolF_RG)
- Какую звуковую библиотеку будешь использовать?

OpenAL либо DirectSound...

Quote (apoptom)
А нельзя этот процесс вывода картинки упростить кнопками? Выбрал картинку\ загрузил в проект\ перенес на рабочее поле. А программа сама запоминает координаты т.п.

Можно ещё типа генерацию кода посредством кнопок сделать (по шаблонам), а потом давать возможность редактировать. cool

Quote (Aikidos)
Не понял немного вопроса. В смысле взял готовое? Поподробнее пожалуйста.

Ну... Вот ты пишешь:
Quote (Aikidos)
Язык скриптов AngelScript (схож с С++).

Т.е. у тебя есть парсер/транслятор/интерпретатор языка AngelScript? (который считывает команды на этом языке, распознаёт и отправляет обработчику) Так вот ты его сам написал, или где-то есть открытый код?


AikidosДата: Среда, 18 Января 2012, 20:11 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Quote (TimKruz)
Т.е. у тебя есть парсер/транслятор/интерпретатор языка AngelScript? (который считывает команды на этом языке, распознаёт и отправляет обработчику) Так вот ты его сам написал, или где-то есть открытый код?

Чтобы такие вопросы не возникали необходимо чуть-чуть погуглить smile
Или нажать сюда.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AGENTX001Дата: Среда, 18 Января 2012, 20:12 | Сообщение # 10
почётный гцупер
Сейчас нет на сайте
Aikidos, молоток, удачи!) Но тема не в том разделе))
AikidosДата: Среда, 18 Января 2012, 20:14 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Quote (AGENTX001)
Aikidos, молоток, удачи!) Но тема не в том разделе))

Сенк. Да я долго думал куда её запихать smile Если модеры перенесут, то будет норм.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
DemeronДата: Среда, 18 Января 2012, 20:33 | Сообщение # 12
User created in C++
Сейчас нет на сайте
Хоть бы скинул сюда движок, попробовать его) А то как-то маловато информации) happy
AikidosДата: Среда, 18 Января 2012, 20:36 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Quote (Demeron)
Хоть бы скинул сюда движок, попробовать его) А то как-то маловато информации)

Было бы что пробовать. Пока не на что смотреть smile


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AGENTX001Дата: Среда, 18 Января 2012, 20:56 | Сообщение # 14
почётный гцупер
Сейчас нет на сайте
Quote (Aikidos)
Пока не на что смотреть

а смысл темы? angry Доккажи, что не фейк!) А то был тут один, кнопочек в Delphi натыкал и утверждал что создал мега двиг под множество платформ biggrin
AikidosДата: Среда, 18 Января 2012, 20:58 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
Quote (AGENTX001)
а смысл темы? Доккажи, что не фейк!) А то был тут один, кнопочек в Delphi натыкал и утверждал что создал мега двиг под множество платформ

В этом разделе куча похожих тем. Я 1 скрин выложил. Доказывать никому я ничего не собираюсь. Я просто делаю проект.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AirWolF_RGДата: Среда, 18 Января 2012, 21:55 | Сообщение # 16
почетный гость
Сейчас нет на сайте
Quote (Aikidos)
Доказывать никому я ничего не собираюсь. Я просто делаю проект.

И правильно smile

Quote (TimKruz)
Quote (AirWolF_RG)
- Какую звуковую библиотеку будешь использовать?

OpenAL либо DirectSound...

Есть еще BASS, Squall и множество других приятных и готовых решений smile



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)
Если, правда, это сарказм, то я не в обиде.

А это и не сарказм. huh
Quote (TimKruz)
Ну, типа, что есть в OpenGL, а у тебя это же в удобной оболочке.

Это надо понимать как "насколько проще использовать этот движок, чем OpenGL напрямую".


  • Страница 1 из 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг