Суббота, 16 Ноября 2024, 08:54

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
[2D] Taiga Survival [Survival / RPG]
tdukДата: Четверг, 29 Января 2015, 19:58 | Сообщение # 41
постоянный участник
Сейчас нет на сайте
ссылка не работает( залейте по новой

Kos94okДата: Четверг, 12 Февраля 2015, 22:48 | Сообщение # 42
почетный гость
Сейчас нет на сайте
tduk, Разве что кто-то, у кого есть архив, зальет его. Мой ПК радостно умер пару недель назад (если точнее, умер его хард) вместе со всеми данными. Только исходники движка успел стащить. Доступ к копии архива будет только через три недели.

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

Хотя главное предназначение контекстного меню - это работа в инвентаре.

И к тому же, буквально вот сегодня реализовал алгоритм поиска пути. С ним пришлось повозиться, конечно. Начал я работать над ним еще два дня назад, пытаясь применить алгоритм А (кому интересно - Wikipedia). Однако он требует наличия сетки, которую можно анализировать. В моем случае создание сетки 256х256 нодов (чего, в принципе, будет маловато) занимало несколько секунд, а значит создавать её на лету невозможно. Хранить в памяти сетку для всей карты тоже не вариант, т.к. она занимала бы пару сотен мегабайт только в виде двухмерного логического массива. Поэтому пришлось думать над другим алгоритмом. Цель моего алгоритма - быть максимально быстрым, работать без сетки, по возможности пытаясь найти короткий путь. Хотя это не было приоритетом.
Решение получилось достаточно простое и элегантное. Чтобы найти путь из точки А в точку Б, в точке А создается некий объект, который я быстро прозвал итератором. Далее алгоритм пытается двигать этот объект в направлении точки Б по прямой. Если через определенное расстояние препятствий не найдено, данная точка записывается и движение юнита уже можно начинать. Далее алгоритм начинает работать с последней точкой, вновь пытаясь двигать её в направлении точки Б. Если на пути появится какое-либо препятствие, происходит возврат к последней удачной точке и попытка движения повторяется под измененным углом.
Такой алгоритм удовлетворяет поставленным требованиям и выдает вполне неплохой результат. Пример работы под катом.


Добавлено (12 февраля 2015, 22:48)
---------------------------------------------
Время очередного вброса информации. Если кто-то помнит старые версии, то одной из самых графических фич были тени. Мне они тоже весьма нравились. Именно поэтому поначалу они перекочевали в новую версию без изменений. Впрочем, можно вспомнить, что эти тени были совсем не идеальны. Из-за своей простоты они не могли учитывать положение других теней, а следовательно, накладывались друг на друга. И в реальной жизни они работают не так.
Решение проблемы пришло, как ни странно, достаточно давно. С появлением у меня доступа к шейдерам, появилась и иная реализация системы теней. Посложнее, съедающая больше производительности, но даже с учетом этого производительность движка выше, чем раньше. Без лишних слов, сравнение двух технологий под катом.

Бонусом, новая технология позволяет учитывать уровень освещенности, что дает возможность сделать немного более адекватные ночные тени. Но это только для особо интересующихся.
Теперь что касается деталей реализации. Если вам интересно - дайте знать, распишу все подробно. А если нет, то не вижу смысла тратить место на странице.
До связи.


Сообщение отредактировал Kos94ok - Четверг, 12 Февраля 2015, 22:52
OrdanДата: Пятница, 13 Февраля 2015, 02:01 | Сообщение # 43
Главный зомби
Сейчас нет на сайте
Тени супер, чем пользуешься если не секрет что бы их сделать?

Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
Kos94okДата: Вторник, 17 Февраля 2015, 22:20 | Сообщение # 44
почетный гость
Сейчас нет на сайте
Ну ладно, я обещал подробности, значит будут подробности.

Шаг 1. Порядок рендера
В моем случае движок является истинно двухмерным. Следовательно, буфера глубины там нет. Индикатором "глубины" объекта является его координата по вертикальной оси.
Правильное расположение объектов при отрисовке является ключом к адекватным теням. Если порядок будет нарушен, объект может стоять на тени другого объекта, а не быть в его тени.
Небольшая правка кода поможет продемонстрировать нужный нам порядок.

Важный момент. Подобная сортировка должна накладываться на все объекты игрового мира, независимо от того, отбрасывают ли они тени сами.
На картинке можно было заметить, что теней там нет. Это не ошибка, это подготовка к третьему шагу.

Шаг 2. Рендер теней
Что собой представляет тень объекта сама по себе? Она является текстурой объекта, выкрашенной в черный полупрозрачный цвет, повернутая под определенным углом и вытянутая по вертикальной оси. Все именно так просто. И старая технология заканчивалась здесь. Новая же идет немного дальше.

Шаг 3. Буфер и маска
При рендере нам необходимо сделать два дупликата нашего буфера отрисовки. То есть при отрисовке юнитов мы делаем две копии - одна содержит только сами объекты, без теней, а вторая содержит "полный" вариант. И перед тем, как кто-то начал задавать вопросы о необходимости первой копии, я просто вставлю вторую картинку.

Все тени на маске являются абсолютно черными. Таким образом мы избавляемся от эффекта наложения одной тени на другую. Сколько бы теней не падало в одну точку, она всегда будет иметь один и тот же цвет - абсолютно черный.
После этого шага у нас есть две картинки. Ни одна из них еще не пригодна для использования в качестве финального изображения, но финальный шаг решает проблему.

Шаг 4. Пост-обработка
Собственно, в этом шаге мы совершаем очень простой трюк. Обе текстуры отправляются на пост-обработку в простенький фрагментарный шейдер, задача которого - сравнить буфер и маску, а затем наложить тень на текстуру буфера. Если цвет пикселя на обеих текстурах не идентичен, значит, в этой точке лежит тень, а следовательно, нужно наложить затемнение на буфер. После чего продолжаем работу со следующим пикселем. Код шейдера выглядит достаточно просто... если убрать из него работу с освещением и прочие эффекты.
После работы шейдера смотрим на результат.

Что и требовалось получить.

В следующий раз могу рассказать про систему освещения и её связь с тенями (и вбросить несколько ламповых ночных скриншотов), либо же поговорить про интерфейс, его элементы и новую систему крафта. Выбор за вами smile

Добавлено (17 февраля 2015, 22:20)
---------------------------------------------
Видимо, никого ничего не интересует опять. Хорошо. Тогда никаких вам ламповых скринов.

Тем не менее, кто-то заказывал обновление ссылки на v0.05. У меня, наконец, появился доступ к архиву. Ссылка прилагается.

Сообщение отредактировал Kos94ok - Пятница, 13 Февраля 2015, 17:39
OrdanДата: Среда, 18 Февраля 2015, 03:25 | Сообщение # 45
Главный зомби
Сейчас нет на сайте
Kos94ok, спасибо) никогда и не задумывался о тенях) Хотя со времен баловства с удк знаю на сколько тени важны.

Добавлено (18 февраля 2015, 03:25)
---------------------------------------------
p.s. у меня почему то персонаж не ходит.


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
Kos94okДата: Среда, 18 Февраля 2015, 19:45 | Сообщение # 46
почетный гость
Сейчас нет на сайте
Ordan, Должен ходить, конечно, но даже если это и баг, ничем особо помочь не могу. Попробуй переключить язык, и (типичный мануал-стайл) убедись, что нажимаешь на W, A, S и D. happy

Сообщение отредактировал Kos94ok - Среда, 18 Февраля 2015, 19:48
OrdanДата: Среда, 11 Марта 2015, 03:46 | Сообщение # 47
Главный зомби
Сейчас нет на сайте
Kos94ok, как я и думал, прикол в том, что язык по умолчанию должен стоять инглиш, если по умолчанию Русский то ходить не будет.

Добавлено (11 марта 2015, 03:46)
---------------------------------------------
Kos94ok, где обещанный пост про систему освещения? Даже не представляю как сделать столь крутое освещение как у тебя...


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
Kos94okДата: Вторник, 05 Мая 2015, 12:52 | Сообщение # 48
почетный гость
Сейчас нет на сайте
Ordan,
Цитата Kos94ok ()
Видимо, никого ничего не интересует опять. Хорошо. Тогда никаких вам ламповых скринов.

Все, шанс пропущен )

На самом деле, по техническим причинам я не мог работать последний месяц, так что прогресса пока никакого. Больше апдейтов в ближайшем будущем...

Добавлено (05 мая 2015, 12:52)
---------------------------------------------
Я все еще жив, похоже.

Да, последние пару месяцев я был в инактиве, но теперь, наконец, вернулся к работе.
И сразу же добавлю, что прогресс по движку есть. Генерация, загрузка и сохранение мира спланированы, реализованы и протестированы как для одиночной, так и для сетевой игры. Это дает возможность работать с достаточно большими (в теории неограниченными) картами, повышает среднюю частоту кадров (меньше объектов в памяти -> лучше производительность) и позволяет игрокам одновременно находиться в разных углах карты без необходимости загружать её всю. Словом, все достаточно хорошо по этой части )
Кстати, различные настройки генератора позволяют рисовать как большие и открытые локации, так и относительно коридорные. Мир собирается из предварительно созданных кусков, которые могут быть сгенерированы автоматически или сделаны вручную.


Сообщение отредактировал Kos94ok - Вторник, 05 Мая 2015, 12:54
ЭргалонДата: Вторник, 05 Мая 2015, 13:07 | Сообщение # 49
Вездесущий
Сейчас нет на сайте
Цитата
Мир собирается из предварительно созданных кусков, которые могут быть сгенерированы автоматически или сделаны вручную

По скринам даже и незаметно, что террейн сделан из кусков(швов не видно совсем). Какого размера один кусок?


Кубариум
Rise of the dark lords
Kos94okДата: Вторник, 05 Мая 2015, 13:26 | Сообщение # 50
почетный гость
Сейчас нет на сайте
Эргалон, То ведь старые скрины. Текстура земли одна, а куски содержат только объекты типа деревьев и прочего. Сейчас один кусок имеет размер 500х500 (пикселей).
На скрине ниже видно около десяти кусков. И я без понятия, где их границы )
divol13Дата: Вторник, 05 Мая 2015, 20:53 | Сообщение # 51
участник
Сейчас нет на сайте
да, стыки не видны,
но мне одному в глаза бросается что тут 3 типа ёлок?


Kos94okДата: Вторник, 05 Мая 2015, 21:22 | Сообщение # 52
почетный гость
Сейчас нет на сайте
divol13, Четыре.
А что делать, если графики нет?
blackcatkpiДата: Среда, 06 Мая 2015, 20:23 | Сообщение # 53
постоянный участник
Сейчас нет на сайте
Хороший проект ) напоминает SIT в WAR3
В любом случае, буду рад развитию этой игрушки. Успехов


stalker_zonaДата: Четверг, 07 Мая 2015, 13:43 | Сообщение # 54
почетный гость
Сейчас нет на сайте
Я помню этот проект , когда его начали только делать

Стреляй редко, да метко. Штыком коли крепко. Пуля обмишулится, штык не обмишулится: пуля - дура, штык - молодец.
Kos94okДата: Четверг, 07 Мая 2015, 16:27 | Сообщение # 55
почетный гость
Сейчас нет на сайте
stalker_zona, Рад за тебя, собственно )
blackcatkpi, Ну да, почему бы ему и не быть похожим на мой же проект, построенный на той же концепции? )
stalker_zonaДата: Четверг, 07 Мая 2015, 18:16 | Сообщение # 56
почетный гость
Сейчас нет на сайте
Kos94ok, не помнишь меня?

Стреляй редко, да метко. Штыком коли крепко. Пуля обмишулится, штык не обмишулится: пуля - дура, штык - молодец.
Kos94okДата: Воскресенье, 10 Мая 2015, 16:40 | Сообщение # 57
почетный гость
Сейчас нет на сайте
stalker_zona, Я слишком многих людей повстречал, чтобы помнить всех, извини.

Добавлено (10 мая 2015, 16:40)
---------------------------------------------
Небольшой вопрос. Есть ли желающие посмотреть на исходный код движка или даже поучаствовать в разработке? Или же стоит демонстрировать только результат, как я и делал все это время?

Сообщение отредактировал Kos94ok - Четверг, 07 Мая 2015, 18:39
ЭргалонДата: Воскресенье, 10 Мая 2015, 16:55 | Сообщение # 58
Вездесущий
Сейчас нет на сайте
Kos94ok, Исходный код лучше показывать тем, кто в этом действительно нуждается. Лучше демонстрируй результат, в конечном итоге доделаешь игру и в нее будут играть)

Кубариум
Rise of the dark lords
OrdanДата: Понедельник, 11 Мая 2015, 03:20 | Сообщение # 59
Главный зомби
Сейчас нет на сайте
Kos94ok, яб не отказался бы посмотреть исходный код, мб че посоветовал бы, да и для себя уверен много нового узнаю.

Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
Kos94okДата: Пятница, 12 Июня 2015, 14:15 | Сообщение # 60
почетный гость
Сейчас нет на сайте
Небольшое обновление. В последнее время я работал над несколько иным режимом игры, чтобы было что-нибудь, удобное для тестирования основных функций движка. Хоть и этот режим очень примитивен, он достаточно скоро будет готов для демонстрации.
Есть желающие пострелять по красным кругам, которые хотят вас сожрать, одновременно с этим собирая куски чьего-то тела, разбросанного по ночной тайге? )

Добавлено (12 июня 2015, 14:15)
---------------------------------------------
Обзавелся новой модной консолькой. Зачем? Она круче выглядит, ей удобнее пользоваться, чем стандартной виндовой, а еще она не требует блокирующего потока для ввода текста.

А, ну да, еще вывод текста в консоль стал в несколько тысяч раз быстрее, но это мелочь, я понимаю. )


Сообщение отредактировал Kos94ok - Пятница, 12 Июня 2015, 14:20
  • Страница 3 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

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