Результаты поиска
| |
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'ом не пользовался
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
Aikidos | Дата: Четверг, 19 Января 2012, 16:31 | Сообщение # 405 | Тема: Twilight Legends |
постоянный участник
Сейчас нет на сайте
| Quote (Avatarus) Ну, можно и так сказать. Скриптинг, и перенос контента пока делаю самостоятельно. Ну а сам контент, конечно же, создан не мной. Ааа, а то я даже офигел Ну всё равно молодец. Я, к сожалению, не играл ни в одну из частей зельды Как-то так сложились обстоятельства. Буду следить за проектом. Удачи в разработке.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
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 напрямую". Это вопрос? Я туго соображаю сегодня. Весь день почти его кодил.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
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) Хоть бы скинул сюда движок, попробовать его) А то как-то маловато информации) Было бы что пробовать. Пока не на что смотреть
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 20:14 | Сообщение # 413 | Тема: [2D] - AzEngine |
постоянный участник
Сейчас нет на сайте
| Quote (AGENTX001) Aikidos, молоток, удачи!) Но тема не в том разделе)) Сенк. Да я долго думал куда её запихать Если модеры перенесут, то будет норм.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 20:11 | Сообщение # 414 | Тема: [2D] - AzEngine |
постоянный участник
Сейчас нет на сайте
| Quote (TimKruz) Т.е. у тебя есть парсер/транслятор/интерпретатор языка AngelScript? (который считывает команды на этом языке, распознаёт и отправляет обработчику) Так вот ты его сам написал, или где-то есть открытый код? Чтобы такие вопросы не возникали необходимо чуть-чуть погуглить Или нажать сюда.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
Aikidos | Дата: Среда, 18 Января 2012, 19:49 | Сообщение # 415 | Тема: [2D] - AzEngine |
постоянный участник
Сейчас нет на сайте
| 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. Его я и взял на заметку + уже работал с ним
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
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()" (здравствуй атомикоз ). Затем он постоянно вызывает метод "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. Ниче так то.
Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
|
|
| |
|