Результаты поиска
| |
bodya_WM | Дата: Вторник, 27 Марта 2018, 10:57 | Сообщение # 1 | Тема: WGE Mobile - игровой движок для j2me устройств |
постоянный участник
Сейчас нет на сайте
| WGE Mobile - единственный мощный движок на j2me. Иногда бывает приятно потыкать старые платформы, и даже написать что нибудь для них. Поэтому было решено написать современный мощный движок который смог бы работать на слабом железе j2me телефонов. Движок легко портируется на любую платформу где есть jvm. Он может быть легко портирован на PC, Android, Linux, OS X. В движке простое API которое позволит даже новичку начать писать игры под свой любимый симбиан или какой нить старый андроид. Движок разрабатывается итеративно т.е от самой слабой, портируется на более мощные платформы(Android, PC). Это позволяет компилировать игру под множество платформ без изменения кода.
Список возможностей: Автоматический куллинг спрайтов за экраном Реализация камеры Коллизии Поддержка атласов и анимации Система Entity GUI Инструменты для дебаггинга(мониторинг информации о производительности) Нормальный таймер с Delta time(на j2me такого не видел, видимо все разработчики считали что все j2me телефоны примерно одинаковы по про-сти) Умный пул ресурсов(если попробовать загрузить один и тот же спрайт два раза, он загрузится только один раз, во второй раз вернется ссылка на него) Продуманное использование наследования, хорошая общая архитектура движка
В планах написать 3D рендерер который сможет быстро рендерить большие(по меркам j2me) сцены достаточно быстро(в планах поддержка материалов, собственный оптимизированный формат моделей, поддержка шейдеров(с возможностью отката на FFP на устройствах где шейдеры не поддерживаются), вершинной анимацией, скайбоксами, туманом, куллингом, лодами )
Движок можно свободно использовать в любых целях, включая коммерческие.
Репозиторий https://github.com/monobogdan/WGE-Mobile
Было бы хорошо если те у кого еще остались мобилки на j2me потестили демку. На самсунгах ввод не работает(по крайней мере на бюджетных моделях 2010 года).
Демка - https://yadi.sk/d/-E87FFGd3TizcF
В игре включен режим отладки, чтобы было удобнее отлаживать движок на разных телефонах.
Если будете тестить то было бы хорошо если бы вы отрепортили значения полей: Free RAM, Total RAM, Update Time, Delta Time
Скоро TLT добавит его в раздел движков, ждём.
Добавлено (25 Марта 2018, 17:37) --------------------------------------------- В скором времени добавлю базовую игровую логику и пост эффекты. Базовая игровая логика - Chase Camera, базовые контроллеры персонажей для jrpg, платформеров, top down игр(типа GTA). Пост эффекты - дождь, снег, грязь, блики.
Добавлено (27 Марта 2018, 10:57) --------------------------------------------- Добавил сущность - пешку. Пешка - это любой персонаж на сцене. Монстр, друг - неважно, это основа для любого динамического объекта. Пешка может быть убита, или перемещена куда либо. Так же пешкой может быть любой предмет, например ящик который можно разбить или свиток с заклинанием. Так же есть демка с Full Motion Video(для j2me звучит дико, но мне удалось это реализовать, пусть и ценой ужасного качества видео), поддержку FMV я планирую добавить в ближайшее время, а так же написать небольшой квест в качестве примера. Что бы вы понимали всю серьезность FMV, на j2me не было ни одной игры с FMV. Все у кого ПК был уже в 90е, наверняка помнят катсцены например в квестах, тогда это были в основном FMV. На j2me это просто некстген. Отрефакторил рендерер, выкинул из него главный цикл и игровую логику, отвязал от j2me. Переписал ввод, теперь он тоже не зависит от j2me, т.е движок уже можно портировать на PC реализовав интерфейс BaseRenderWindow(отвечает за инициализацию и перерисовку окна), и BaseInput(отвечает за состояния клавиш).
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Вторник, 27 Марта 2018, 10:59 |
|
| |
bodya_WM | Дата: Воскресенье, 25 Марта 2018, 21:27 | Сообщение # 2 | Тема: Raycasting Game Maker Source Code |
постоянный участник
Сейчас нет на сайте
| Исходники можете найти на Wayback Machine, пароль к либе можете сами отреверсить. Заниматься RGM нет ни времени ни желания, у меня свой движок есть.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Воскресенье, 25 Марта 2018, 14:12 | Сообщение # 3 | Тема: Нужен Движок! |
постоянный участник
Сейчас нет на сайте
| del
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Воскресенье, 25 Марта 2018, 14:13 |
|
| |
bodya_WM | Дата: Воскресенье, 25 Марта 2018, 14:10 | Сообщение # 4 | Тема: NetWars Engine SDK 0.44b |
постоянный участник
Сейчас нет на сайте
| Джимник вышел из бана на гдру, и его через неделю опять забанили. А движок тем временем уже 2 года не обновлялся, и заявленной поддержки DX12 так и нет.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Суббота, 23 Сентября 2017, 11:02 | Сообщение # 5 | Тема: Вопросы по репутации пользователей |
постоянный участник
Сейчас нет на сайте
| JoeHorzenDev, тогда можешь сразу закрывать тему. TLT это не нужно.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Суббота, 23 Сентября 2017, 10:04 | Сообщение # 6 | Тема: Вопросы по репутации пользователей |
постоянный участник
Сейчас нет на сайте
| JoeHorzenDev, сам начал ставить мне минусы каждые 2 дня(это тоже нарушение регламента), и удивляется почему я ставлю тебе минусы в ответ. Ты вообще адекватен?
Добавлено (23 сентября 2017, 10:01) ---------------------------------------------
Цитата Последнюю неделю я сталкиваюсь с оскорблениями и угрозами И конечно же ты побежал писать TLT, которому нечем заняться кроме как читать перепалки. Цитирую:
Цитата Не нужно меня донимать мелочами, у меня нет времени на вашу грызню, вот цитата из правил:
Если вас оскорбили в репутации, то вы можете обратиться посредством личной переписки кому-то из модераторов или администраторов. При этом за необоснованный фанатизм и за обращения по всяким пустякам вы можете усугубить своё положение, получив замечание, бан или дополнительное понижение репутации.
Я ещё понижу репутацию, если будете закидывать меня ЛС с вашими склоками...
Цитата и других неадекватных личностей с отрицательным рейтингом Самокритика это конечно хорошо, но оскорблять себя в своей же теме и пытаться утверждать обратное - как раз и есть неадекватность.
Цитата Люблю gcup - единственный форум про gamedev, который я читаю и просматриваю КАЖДЫЙ день, по несколько раз. Форум очень душевный и хороший, много прекрасных людей и творческих богов. Это отлично, только миры себе придумывать не нужно. Реальность намного суровее - gcup почти умер(так и есть, сравните активность скажем 2013 и сейчас).Добавлено (23 сентября 2017, 10:04) ---------------------------------------------
Цитата А тут еще оскорбления и ненависть.
Цитата Малолетний и глупый карапуз. Противоречишь сам себе? Глупый ты.
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Суббота, 23 Сентября 2017, 10:01 |
|
| |
bodya_WM | Дата: Суббота, 09 Сентября 2017, 13:12 | Сообщение # 7 | Тема: Nuke3D - Конструктор олдскульных FPS |
постоянный участник
Сейчас нет на сайте
| Vuvk, Цитата Кто-то вообще даже смысл рейкаста не осилил Ты что ли? Где портальный рендеринг? Зачем ты пишешь GUI на FPC если можно на C? Значит не осилил.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Пятница, 08 Сентября 2017, 14:24 | Сообщение # 8 | Тема: Nuke3D - Конструктор олдскульных FPS |
постоянный участник
Сейчас нет на сайте
| Vuvk не осилил GUI на C, поэтому решил формошлепать его на FPC.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 15:31 | Сообщение # 9 | Тема: Raycasting Game Maker Source Code |
постоянный участник
Сейчас нет на сайте
| Hobo_Gus, мне больше xml нравится, и использовать планирую именно его.
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Четверг, 07 Сентября 2017, 15:36 |
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 11:24 | Сообщение # 10 | Тема: Raycasting Game Maker Source Code |
постоянный участник
Сейчас нет на сайте
| Drop_Dead_Fred, xml.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 11:22 | Сообщение # 11 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| Цитата объекты ссылаются на один и тот же спрайт GML не ссылочный язык
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Четверг, 07 Сентября 2017, 11:25 |
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 10:06 | Сообщение # 12 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| useruser, создаешь новый объект, в событии Draw пишешь
Код Draw_Sprite(bg, 0, 0, 0); Draw_Sprite(logo, 0, 0, 0);
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 09:26 | Сообщение # 13 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| useruser, в событии Draw? Vuvk, если спрайт не рисуется даже при ручной сортировке - значит что то не так.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 08:41 | Сообщение # 14 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| useruser, это нормально. Ты же сдвигаешь в отрицательный вектор. Но если это атлас, то атласы в отрицательном векторе сдвигать нельзя, тебе нужно указывать вектор смещения + вектор размера.
Цитата Но в любом языке программирования ЯП к играм отношения не имеют, если это не специализированные для них ЯП(типа Blitz Basic)
Почитай что такое IDE.
Как я уже сказал если глубины не осилил, используй контроллер рисования лого и фона. В Draw:
Код DrawSprite(bg, 0, 0, 0); DrawSprite(logo, 0, 0, 0, 0);
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Четверг, 07 Сентября 2017, 08:42 |
|
| |
bodya_WM | Дата: Четверг, 07 Сентября 2017, 08:36 | Сообщение # 15 | Тема: Raycasting Game Maker Source Code |
постоянный участник
Сейчас нет на сайте
| Цитата там нет либы - ты ее не включил в репозиторий, а проигнорировал в gitignore Не заметил, сори.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Среда, 06 Сентября 2017, 15:22 | Сообщение # 16 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| USeR14, значит в GM сортировка через жопу работает.
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Среда, 06 Сентября 2017, 15:22 |
|
| |
bodya_WM | Дата: Среда, 06 Сентября 2017, 14:54 | Сообщение # 17 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| useruser, ты устанавливаешь глубину лого ниже чем фона.
Код var image_sprite; //Общая переменная спрайта
//Логотип (объект logo_object помещён в комнату) image_sprite = sprite_add("resources/images/common_images/logo.png", 1, 0, 0, 0, 0); logo_object.sprite_index=image_sprite;
//Бэкграунд image_sprite = sprite_add("resources/images/common_images/background_01.png", 1, 0, 0, 0, 0); //Назначение бэкграундов комнатам authorization_room.sprite_index=image_sprite;
//УСТАНАВЛИВАЕМ ГЛУБИНУ authorization_room.depth=0; //ниже фон logo_object.depth = 5; //выше лого
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Среда, 06 Сентября 2017, 14:33 | Сообщение # 18 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| useruser, какая глубина фона? Если рисуешь сам энтити, рисуй сначала фон затем лого. В Draw:
Код DrawSprite(bg, 0, 0, 0); DrawSprite(logo, 0, 0, 0, 0);
Давно GM не трогал, поэтому это примерный код.
Разработчик игрового движка WaveGameEnvironment2D
|
|
| |
bodya_WM | Дата: Среда, 06 Сентября 2017, 14:31 | Сообщение # 19 | Тема: Большая локация |
постоянный участник
Сейчас нет на сайте
| Как сказал TLT тебе нужна динамическая подгрузка. Допустим есть большая карта Вся карта разделена на несколько областей Допустим есть такая карта
![](http://s1.uploadpics.ru/images/-JugGz48oG.png) Красные зоны - ограничители размеров частей города. Тебе по сути нужно проверять находится ли игрок в этой части города(сойдет обычная коллизия), и если да то обрабатывать объекты в этой зоне и подгрузить новые если нужно, если нет то удалить объекты. Например вот так:
Код if(Intersects(Player->Rect, Part1->Rect) && Player->CurrentZone != Part1) { CMap::Load("Part1.map"); CurrentZone = Part1; }
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Среда, 06 Сентября 2017, 14:31 |
|
| |
bodya_WM | Дата: Среда, 06 Сентября 2017, 14:20 | Сообщение # 20 | Тема: Бэкграунд перекрывает логотип? |
постоянный участник
Сейчас нет на сайте
| useruser, это так и должно быть. Первым идет то что ты последним нарисовал. Если фон рисуется Game Maker'ом то он всегда рисуется до остальных объектов. GM должен уметь сортировать спрайты по глубине, поэтому поставь глубину логотипу например 2
Код logo_object.depth = 2;
Разработчик игрового движка WaveGameEnvironment2D
Сообщение отредактировал bodya_WM - Среда, 06 Сентября 2017, 14:20 |
|
| |
|