![]() |
Показать все 129 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- Fenyx Engine (https://hlfx.ru/forum/showthread.php?threadid=3843)
[WIP][J2ME] After
Товарищи! Команда After Games рада представить вам свой проект, разрабатываемый для мобильных телефонов с поддержкой J2ME. Это симулятор постапокалиптического мира, где главному герою нужно выжить и постараться помочь выжить другим. Проект разрабатывается уже около двух месяцев, но за это время претерпел значительные изменения, можно даже сказать, что был практически переписан с нуля. Все ресурсы полностью оригинальны и предоставлены нашим художником. Я же в основном занимаюсь программированием. Текущая версия проекта скорее представляет собой демонстрацию некоторых возможностей движка, а именно:
- Загрузка карты из бинарного файла.
- Продвинутые возможности анимации спрайтов.
- Собственная система игровых объектов.
- Сортировка объектов и коллизия.
- Внутридвижковые расчеты повышенной точности с использованием float, в отличие от int, предлагаемых стандартным GameAPI.
- Дождь и смена дня и ночи.
- Множество параметров героя, на которые может влиять окружающая среда: здоровье, жажда, голод, инфекция и т.д.
- Инвентарь.
- Система GUI, рисованный шрифт.
Каждый день движок пополняется новыми возможностями, исправляются баги. Буквально на днях была проведена ревизия, выявившая застарелые ошибки, которые теперь полностью исправлены зато добавлены новые.
Управление: джойстик вверх-вниз, влево-вправо - идти; клавиши 2, 4, 6, 8 - бежать; левый софт - открыть/закрыть инвентарь; центр джойстика в инвентаре - использовать итем; правый софт - выход.
Текущая версия - After 0.0.58 alpha
Привожу скриншоты последней версии:
В общем, предлагаю ознакомиться
К сожалению прикрепить JAR файл я не могу, поэтому вот ссылка на него:
http://kiqsite.wen.ru/content/proje....0.58_alpha.jar
__________________
-Brain is dead-
фаллаут напомнило, качать не буду, ибо телефон не потянет
a-kush-er какой телефон? На данный момент для работы игры требуется около 800 килобайт памяти.
__________________
-Brain is dead-
128 на 160 экран поддерживается?
__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."
qishmish Мультиэкран, да
__________________
-Brain is dead-
Дождик эпичный
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Кстати, в дальнейшем будет поддержка ресурсов в файловой системе, засчет чего можно будет загружать дополнения и прочие ништяки, туда же будут писаться сохранения с превьюшками. Причем контент будет содержаться в zip архивах, так что даже если телефон не прошит, допустим, халмером, и доступ к фс надо постоянно подтверждать - делать это придется не для каждой отдельной картинки или скрипта, а для всего архива разом, то есть один раз.
Добавлено 10-03-2013 в 23:05:
Экстремальное тестирование (эмулятор)
__________________
-Brain is dead-
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64 что за телефон?
__________________
-Brain is dead-
У меня есть три ноклы, так что проект в некоторой степени еще интересен. В ближайшее время, правда, обзаведусь планшетом с четвертым андроедом, но 3110с не выкину. Вечером постараюсь качнуть и потестить на нем и на 203 аше (на ней должно быть вполне ок, 240х320 все-таки, когда-то 320х200 было рядовым для игр).
По скринам:
- квадратно-гнездовой способ размещения пропсов удручает, все-таки времена не те и можно отказаться от построения мира по клеточкам. В идеале нужно прийти вообще к изометрии.
- картинка будет выглядеть гораздо лучше, если снабдить объекты тенями, в 2d это не так уже сложно.
Я бы стал ориентироваться на отрисовку в стиле Diablo, Starcraft и т.п, где уже красиво, но еще не 3d )
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Scrama квадратно-гнездовой способ потому что коллизия считается по ббоксам, причем строго ориентированным, повернуть на любой угол их нельзя. Тени добавить можно, но это займет достаточно много памяти, а динамические и вовсе могут убить скорость напрочь. И 5 фпс будет у всех. Тут нужно искать нетривиальный подход, чтобы и выглядело хорошо, и игралось нормально.
fire64, думаю да. А вообще сколько любая другая игра выдает? Например тот же Zombie Infection.
__________________
-Brain is dead-
KiQ, а оно у тебя не спрайтами чтоли? Тень рисуется на спрайте вместе с объектом. Если это 3д - то я не понимаю, зачем.
Ббоксы не надо вращать, их надо смещать с клеточек.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Ух ты! Сталкир 2д! По скринам не понятно, где день, а где ночь?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Scrama спрайтами, я думал речь про динамические тени про ббоксы не совсем понял, объект и так может размещаться абсолютно в любом месте, просто ббокс для него строго прямоугольный и смотрит основанием вниз. То есть ромб из него сделать нельзя, равно как и повернуть на любой другой угол.
FiEctro там везде день, темнеть плавно начинает часов с 6 вечера)
__________________
-Brain is dead-
KiQ, кусты-то по сетке стоят, как картошка на даче, вот я и подумал.
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Scrama кусты это части фона, это не объекты
Дядя Миша могу сделать постоянную подсветку, но стоит ли?
__________________
-Brain is dead-
KiQ, ну и зря
56 fps, так что ок.
Проблема в том, что с экранчиком 128х160 совершенно неясно куда идти - в область видимости попадает два куста и все, а режим построчного прохождения как-то не вдохновляет
__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran
Scrama я потом полупрозрачную миникарту сделаю, точнее в ближайшее время. Просто тут тоже диллема в том, что эта миникарта будет загораживать четверть экрана например, что проблемы в целом не решает
__________________
-Brain is dead-
Концепт интерфейса
__________________
-Brain is dead-
Как вам идея отдельной кнопки, которая будет скрывать/показывать худ?
__________________
-Brain is dead-
KiQ
Зачем для этого кнопка? Худ либо есть всегда, либо показывается при ранениях/каком либо изменении, либо отсутствует вообще (но это не рекомендую).
Просто худ должен быть компактным. Посмотри, как в вольфраме сделано (да и не только в нём) - можно выбрать степень компактности худа в настройках игры.
__________________
XaeroX в вольфраме он через огл растягивается? Просто тут специфика такая, что худ фиксированного размера, и на более менее больших экранах смотрится нормально, а вот на таких, как у Скрамы он будет загораживать три четверти экрана. Убирать его совсем - не вариант, меняется он довольно часто, в частности часики. А так можно будет скрывать худ, например во время перестрелки, а в тихом месте снова открывать
__________________
-Brain is dead-
__________________
__________________
-Brain is dead-
KiQ Мне нравится, я бы погонял на своей 200й аше.
НО! Деревья на дороге и их однообразность - первое, что бросилось в глаза.
__________________
Base Defense on Steam, ModDB
PLut
то чисто для теста производительности - создал ровно 100 однообразных объектов, там потом конечно нормальные карты будут
Добавлено 09-07-2013 в 23:19:
Полупрозрачный радар, привет игрокам с маленькими экранами
__________________
-Brain is dead-
Проект после множества итераций перешел на ПК Работаю над текущей версией три дня, что уже есть:
- Полный OpenGL рендеринг
- Полноценные TTF шрифты с антиалиасингом
- Отрисовка карты (поддержка тайлов как в J2ME)
- Отрисовка статических и динамических объектов (поддержка спрайтов с покадровой анимацией)
- Движение игрока за курсором мыши
- Некоторые внутренние фичи, в основном загрузка и преобразование ресурсов, а также встроенный скриншутер
Пишу на Java, конкретно LWJGL3, насколько я понял это довольно новая платформа, в частности, она даже не вышла из альфы, так что, можно сказать, я один из первопроходцев. У демки есть свой лаунчер, где можно указать разрешение экрана и запуск на полный экран (также доступно через параметры запуска). Лаунчер также будет развиваться в сторону увеличения доступных настроек, которые будут храниться в конфигах (скорее всего ini). Если есть вопросы, задавайте. Спасибо за внимание
__________________
-Brain is dead-
KiQ Старая проекция была круче, на мой взгляд
А так, верно, что перешел на компутер, т.к. джава на мобилках - прошлый век.
__________________
Base Defense on Steam, ModDB
PLut старая проекция сильно ограничивала меня, особенно без наличия художника Соответственно, если когда-нибудь я к ней вернусь, это скорее всего будет что-то на основе пререндеренной из моделек графики, как в Last Stand Dead Zone, например. Ну а пока-что я планирую развивать проект именно в том ключе, который есть сейчас. Когда движок будет более-менее готов, можно будет продолжать и сам After: Survival, с которого все началось
тем более, что все наработки сохранились, необходимо просто их перенести на новую кодовую базу. С собственным шрифтом я так и сделал - взял за основу старый код и прикрутил к нему метод загрузки из туториала по LWJGL. В оригинале тутора шрифт был одноцветным и на черном фоне, я довел его до того вида, что есть сейчас. И т.д. Из последних нововведений за сегодняшнюю ночь:
- Улучшено качество кода. Унифицирована структура проекта
- Добавлено ведение лога в файл
- Добавлено наложение водяного знака на скриншот
- Доработан Launcher в сторону дальнейшего упрощения прикручивания новых настроек
__________________
-Brain is dead-
Очень даже интересно, что бы поиграть надо скачать java player и все?
__________________
ㅤ
Cybermax ты про какую версию? для старой нужен мобильник или эмулятор J2ME на комп, типа Kemulator. Для новой нужен JRE7 x64, так как движок был полностью перенесен на компьютерную яву. Билд для компа:
http://kiqsite.wen.ru/after/res/dis...istributive.rar
По поводу исключительно x64 - я ЗНАЮ, как сделать автоматическую подгрузку библиотеки соответствующей битности, но из-за глюков антивируса у меня все другие версии dll, кроме x64, удаляются сразу после распаковки, поэтому потестить и положить их в билд я не могу, займусь этим, когда разберусь с антивирусом
__________________
-Brain is dead-
Итак, новый билд уже здесь
- Автоопределение платформы (Windows, Linux, x86, x64)
- Исправлены баги
- Улучшено качество кода, унифицирована структура проекта.
- Добавлено ведение лога в файл
- Добавлен встроенный скриншотер (F5)
- Починен и доработан Launcher
- Самописная простенькая геометрия объектов. Для каждого объекта задается два объема - реальный и физический, при этом реальный объем - это размер кадра спрайта, а физический релятивно привязывается к нулевым координатам реального, то есть при его задании можно писать нечто вроде (50, 50, 50, 50) - первые два параметра это отступ от верхнего левого угла. Ну, в демке видно - реальный желтым, а физический зеленым или красным в случае коллизии
- Взаимодействие с игроком теперь полностью происходит вне движка, на данный момент в классе HUD. Это позволило значительно почистить код движка
-В связи с предыдущим пунктом добавлены такие методы как world.getActor() и world.setActor(AFTPointObject actor), которые устанавливают контроль над каким-либо объектом со стороны игрока
- Добавлен спринт (SHIFT)
- Возвращено отсечение невидимых объектов
- Добавлен новый объект - ящик
- Добавлена демонстрация динамического прицела - он расширяется, когда вы двигаетесь, а при наведении на ящик - меняет иконку
- Мелкие внутренние доработки
Ссылка на скачивание: After Engine 2 Demo
__________________
-Brain is dead-
Свежая версия
- Починена загрузка нативных библиотек
- Исправлены мелкие баги
- Переделана система HUD и GUI в сторону расширения функциональности и удобства работы
- Добавлены AFTGuiText и AFTGuiTextBox для вывода текста
- Убрана еще пачка зависимостей от AWT
Ссылка на скачивание: After Engine 2 Demo
__________________
-Brain is dead-
Свежая версия. Добавлены две значительные фичи
- Добавлена колоизация в двух вариантах - Rectangle и Circle
- Переписана камера - теперь она "плавающая", то есть следует за персонажем, при этом обзор чуть лучше в направлении взгляда. Так же засчет этого убран "шум", возникающий при столкновении с объектами, когда камеру начинало колбасить.
- Добавлен SlidePopup при наведении на дерево (просто ради демонстрации текущих возможностей GUI)
- Исправлены некоторые досадные косяки
Идет активная работа над GUI
Ссылка на скачивание: After Engine 2 Demo
__________________
-Brain is dead-
Итак, работа движется. Что уже сделано:
- Добавлена достаточно мощная система AI (в плане движковой реализации, а умных ботов уже пусть потом кто-нибудь напишет)
- Рендерер практически полностью переведен на шейдеры.
- Мягкий свет - размытие лайтмапы по гауссу
- В игровой библиотеке теперь взаимодействовать с объектами можно только с определенного расстояния
- Полностью переписаны матрицы и трансформации в соответствии со стандартом OpenGL для нативной совместимости с GLSL (ох, сколько я на это нервов убил :zloj: )
- Убраны префиксы из названий классов, PointObject и TiledObject переименованы в Entity и Terrain соответственно
- Из рендерера убраны ненужные функции (еще не все) и добавлены удобные новые, в основном для GUI - drawPoint, drawStraight(рисует прямую в указанном направлении с указанной длинной)
Планы вообщем-то грандиозные, в частности перевести все на pointer'ы, добавить тени. Так же планирую уже начать пилить SDK
Записал пока-что видос с плавной сменой дня и ночи:
__________________
-Brain is dead-
KiQ
Объект тень не отбрасывает?
Что-то вроде этого
ComradeAndrew пока что нет, ибо все методы 2D теней, которые я видел все равно ориентируются на полигональные объекты. Я сейчас делаю расчет построения полигональной фигуры на основе спрайта, по методу поиска границ
__________________
-Brain is dead-
А я вам свежую демку принес https://www.dropbox.com/s/y9hdmxcn4...butive.zip?dl=0
__________________
-Brain is dead-
KiQ
Ой, java D:
У меня почему-то на E не юзается ничего.
При подходе к краю карты точка относительно которой поворачиваешь направление взгляда игрока мышкой смещается, т.е. не продвигается вместе с камерой и получается такой момент, когда курсор справа игрока, а игрок смотрит влево. Возникает в фулскрине.
И ещё не очень юзерфрендли управление - откидывание курсора при прохождении через игрока(когда он поворачивается). Да в общем-то любое неконтролируемое смещение курсора игрока во время непосредственно игры - не очень приятно.
ComradeAndrew на Е пока ничего и не юзается, это просто демонстрация всплывающей подсказки Края карты это да, я там сделал ограничение камеры, чтобы она за пределы уровня не вылетала, но это дает такой вот эффект. Курсор никуда не откидывается, это камера съезжает по направлению взгляда, так и должно быть
__________________
-Brain is dead-
KiQ
Ну, допустим камера. Но это не очень удобно. Почему не сделать так, чтобы игрок только смотрел в сторону курсора? Для чего камеру толкать?
ComradeAndrew никто не мешает создать в игровой библиотеке класс, производный от камеры, и оверрайдить метод update() Мне нравится такая камера, но можно вместо
1 | public void update() { |
2 | if (freeze) return; |
3 |
4 | if (hasTarget()) { |
5 | float delta_x = (target.getWorldX() - getWidth() / 2) - getWorldX(); |
6 | origin.x += (delta_x / 12f + target.current_speed.x * 1.2f + MathUtils.cos(target.angle) * 3.5) * Runtime.frametime; |
7 |
8 | float delta_y = (target.getWorldY() - getHeight() / 2) - getWorldY(); |
9 | origin.y += (delta_y / 12f + target.current_speed.y * 1.2f + MathUtils.sin(target.angle) * 3.5) * Runtime.frametime; |
10 | } |
11 | } |
1 | public void update() { |
2 | if (freeze) return; |
3 |
4 | if (hasTarget()) { |
5 | origin.x = target.getWorldX() - getWidth() / 2; |
6 | origin.y = target.getWorldY() - getHeight()/ 2; |
7 | } |
8 | } |
checkworld = false; |
__________________
-Brain is dead-
Свежая демка
- Исправлено освещение, теперь все источники света правильно попадают в поле зрения
- Значительно доработана консоль. Появилось автодополнение на Tab, причем, если найдена одна команда, она сразу вставляется в строку ввода, а если несколько, на первый Tab выводится список доступных команд, а на второй - вставляется первая из них. Также теперь при вводе любой команды без аргументов выводится ее текущее значение. Доступные команды: exit - выход, debug_draw 0|1 - включает отключает отрисовку BBOX, CBOX и VBOX, light_draw 0|1 - при нуле будет эффект fullbright, time N - позволяет задать время (только час, минуты автоматически обнулятся)
- Стандартные коллекции в большинстве случаев заменены узкоспециализированными аналогами, что значительно повысило скорость работы засчет отсутствия постоянного приведения типов.
- Начато имплементирование визуальных слоев, пока еще на начальном этапе, но затем это позволит делать перекрываемые сверху источники света, например. Внутри слоя объекты сортируются по полю height - условной высоте, чем выше, тем ближе к нам он рисуется.
- Добавлен класс StringUtils, предоставляющий удобную и быструю работу со строками (активно используется в коде консоли, например).
- Доработан графический конвеер, теперь все debug боксы рисуются поверх освещения
В общем, кому интересен сам код - я обновил GitHub, остальным же - просьба погонять демку.
After Engine 2 GitHub
After Engine 2 Demo
__________________
-Brain is dead-
Сразу скажу - запускаю твой движок впервые, поэтому, возможно, не понял, что именно надо тестировать.
Визуально неплохо. Освещение хорошее. Фпс ограничен 60 - так и задумано?
В консоли не работает команда cmdlist, надо бы сделать.
После ввода cm и нажатия Tab игра закрывается.
Деревья не рубятся, а ящики берутся.
Я посоветовал бы добавить интерполяцию между кадрами анимации - слишком уж дёргано игрок шагает. Вроде у дяди Миши было нечто подобное в ксаше для спрайтов.
И как насчёт показывать игрока под деревьями, делая их прозрачными? Помнишь, как в фоллаут 1-2 игрока через стены показывало? Иначе ведь играть будет сложно.
XaeroX спасибо фпс ограничен в самом lwjgl, но вроде кто-то получал больше с отключенным vsync в драйвере. cmdlist пока рано еще, там всего 4 команды. Автокомплит надо подправить, что-то я там недоглядел. Деревья и ящики пока не взаимодействуют с игроком, это все вынесено в игровую библиотеку, а я сейчас работаю над ядром. Деревья можно, причем несколькими способами, потом надо будет подумать.
Интерполяцию даже не знаю, она какая, попиксельная? Я думал вообще 2D скелеталку прикрутить, сделать ноги отдельно, туловище отдельно
__________________
-Brain is dead-
А вот и доработка теней. Теперь они могут отбрасываться от множественных источников, также берут их цвет и вектор, искажаются в зависимости от расстояния и направления, изменяют прозрачность. По сути, конечно, все те же плющмодели, но существенно доработанные. Все же честные тени будут очень и очень кушать филлрейт, в то время как с этими FPS ниже 100 не опускался, даже при нескольких источниках на экране.
__________________
-Brain is dead-
Доработал и оптимизировал тени. Теперь они учитывают яркость источника света, причем реальную а не просто альфа-канал (воспользовался формулой перевода RGB в показатель интенсивности цвета). Также теперь источникам света, как и всем другим объектам можно задать height и они не будут освещать все, что находится выше них. Нормалмаппинг наверное все же не буду добавлять, ибо он тяжеловесный, хотя я даже оригинальный скринспейс алгоритм разработал. Но, имхо, и не особо он смотрится тут. Лучше просто качественные текстуры.
__________________
-Brain is dead-
Свежий билд демки
Что нового:
- Переписана система UI
- Появилось меню
- Исправлена куча мелких багов
- Оптимизация
- Можно строить и удалять ящики (R и E), ну это чоб не скучно было
В основном изменения в коде, например, теперь у движка нет отдельного стейта для UI, поэтому теперь можно прямо в игре вставлять различные окошки, поп-апы и прочие ништяки, система будет дорабатываться, но уже сейчас она превосходит все, что я писал до этого. Вкратце устроена она следующим образом: есть три базовых объекта UI->UIElement->UIBase. Все они нужны для необходимого уровня абстракции, но наследоваться можно только от UIBase. Он предоставляет весь необходимый функционал из всех трех объектов. Также есть UIManager, который занимается обновлением и отрисовкой всех UI. Также есть некоторые шаблоны элементов в базовом функционале.
По традиции Git, обратите внимание, что это новая ветка!
After Engine 2.5 GitHub
Ну и само демо
After Engine 2.5 Demo
P.S. Можно тему переименовать в [WIP] After Engine ?
Скриншоты:
__________________
-Brain is dead-
__________________
I tell you to enjoy life
Давно уже на ПК переехал
__________________
-Brain is dead-
А я вам демку принес. На сей раз с дополненным худом, стаминой и туповатым компаньоном
After Engine 2.5 Demo
GitHub
Также серьезно обновилось ядро:
- Убраны все игровые клавиши из ядра, теперь их можно получить через метод getKeyCode(String name)
- Серьезно доработан UI, теперь осталась система отложенных эвентов
- Исправлены ошибки в рендере, теперь координаты считаются корректно
- Исправлено огромное количество мелких багов
- Обновлен и расширен EngineAPI, добавлена возможность скрывать/показывать системный курсор
After Engine 2.5 GitHub
__________________
-Brain is dead-
Билд 305
After Engine GitHub
- Исправил отображение мира при выходе камеры за его границы. Теперь автоматически включается клип по реальным границам игрового пространства (раньше, если камера уезжала за пределы мира, объекты рисовались на сером фоне, теперь же они отсекаются границей мира)
Было:
Промежуточный вариант (артефакты по краям):
Стало:
В целом это можно было бы исправить просто сменой цвета очистки мирового фреймбуфера на черный, но с дополнительным clipRect надежнее
- Добавил показ центра камеры в r_debug (полезно, если используется кастомная камера и нужно ее тонко настроить)
- Исправил некорректную работу дебаг переменной r_lightning, раньше она забывала очистить лайтмапу и свет навечно зависал на экране, теперь он отключается как положено (это чисто для отладки, разумеется).
- Добавил метод boolean isMoving() в класс Entity, возвращает true, если current_speed не нулевая
- Улучшил физику, теперь игрока так не колбасит при столкновении и вероятность всяческих глюков с полетами через полкарты намного уменьшилась
- Добавил метод Entity[] getCollides() в класс Entity, который возвращает все Entity, с которыми в данный момент столкнулась данная
- Добавил метод setUniform(String name, boolean value) в класс Shader, теперь задавать uniform bool стало удобнее (используется для режима grayscale, например)
- Добавил метод create_int_buffer(int size) в BufferUtils (помимо byte и float)
- Исправил нижнюю границу консоли (не отображалась почему-то)
- Подкорректировал имена переменных, удалил дубль UIFont font из класса Console, кое-где раскидал новые комменты
Также сделал ветку 2.5 дефолтной в репозитории
__________________
-Brain is dead-
Небольшое демо динамического освещения. FRAPS нещадно жрет fps, так-то он в районе 120-150
__________________
-Brain is dead-
KiQ Круто, но вот тени резко исчезают, в планах ли сделать, чтобы они плавно фэйдились в зависимости от дальности динамического источника света?
__________________
Base Defense on Steam, ModDB
А движок между тем дополз до версии 2.6. Нормальной демки нет, ибо она перестала заводиться уже месяца два назад, а когда я сел ее переписывать на новые интерфейсы, понял, что проще написать заново с использованием появившихся фич. Ну а что есть - это небольшая демка UI
https://www.youtube.com/watch?v=CSu9ElFWSTw
P.S. все время забываю, как видео вставлять, может в плагин добавить, чтобы при youtube в ссылке он сам нужные тэги проставлял?
__________________
-Brain is dead-
KiQ
Чувак, я тебе реально тему говорю.
Есть хорошая идея для того чтобы твой проект поднялся и стал известным в какой то мере.
Сейчас идет огромный тренд на ККИ проекты смотри Харстоун, Мэджик дуэлс и прочее.
И если ты организуешь движок таким образом, чтобы он смог быть чем то вроде RPG MAKER , тоесть создашь основу для создания и легкого модернизирования для ККИ , твой проект ждет большой успех!
Если интерисует оставь в личку свои контакты, попытаюсь помочь.
Даже некоторые наработки есть
П.С Ксер прости линк на ксм
http://cs-mapping.com.ua/forum/showthread.php?t=36534
__________________
А что нет?
PunkPaToB а пинг-понг больше нет? Я не в курсе современных тредов просто А в чем там суть этих ККИ? Это типа "пьяницы" или "дурака" или как пасьянс, например?
__________________
-Brain is dead-
KiQ
Рпг шахматы в карточном стиле
Добавлено 08-07-2016 в 14:10:
https://www.youtube.com/watch?v=4ukU-SfqhOY
__________________
А что нет?
Можешь дать свой скайп?
__________________
А что нет?
PunkPaToB аська ннада?
__________________
-Brain is dead-
KiQ
Там никто не отвечает)
__________________
А что нет?
Новый эффект воды + хроматическая аберрация
__________________
-Brain is dead-
__________________
-Brain is dead-
KiQ какое применение для этого непосредственно в игре?
ILZM подсветка объектов, например
__________________
-Brain is dead-
KiQ
Ну это обычный фильтр, так и фотошоп умеет.
А в динамике оно как работает?
__________________
KiQ у тебя движок научился грузить уровни и модельки из хл2?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша это скрин из инета. Просто обрабатывается каждый кадр. Для наглядности.
__________________
-Brain is dead-
Таа, эдж детект какой-та. Лутьше бы научил грузить карты и модельки из хл2.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Наконец-то добрался до освещения
__________________
-Brain is dead-
KiQ у нормали один канал инвертирован
ncuxonaT это ты как определил?
Добавлено 15-10-2016 в 05:58:
А, кажется понял. Да, по Y была инверсия вроде. Это из-за системы координат
__________________
-Brain is dead-
KiQ да оно почти у всех инвертировано.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша уже исправил и сделал по три источника за проход
__________________
-Brain is dead-
KiQ это всё так же наяве движок или уже нет?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша да, J2SE. Правда переполз с 7 версии на 8 (вынужденно, ибо lwjgl теперь на неё завязан)
__________________
-Brain is dead-
То-то я его так ниразу и не скачал. С детства ненавижу голубейяву.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
nemyax скрипт!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Еще одна демонстрация динамического освещения, плюс работа с камерой (а это уже что-то ближе к игровым вещам). Сделал многопроходный рендеринг. В целом, конечно, надо переводить на VBO, но тогда надо уже прикручивать загрузку уровней, ибо VBO надо чем-то забивать. Для UI возможно буду использовать всё же drawArrays.
__________________
-Brain is dead-
KiQ
Что ж, неплохо. А тени имеются? На плоской поверхности это оценить сложно.
__________________
XaeroX теней пока нет, сначала нужно сделать оптимизацию освещения, ибо в 1280x720 уже при 20 источниках фпс проседает до 40-50. Оно и понятно, у меня сейчас сделано так: шейдер на 5 источников и многопроходный рендер. Соответственно, минимум 6 проходов освещения, которые выводят фуллскрин квад. Я полночи курю как сделать буфер аккумуляции освещения, ну, чтобы рисовать туда только освещенные фрагменты, но никак не допру, откуда потом восстанавливать lightPosition.
__________________
-Brain is dead-
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Ghoul [BB]
Браток, но ведь ты сам темы в оффтоп и флуд начинаешь скатывать, а нас потом упрекаешь. Для флуда уже есть одна тема - тема Мастера, давай и продолжим флудить тама. А тута не будем.
__________________
Так, разобрался, как все это выводить маленькими квадами вместо полноэкранного, но блжад, из-за отрисовки во фреймбуфер, они рисуются вверх ногами! И принудительно это не исправить, потому что текстурные координаты вычисляются в пиксельном шейдере, исходя из gl_FragCoord
__________________
-Brain is dead-
А вот я кое-кому сейчас за "блжад" как вкатаю крестов! Ладно, Гуль - он постоянно под тремя топорами ходит, его уже не перевоспитаешь, но ты-то усовестись.
__________________
Нарисовал стенку и уже 20 фпс? Охренеть можно
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша это я фрапсом ограничение в 30 fps поставил) Сейчас переделал систему, получилось 160 fps где-то при тех-же условиях. Теперь другая проблема - как сделать ambient
__________________
-Brain is dead-
от статичных источников нормаль нормальная (вроде бы), от динамического - инвертирован зеленый канал
ncuxonaT как, опять?
__________________
-Brain is dead-
KiQ источник света снизу, камни освещаются сверху. Как так-то?
А цветные лампочки маленькие, у них непонятно.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
ncuxonaT
Эти каналы путают не только движки, но и плагины которыми ты собираешь нормаль. Тебе же говорят - общего стандарта нигде нет, каждый делает как ему в голову взбредет. Любая попытка разобраться в этом театре абсурда приведет только к еще большему запутыванию.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro а зачем разбираться? Надо просто перевести текстуры под свой движок/шейдеры.
Доделал систему, теперь при ста небольших источниках около 115-120 fps. Проблемы начинаются, если выставлять большой радиус. Но, с другой стороны, сильно ли он нужен в 2D игре, обычно и небольших достаточно. Кроме того, добавлю настройку, использует-ли лайт нормалмэппинг и тени, соответственно из всех будет набираться достаточно небольшое количество "честных источников", а остальные будут фоновыми. Ну, короче суть деферред-лайтинга как она есть
Добавлено 07-12-2016 в 15:20:
А может и с лайтмапами совмещу, но это уже далекие планы
Добавлено 07-12-2016 в 15:27:
Ещё такой вопрос, что быстрее: один полноэкранный квад, или четыре в 1/4 экрана?
__________________
-Brain is dead-
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Демо освещения
Для корректной работы нужен JRE 8, остальные необходимые библиотеки в комплекте.
Интересует fps ну и общие впечатления. Шейдеры открыты в папке с ресурсами, можно посмотреть
__________________
-Brain is dead-
KiQ средний фпс около 360. Мне нравится. Гамма-коррекцию не будешь делать?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
70 фпс на Intel HD 4k
100 фпс на Radeon 8750
Фпс уменьшается ближе к левой части. Видны границы между такстурами
ncuxonaT это на какой карточке? И гамма-коррекция в каком виде, и зачем?
ILZM странно, у меня HD 3000 и около 80 фпс
Дядя Миша мои познания в крестах - на уровне HLSDK, поэтому переносить более мегнее отлаженный движок сейчас - не рентабельно. К тому же, всё равно придется использовать какой-нибудь SDL. На моей памяти DB не требовал регистрации, это какое-то ноухау. Залью и на ЯД, благо он у меня тоже есть. А JRE без Development Kit весит не так много (53 MB), да и обычно у людей имеется
__________________
-Brain is dead-
570 фпс, полёт нормальный
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша ну так первоквака она и есть первоквака, а тут все Java приложения становятся доступны) К тому же я принципиально не тяну JRE как компонент в дистрибутив. Предполагается, что у человека он или уже есть, или он скачает сам. А то вот все эти vc_redist100500.dll мне всю систему загадили, не хочу уподобляться
__________________
-Brain is dead-
KiQ
На как хорошо и на каких мобильных устройствах оно работает?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro ни на каких На x86 планшетах, разве что
__________________
-Brain is dead-
__________________
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro
Вот ты чудак-человек. Ну хочет товарищ и научиться движки писать, и денюжку неплохую зарабатывать в перспективе. Выбор Java в таком случае очевиден. Безусловно, для некоторых вполне нормально десятилетиями разглядывать пупок или заменять int на uint32_t, но не все такие.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
KiQ hd7750
гамма-коррекция в виде возведения в степень 2.2 диффуза и возведения в степень 1.0/2.2 результата расчета всего освещения. Чтобы освещение было реалистичнее (в 2д, может, не самое нужно), и чтобы при наложении нескольких источников не было чудовищных засветов.
ncuxonaT попробуй, в шейдере это элементарно правится, /res/shaders/deferred_final/deferred_final.fs
Добавлено 09-12-2016 в 19:53:
Дядя Миша от того варианта 2013 года осталось только название, да и то скоро сменится. Движок пару раз был переписан начисто. И за это время я много чему научился, для общего, так сказать, развития. И освещение уже было, одна итерация в мобильной версии, и две в пк. Сейчас добавилось именно отложенное попиксельное освещение
__________________
-Brain is dead-
KiQ но ведь через шейдер гамма-коррекция будет для каждого источника по отдельности, а нужно для всех сразу. То есть посчитать сумму и только потом в степень возводить. Если каждый по отдельности делать, то засветы останутся.
KiQ да я не сомневаюсь что ты многому научился и это правильно.
Но каков так сказать практический итог? Еще немного поделаешь, удолишь и опять с нуля начнешь?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Да, все же филлрейт жуткий какой-то. Вот, например, с текстурой и нормалкой в 1024x1024
__________________
-Brain is dead-
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Запилил небольшую демку, просто для тестирования, ну и так же, так как код очень простой - залил на гит как пример работы с движком. На вид может показаться неказисто, но на деле все основные механизмы взаимодействия с либой в коде есть - создание приложения, работа с параметрами запуска, создание окна, стэйты, работа со сценой, работа с рендером, математические утилиты.
Демка | GitHub
Движок пишу заново, ибо чекдиск прошелся по старым исходникам
__________________
-Brain is dead-
Давненько тут не писал, можно тему переимоневать в Fenyx Engine? Произошел такой небольшой, так сказать ренэйм. В общем-то движок потихоньку пилится, в скором времени обновлю GitHub, вот крайняя демка за 2019 год https://yadi.sk/d/nBJczgXdhm3t9w, демонстрирует в основном UI, написанный полностью с нуля. В целом, пока думаю, развивать ли свой UI или заюзать биндинг Nuklear UI. Так же постепенно перепиливаю совсем устаревшие части, в частности которые тянутся чуть ле не с версии для мобилок. Посему хотел бы послушать мнение по некоторым вопросам, сейчас например, размышляю:
Оставлять ли в движке фиксированную структуру папок? То есть у меня есть общая движковая константа USE_ROOT, при которой к любому пути прибавляется полный путь до папки, из которой запускатеся бинарник. На следующем уровне идут переменные вида dir_images = "res/gfx/", dir_maps = "res/maps/", dir_fonts = "res/fonts/" и т.д. В принципе программист волен установить там любые относительные пути в момент инициализации движка, вручную, или, например, через конфиг. Но вот вопрос - нужны ли они в принципе, или же это искуственное ограничение для гибкости файловой системы, и лучше дать возможность напрямую из приложения задавать то расположение относительных путей, какое удобно программисту (то есть прописывать вручную каждый раз "res/gfx/SomeImage.png" или, например "assets/textures/SomeImage.png"? С одной стороны это увеличивает гибкость, с другой, в первом варианте при использовании, например условной loadTexture("walls/BrickWall.png") юзер будет уверен, что движок пойдет в res/gfx/walls и будет искать текстуру там, то есть чисто уменьшается объем ненужной писанины. Как-то так в общем. Какие мысли?
__________________
-Brain is dead-
Вот я качаю java 8 с официального сайта, но установка не начинается.
Экзешник запускается и тут же закрывается без ошибок. И ничего не происходит. Возможно дело в XP.
Добавлено 04-05-2020 в 20:40:
Скачал староватую яву, она поставилась. Движок запустился, на заставке выдаёт 8000 фпс и заставку игры. Жму энтыр\кликаю мышкой, чёрный экран и ничего не происходит и вряд ли что-нибудь произойдет.
Может версия явы не та?
Добавлено 04-05-2020 в 20:43:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша это демка UI, самой игры там нет, пункты меню листаются стрелками вправо-влево или кликом на стрелочки, выбор на энтер или на клик, соответственно. Присутствует окошко опций (без самих опций), которое можно тягать мышкой как в стиме, а так же диалог выхода из приложения с анимированными кнопками. Собственно до того, как у меня снова накрылся ноут, это все, что я тогда успел впихнуть в демку. Сейчас восстановил сорцы и продолжаю работу)
__________________
-Brain is dead-
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Временная зона GMT. Текущее время 16:11. | Показать все 129 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024