Вторник, 26 Ноября 2024, 07:37

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
AikidosДата: Пятница, 20 Января 2012, 14:02 | Сообщение # 401 | Тема: [2D]TankZ
постоянный участник
Сейчас нет на сайте
Quote (prog_154rus)
Нафиг такой огромный логотип

Он вроде как пару минут назад был меньше о_о


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Пятница, 20 Января 2012, 12:22 | Сообщение # 402 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Почти доделал контроллер клавиатуры. Решил привести пример его работы и заодно показать его особенности.

Для начала напишем следующий главный скрипт:

Code
void Init()
{  
  GameObject @pRedBox = ObjectManager.Create("RedBox"); // Создаём красный квадрат
  pRedBox.LoadImage("box_red.png");
  pRedBox.SetPosition(200, 300);
  Script.AddScriptToObject("RedBox", "box_red.as");
   
  GameObject @pGreenBox = ObjectManager.Create("GreenBox"); // Создаём зелёный квадрат
  pGreenBox.LoadImage("box_green.png");
  pGreenBox.SetPosition(700, 300);
  Script.AddScriptToObject("GreenBox", "box_green.as");
}

void Update()
{

}


Вот что у нас получилось:


Как мы видим из главного скрипта - мы загружаем для каждого объекта скрипты ("box_red.as" и "box_green.as"). Вот их код:

box_red.as ->
Code
void Init()
{
  KbController.Connect(KB_KEY_D, "void Move()", KB_CONNECT_TYPE_UP); // Создаём коннект для клавиши D, указываем имя функции, которая должна выполняться и тип коннекта
}

void Update()
{

}

void Move()
{
  ObjectManager.Get("RedBox").SetPosition(440, 300); // Перемещаем наш объекта
}


box_green.as ->
Code
void Init()
{
  KbController.Connect(KB_KEY_D, "void Move()", KB_CONNECT_TYPE_UP); // Устанавливаем такой же коннект как и для красного квадрата
}

void Update()
{

}

void Move()
{
  ObjectManager.Get("GreenBox").SetPosition(500, 300); // Так же перемещаем объект
}


Теперь, если мы запустим игру и нажмём клавишу "D", то увидим следующий результат:


Из указанного примера видно, что для каждого объекта игры можно устанавливать свои коннекты для контроллера.
Буду рад выслушать ваше мнение.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Четверг, 19 Января 2012, 21:43 | Сообщение # 403 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (AGENTX001)
Aikidos, по поводу глубины, нужно не меньше 1к слоёв + возможность менять глубину в процессе игры.

Да, так и хотел сделать. Значит выбор сделан. Спасибо всем за поддержку и советы.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Четверг, 19 Января 2012, 16:37 | Сообщение # 404 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (zodiak)
Глубина, или слои нужны. Без вариантов. Зачем пользователю напрягаться еще и с порядком отрисовки. Назначил один слой для земли, второй для расительности и можно быть уверенным, что тайл земли никогда не будет поверх дерева.

Я и не спорил с этим. Это конечно нужно.

Quote (zodiak)
Интересно, чему там тормозить. Ну придется перед выводом отсортировать все спрайты, что с того. На сортировку 10000 объектов уйдет 5-10 микросекунд в кадр. Это ничто, по сравнению с тем, что может наворотить пользователь.

Тормозить не будет. Просто было интересно узнать ваше мнение. Мало ли кого прямо бесит глубина и есть другие, более интересные, варианты. Я GM'ом не пользовался sad


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Четверг, 19 Января 2012, 16:31 | Сообщение # 405 | Тема: Twilight Legends
постоянный участник
Сейчас нет на сайте
Quote (Avatarus)
Ну, можно и так сказать. Скриптинг, и перенос контента пока делаю самостоятельно. Ну а сам контент, конечно же, создан не мной.

Ааа, а то я даже офигел smile Ну всё равно молодец. Я, к сожалению, не играл ни в одну из частей зельды sad Как-то так сложились обстоятельства. Буду следить за проектом. Удачи в разработке.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Четверг, 19 Января 2012, 16:23 | Сообщение # 406 | Тема: Twilight Legends
постоянный участник
Сейчас нет на сайте
Прикольно. Это всё что на видео сам делал?

Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Четверг, 19 Января 2012, 16:17 | Сообщение # 407 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (Demeron)
Берешь и в игре рисуешь сначала дальние объекты, а потом те что ближе, вот и всё. А глубина будет только тормозить. Хотя можно сделать выбор.

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


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Четверг, 19 Января 2012, 15:47 | Сообщение # 408 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (pro100denver)
браво!

Спасибо.

Как и обещал. Сегодня я расскажу пример скриптования объектов и использование альфа канала.

Задача: сделать объект, который постепенно становится прозрачным и когда он станет совсем прозрачным - мы завершаем игру.

Для начала мы откроем наш главный скрипт (пока он называется "main.as") и напишем следующий скрипт:
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)); // Устанавливаем объект в центр окна
     
   Script.AddScriptToObject("AZ", "object.as"); // Загружаем скрипт для нашего объекта
}

void Update()
{
   if (ObjectManager.Get("AZ") == null) Game.Exit(); // Проверяем наличие объекта. Если его не существует, то завершаем работу игры.
}


Теперь напишем скрипт самого объекта:
Code
void Init()
{
     
}

void Update()
{
   GameObject @object = ObjectManager.Get("AZ"); // Получаем наш объект из менеджера объектов
     
   if (object != null)   
   {
     float alpha = object.GetImageAlpha(); // Узнаём текущее значение альфа канала (1.0 - полностью не прозрачен, 0 - полностью прозрачен)
     if (alpha > 0)
      object.SetImageAlpha(alpha - 0.01); // Если текущее значение больше нуля, то делаем слегка прозрачным
     else
      ObjectManager.Delete("AZ"); // Если объект стал полностью прозрачным, то удаляем его
   }
}


Скрины, думаю, кидать особо нет смысла. Всё и так понятно, что произойдет. Вот вроде и всё. Тут видна работа объектов. Будет интересно выслушать ваше мнение по улучшению этого механизма.
Кстати, перед мной встала задача сделать работу очередности прорисовки объектов. Друг предложил сделать как в GM'e (глубину). Что вы думаете по этому поводу?


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.

Сообщение отредактировал Aikidos - Четверг, 19 Января 2012, 15:48
AikidosДата: Среда, 18 Января 2012, 22:42 | Сообщение # 409 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (Mkasss)
Клас , удачи в разработке

Спасибо.

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

Это вопрос? smile Я туго соображаю сегодня. Весь день почти его кодил.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 22:11 | Сообщение # 410 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (TimKruz)
Давай ещё скриншоты. С альфой, поворотом, несколькими объектами на одной сцене... Эффектами текстурирования. И примеры соответствующих скриптов. Ну, типа, что есть в OpenGL, а у тебя это же в удобной оболочке.

Будут. Я никуда не тороплюсь. Всё делаю тщательно. Если, правда, это сарказм, то я не в обиде. Мне любая критика интересна.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 20:58 | Сообщение # 411 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (AGENTX001)
а смысл темы? Доккажи, что не фейк!) А то был тут один, кнопочек в Delphi натыкал и утверждал что создал мега двиг под множество платформ

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


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 20:36 | Сообщение # 412 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (Demeron)
Хоть бы скинул сюда движок, попробовать его) А то как-то маловато информации)

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


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 20:14 | Сообщение # 413 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (AGENTX001)
Aikidos, молоток, удачи!) Но тема не в том разделе))

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


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

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


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 19:49 | Сообщение # 415 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
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


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 17:52 | Сообщение # 416 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (apoptom)
А нельзя этот процесс вывода картинки упростить кнопками? Выбрал картинку\ загрузил в проект\ перенес на рабочее поле. А программа сама запоминает координаты т.п.

Визуальные редакторы с автоматической генерацией кода возможны, но не сейчас. Это, так сказать, пока основное ядро. Тулсы разные пока рано писать.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 17:41 | Сообщение # 417 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте
Quote (TimKruz)
Что критиковать-то? Принцип вывода картинки в окно?..

API, к примеру. Вдруг кто-то знает какие-то особенности, которые я не учёл, с которыми потом будут проблемы.

Quote (TimKruz)
Как происходит обработка скриптов? Сам делал (обработку скриптов) или взял готовое?

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

Quote (TimKruz)
Кстати, физический движок будет в комплекте?

Я уже думал об этом. Скорее всего будет. Сам я обычно пишу на С++ и встраивать тот же Box2D в свою игру бывает долго (как и всё остальное). Только не кидайтесь помидорами, типа это быстро. Под встраиванием я имею ввиду работа тех же объектов в связке с физ. двигом. Пишу то обычно с нуля почти все. Разве что на компе валяются мои шаблоны кода для разных целей.

Так же думаю сделать простую работу с сетью, но это пока только в будущем.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Среда, 18 Января 2012, 17:15 | Сообщение # 418 | Тема: [2D] - AzEngine
постоянный участник
Сейчас нет на сайте


Предоставление исходного кода: нет
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
AikidosДата: Среда, 18 Января 2012, 03:31 | Сообщение # 419 | Тема: Собираю игры и программы, на распространения на сайт!
постоянный участник
Сейчас нет на сайте
Quote (jiumx60rus)
А как ты сайт раскручиваешь?

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


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
AikidosДата: Вторник, 17 Января 2012, 01:56 | Сообщение # 420 | Тема: РЕЛИЗ. Flow Orb. [2d][flash]
постоянный участник
Сейчас нет на сайте
Поиграл, с первого раза набрал 1300+. Устают глаза от цветов и уши от однотонной музыки. Хотя из 10 поставил бы 6. Ниче так то.

Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
Поиск:

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