BUTTERFLY_PUDGE_NAGIBATOR_666

Пользователь

Регистрация: 21.02.2020

Сообщения: 949

Рейтинг: 435

Нарушения: 155

BUTTERFLY_PUDGE_NAGIBATOR_666

Регистрация: 21.02.2020

Сообщения: 949

Рейтинг: 435

Нарушения: 155

Kujivunia сказал(а):

  1. По distance/step. Конкретно в моём случае это 64/0,1=640. 

  2. Не на пиксель, а на столбец. Это же псевдо-трёхмерность. 
  3. GPU использовать должен не алгоритм raycasting, а отрисовщик. 
  4. Есть лёгкий способ поднять производительность в сотни раз, но я пока люблюсь с генерацией пещер.

Нажмите, чтобы раскрыть...

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

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Попытка слегка доработать генератор пещер, чтобы он делал их связными. Зелёная область - связанные между собой "пещеры". 

unknown.png

 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Показываю это дерьмище в динамике: 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Я больше не хочу это пилить. 10 часов поиска ошибки спустя я добился только того, что вместо карты у меня отрисовывается отзеркаленая от игрока стена. Зато она отрисовывается правильно, круто, да? НЕТ. У МЕНЯ ПОЛЫХАЕТ ТАК, ЧТО МИФРИЛ МОЖНО ПЛАВИТЬ!!!1! НЕНАВИЖУ

Фура со Смайликами

Пользователь

Регистрация: 01.05.2020

Сообщения: 61

Рейтинг: -63

Фура со Смайликами

Регистрация: 01.05.2020

Сообщения: 61

Рейтинг: -63

сделай доту на движке майнкрафта 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia сказал(а):

Я больше не хочу это пилить. 10 часов поиска ошибки спустя я добился только того, что вместо карты у меня отрисовывается отзеркаленая от игрока стена. Зато она отрисовывается правильно, круто, да? НЕТ. У МЕНЯ ПОЛЫХАЕТ ТАК, ЧТО МИФРИЛ МОЖНО ПЛАВИТЬ!!!1! НЕНАВИЖУ

I3qZOTVc2-M.jpg

Нажмите, чтобы раскрыть...

Если на форуме есть погромисты, ребята, хэлпаните. Постучите в личку, дам ссылку на гитлаб, покажу, что не работает. Я уверен, что с алгоритмом пролюбился. Просто не могу уже, сил нет, горит шо аж пекло адское покажется арктикой. 

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Используемая ide не предусматривает возможности отладки (построчного выполнения кода с мониторингом состояния всех переменных и стека)?

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Berglol сказал(а):

Используемая ide не предусматривает возможности отладки (построчного выполнения кода с мониторингом состояния всех переменных и стека)?

Нажмите, чтобы раскрыть...

Позволяет, но я не умею ею пользоваться. Впрочем, print никто не отменял, он делает почти тоже самое. Но и с ним я ничего не понимаю. 

Berglol

Пользователь

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

Berglol

Регистрация: 20.09.2013

Сообщения: 934

Рейтинг: 1736

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

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Berglol сказал(а):

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

Нажмите, чтобы раскрыть...

Клёвая вещь! 

 

Впрочем, отследить синдром дауна у автора кода он не помогает. У меня такое дерьмо было написано, как оказалось... 

 

Пол дня назад я почти починил игру, но получил какой-то Интерстеллар: 

 

Сейчас всё вроде почти хорошо, нужно просто написать кучу if для обработки разных вариантов встречи блока и луча. Лениво этим заниматься, но потихоньку делаю. 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Я сдаюсь. Вот так игра выглядит, если смотреть в одну сторону:

А вот так, если в другую: 

 

Этот способ супер оптимизирован под мой тип карты, и если я реализую RayCasting более простым методом (тупа ища коллизию с каждым объектом на карте), то всё будет работать, но будет работать тупа в 1000 раз медленнее. 

 

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

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Чтобы вы поняли всю глубину ситуации, я должен сказать, в каком виде движок передаёт снимок игры на рендер в клиенте.

Он передаёт два массива. В первом массиве идёт тип блока, чтобы можно было в будущем накладывать разные текстуры на разные блоки. Во втором массиве идёт его относительная высота на экране. 

 

Если в первом массиве идут 000000, то это значит, что там воздух, и рендерить ничего не надо. 

 

И вот, движок присылает клиенту массивы такого вида: 

[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...]

[0.273050681429663,0.272717980987375,0.272386637785659,0.272056642613997,0.271727986344184,0.271400659929403,0.27107465440332,0.270749960879192,0.270426570548976,0.270104474682464,0.269783664626417,0.26946413180372,0.269145867712543,0.268828863925515,0.268513112088906.......]

 

Т.е. блоков как бы нет, рисовать их не надо, но высота отсутствующих есть. Мой клиент покорно их не рисовал, ведь там одни нули. 

Когда я отключил не-рисование нулей, то всё идеально заработало. Сейчас буду разбираться с багом, пытаться понять, почему движок посылает нули с высотой. 

-LcpguoJSJs.jpg

43DR37d8qHc.jpg

cENlNnvh_mI.jpg

zd-UVa2tUCM.jpg

 

 

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

  • больше гибкости в движок,
  • освещение,
  • текстурирование,
  • сущности со спрайтами,
  • спецэффекты и частицы (???),
  • звуки,
  • новый адекватный клиент с быстрой отрисовкой,
  • сетевой режим,
  • редактор карт,
  • мутаторы игрового процесса и графические фильтры

Фура со Смайликами

Пользователь

Регистрация: 01.05.2020

Сообщения: 61

Рейтинг: -63

Фура со Смайликами

Регистрация: 01.05.2020

Сообщения: 61

Рейтинг: -63

криво и убого удаляй

extremal666777

Пользователь

Регистрация: 09.05.2013

Сообщения: 1679

Рейтинг: 827

extremal666777

Регистрация: 09.05.2013

Сообщения: 1679

Рейтинг: 827

Сделай доту 3 и тема взлетит!

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Фура со Смайликами сказал(а):

криво и убого удаляй roflanLico.png

Нажмите, чтобы раскрыть...

Регистрация:

Жирно и жалко, удаляй

Just_a_Noname

Пользователь

Регистрация: 04.09.2013

Сообщения: 13463

Рейтинг: 10583

Нарушения: 10

Just_a_Noname

Регистрация: 04.09.2013

Сообщения: 13463

Рейтинг: 10583

Нарушения: 10

img

твоё творение?

 

без рофлов: продолжай, молодчина

S30N1K

Пользователь

Регистрация: 24.09.2014

Сообщения: 7195

Рейтинг: 4911

Нарушения: 35

S30N1K

Регистрация: 24.09.2014

Сообщения: 7195

Рейтинг: 4911

Нарушения: 35

Kujivunia сказал(а):

Регистрация:1 мая 2020

Жирно и жалко, удаляй ISSOU.png

Нажмите, чтобы раскрыть...

Ну и ты в след за ним свою тему можешь делитнуть))

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Так в динамике выглядит текущая версия. 

imakiri

Пользователь

Регистрация: 02.04.2014

Сообщения: 1336

Рейтинг: 610

imakiri

Регистрация: 02.04.2014

Сообщения: 1336

Рейтинг: 610

img

Kujivunia сказал(а):

Так в динамике выглядит текущая версия. 

Нажмите, чтобы раскрыть...

Что за хрень играет у тебя на фоне, боже

Траляга

Пользователь

Регистрация: 18.07.2013

Сообщения: 1339

Рейтинг: 921

Траляга

Регистрация: 18.07.2013

Сообщения: 1339

Рейтинг: 921

Mokytex сказал(а):

Что за хрень играет у тебя на фоне, боже

pepejeez.png

ISSOU.png

Нажмите, чтобы раскрыть...

Похоже на гуфовске

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Если кто хочет сам посмотреть, що це такое, то вот: https://gitlab.com/Roman.Svetlov/kujivengine/-/tree/Block_Linear_Ray_Tracing

Качаете .exe && .dll, кидаете в 1 папку, смотрите. 

Управление на стрелочки. 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Список нерешённых вопросов (для себя):

  1. Что такое спрайт сущности в моей игре? Как он хранит анимацию? 
  2. Небо и земля -- анимация, или текстура? 
  3. Что, помимо камеры и анимации, хранит в себе сущность? 
  4. Чем графический эффект, земля и небо, сущность отличаются друг от друга? 
  5. Что такое "информация о земле и небе"? 
  6. Как разбить всю эту чепуху на классы, и применить к ней шаблон "команда"? 
  7. Что делать, если я не смогу нормально подключить SFML к Паскалю? 
  8. Что включают в себя взаимодействия? 
  9. Где в этой схеме возможность сетевой игры? 
  10. Сколько сотен критически важных вопросов не вошло в этот список? 

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

О да, мой метод текстурирования верен. Сейчас он реализован чисто для проверки возможности его реализации, поэтому так криво

jBjrK_TtG6U.jpg

P.S. Как всегда, неожиданная проблемка, которую я заметил слишком поздно. Текстуры на блоках в определённом направлении от игрока рисуются в обратную сторону. Я примерно догадываюсь о причинах этого.

 

P.P.S. чё так сложнаааааааа я ваще сущностей в виде гномиков добавить хотел но чёт не получаеца я наваратил фигни сложнааааа

Kujivunia

Пользователь

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

Kujivunia

Регистрация: 10.01.2015

Сообщения: 5521

Рейтинг: 1003

У меня движок кричу зажевал. 

Zacateca

Пользователь

Регистрация: 22.12.2017

Сообщения: 34340

Рейтинг: 13378

Нарушения: 35

Zacateca

Регистрация: 22.12.2017

Сообщения: 34340

Рейтинг: 13378

Нарушения: 35

Kujivunia сказал(а):

XlsBgLDRdQQ.jpg

Хочу замутить олдскульную гаму на нём, правда это пока кривой прототип, и когда я гляжу на картинку из tes: arena -- я просто выпадаю в осадок от того, сколько всего мне нужно сделать, чтобы хотя бы примерно соответствовать играбельному уровню.

Это карта, где изображён игрок и сломанные углы и направления обзора. Простенький генератор пещер на клеточном автомате.  

LQVO8VzD528.jpg 

 

[UPD 03-05-2020]

Сейчас игра выглядит так. Подробности в этом комментарии

-LcpguoJSJs.jpg

Нажмите, чтобы раскрыть...

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