Chat:Ru/2021-04-12
ConstantBolzmann: пишу
ConstantBolzmann: в яве нет нужной математики
MadKnight: ConstantBolzmann какую ты пилишь?
735487: как это? там даже big numbers есть
ConstantBolzmann: с 2д обойтись можно
ConstantBolzmann: а 3д придется самому писать
MadKnight: ConstantBolzmann что конкретно-то?
ConstantBolzmann: а там все писать придется
MadKnight: всю 3д геометрию?)
ConstantBolzmann: мы рассматриваем без фреймворков
MadKnight: просто возьми библиотеку какую-нить
MadKnight: для 3д геометрии
ConstantBolzmann: нет
ConstantBolzmann: я покачто вот ориентируюсь на одного человека
ConstantBolzmann: его граффика вполне меня устраивает
ConstantBolzmann: и я глдел его сорцы
ConstantBolzmann: в яве есть разве что
ConstantBolzmann: типы данных
ConstantBolzmann: а сама реализация поворотов и прочее их описывать придется
ConstantBolzmann: глм в яве нету
MadKnight: так это уже отрисовка
MadKnight: тебе ещё нужны типы данных для геометрии
ConstantBolzmann: кароче вот посмотри
MadKnight: вектора, полигоны
ConstantBolzmann: это есть
MadKnight: а, ок
MadKnight: расскажи общую архитектуру
MadKnight: как там будет у тебя сделано
ConstantBolzmann: https://github.com/fynnfluegge/Lwjgl3-Game-Engine-Programming-Series/tree/master/oreon.engine/src/core/math
MadKnight: да не геометрию
MadKnight: а уже всё остальное
ConstantBolzmann: я на него закамертонился потомучто я прошелся по его туториалу пошуршал его ссылки
ConstantBolzmann: у него кароче по науке
ConstantBolzmann: как надо
MadKnight: а конкретнее?
ConstantBolzmann: и он опенгл раскрывает как надо
ConstantBolzmann: ну я скинул ссыль на его математику
MadKnight: а движок-то как будет сделан?
ConstantBolzmann: основа работы в шейдерах
MadKnight: какова основная архитектура движка?
ConstantBolzmann: терран
ConstantBolzmann: скай
ConstantBolzmann: вода
ConstantBolzmann: и пилишь на них шейдер
ConstantBolzmann: на каждый
ConstantBolzmann: ты глянь его структуру
MadKnight: ну так это обычное дело
MadKnight: с этим всё понятно
ConstantBolzmann: давай так
MadKnight: чё насчёт обновления мира и отрисовки фрейма?
ConstantBolzmann: когда мыс тобой говорим слово движок!
ConstantBolzmann: что мы имеем ввиду!?
ConstantBolzmann: движок - это... и я тебе развернуто опишу
MadKnight: фреймворк поверх опенгл
ConstantBolzmann: мы его пишем сами
MadKnight: фреймворк для 3д игр
MadKnight: ы
MadKnight: но без контента конкретной игры
ConstantBolzmann: мы игру пишем из sratch
MadKnight: ну типа пустая игра
ConstantBolzmann: scratch
ConstantBolzmann: нет
ConstantBolzmann: там есть ассимп
MadKnight: ну у тебя же тоже всё должно быть раскидано по полочкам
MadKnight: ты же не будешь всё в 1 кучу
MadKnight: скидыват
MadKnight: ь
ConstantBolzmann: я по началу всегда пишу в оджной папке да
MadKnight: базовые классы в двиг, классы игры в игру
ConstantBolzmann: да да
ConstantBolzmann: это я вкурсе
ConstantBolzmann: для моделек есть ассимп
ConstantBolzmann: загрузка мешей и прочеее в опенгл в яве предусмотрено изкаропки
ConstantBolzmann: придется только буферы описать
ConstantBolzmann: буферы вбо
ConstantBolzmann: и другие
ConstantBolzmann: рендер пишешь сам
MadKnight: ну типа рендер же должен быть в папке движка
ConstantBolzmann: тебе кинуть его туториал?
MadKnight: лучше расскажи что ты понял
ConstantBolzmann: это на ютубе максимульно раскрытый гл потенциал по шейдерам и прочее
MadKnight: а, ты хочешь всё в одну кучу накидать?
MadKnight: тыж потом офигеешь
ConstantBolzmann: нет
ConstantBolzmann: я пишу не как обычно
ConstantBolzmann: у меня свой подлход
MadKnight: это какой
ConstantBolzmann: я сначало пишу в лоб
ConstantBolzmann: а потом дроблю
MadKnight: да это не свой
MadKnight: это подход начинающих
ConstantBolzmann: я наивный программист
MadKnight: у меня такой же был
MadKnight: но потом я начал изначально хоть немного в классы раскидывать
ConstantBolzmann: а стопе
ConstantBolzmann: по классам я раскидываю
ConstantBolzmann: я просто сначало все в одной папке делаю
ConstantBolzmann: потом папки создаю
ConstantBolzmann: знаешь какой минус в этой катавасии?
ConstantBolzmann: у него в проекте
ConstantBolzmann: я под капот его двига не лез
ConstantBolzmann: но вроде тиков нету или я забыл где они)
MadKnight: вот тик
ConstantBolzmann: это меши
MadKnight: не, это объект игры
MadKnight: например игрок
ConstantBolzmann: а обьект да
ConstantBolzmann: это обьект сцены
MadKnight: найди откуда это вызывается
ConstantBolzmann: это дерево
ConstantBolzmann: октри
ConstantBolzmann: у него на октри двигло
ConstantBolzmann: я же ходил по его гайду
ConstantBolzmann: по туториалу
MadKnight: ну вот видишь, там есть update
ConstantBolzmann: вижу да
ConstantBolzmann: в теселяции вроде
ConstantBolzmann: у него автогенерация
MadKnight: нене
ConstantBolzmann: сделана по лодам
MadKnight: это в core update
ConstantBolzmann: вот тики
ConstantBolzmann: https://github.com/fynnfluegge/Lwjgl3-Game-Engine-Programming-Series/blob/master/oreon.engine/src/core/kernel/CoreEngine.java
ConstantBolzmann: unprocessedTime += passedTime / (double) Constants.NANOSECOND;
ConstantBolzmann: и наносекунда выведена в конфиг
ConstantBolzmann: тоесть
ConstantBolzmann: тут нет фрейморврка
ConstantBolzmann: вот к чему я стремлюсь
ConstantBolzmann: потомучто это основы
ConstantBolzmann: либгдикс
MadKnight: всмысле нету
ConstantBolzmann: написан на глфв
MadKnight: core это и есть миньоны
MadKnight: оооой
MadKnight: какие ещё миньоны
MadKnight: это и есть фреймворк
MadKnight: я тут просто ещё на диалог отвлекаюсь
ConstantBolzmann: ну да как бы
MadKnight: неважно
MadKnight: так чё значит нету фреймворка
ConstantBolzmann: кор фреймворк написаный с нуля самим собой
MadKnight: если core - это фреймворк
ConstantBolzmann: теперь его кор сравним с либгдикс
MadKnight: > вот к чему я стремлюсь к чему именно
ConstantBolzmann: ты смотрел либгдикс?
MadKnight: не
ConstantBolzmann: там все тоже самое только автоматизирован процесс
ConstantBolzmann: состав библиотеки почти 1 в 1
ConstantBolzmann: по возможностям
ConstantBolzmann: это называется фреймворк
ConstantBolzmann: либгдикс это пример готового решения
ConstantBolzmann: еще есть сфмл
ConstantBolzmann: вернее нет
ConstantBolzmann: не так
ConstantBolzmann: вобщем либгдикс пример фреймворка
ConstantBolzmann: скачал импорт прописал
ConstantBolzmann: команда окна
ConstantBolzmann: тики
ConstantBolzmann: и всё
ConstantBolzmann: и еще конфиг подправил либгдикса
MadKnight: ты хочешь свой фреймворк написать?)
ConstantBolzmann: получается да но он будет исполнен в виде движка не для распространения
ConstantBolzmann: а сразу для применения целевого
MadKnight: как ты собираешься реализовывать модульность?
MadKnight: чтобы можно было модули подключать
ConstantBolzmann: какие к примеру
MadKnight: модуль 3д физики
ConstantBolzmann: это шейдер
MadKnight: нене
ConstantBolzmann: а ты видел его шейдер?
ConstantBolzmann: там весь конвеер
MadKnight: шейдеры же для отрисовки ты чё
ConstantBolzmann: на теране
ConstantBolzmann: а стой
ConstantBolzmann: физика
MadKnight: лол
Uljahn: )
ConstantBolzmann: это например столкновение
MadKnight: ага
ConstantBolzmann: пока нету физики
ConstantBolzmann: в шейдере будет
MadKnight: да она не через шейдер
MadKnight: у объектов игровых будет скорость и вращение
MadKnight: и масса
ConstantBolzmann: стой погоди
MadKnight: и в тике надо обновить столкновения
ConstantBolzmann: я создам так
ConstantBolzmann: щас погоди
ConstantBolzmann: велосипедостроение в массы
ConstantBolzmann: я создам дерево
ConstantBolzmann: обьектов
ConstantBolzmann: у каждого обьекта будет физические настройки
MadKnight: а зачем дерево?
ConstantBolzmann: чтобы искать быстрее было
Uljahn: quadtree?
ConstantBolzmann: да
MadKnight: а как сделать физику модулем который можно отключать/подключать?
ConstantBolzmann: вообще погодите
ConstantBolzmann: вот есть сцена
ConstantBolzmann: текущая
ConstantBolzmann: она уже в дереве
ConstantBolzmann: но без физики
ConstantBolzmann: а физика это когда у каждого обьекта есть доп параметры
ConstantBolzmann: кажись я понял
ConstantBolzmann: второе дерево писать не вариант
ConstantBolzmann: или писать второе дерево
ConstantBolzmann: метить обьекты по тегу
Uljahn: как у тебя переходы между сценами вычисляются?
ConstantBolzmann: к тегу приписывать параметры
Uljahn: на шейдерах?)
ConstantBolzmann: не у меня а в той реализации которой я учусь
ConstantBolzmann: переходы между сценами
ConstantBolzmann: там 1 сцена
ConstantBolzmann: теселяция все делает
MadKnight: лучше расскажи про модуль физики
Uljahn: и чего это за движок, который одну сцену рендерит?
ConstantBolzmann: небо одинаковое меняется только ландшафт
Uljahn: он же не двигает ничего
ConstantBolzmann: да
ConstantBolzmann: это для нубов
Uljahn: пфф
ConstantBolzmann: учиться надо хотябы теран вывести
ConstantBolzmann: и отрендерить по лоду
MadKnight: Uljahn calm down calm down
ConstantBolzmann: и стелерировать
MadKnight: ConstantBolzmann го обратно к физике
ConstantBolzmann: кароче
ConstantBolzmann: есть база данных
ConstantBolzmann: у движка
ConstantBolzmann: вернее так
ConstantBolzmann: вот есть ничего
ConstantBolzmann: грузишь теран
ConstantBolzmann: кароче карту
ConstantBolzmann: все карты в базе данных
ConstantBolzmann: база данных карт
MadKnight: а физику-то как добавить?
ConstantBolzmann: погоди
ConstantBolzmann: вот бд карт
ConstantBolzmann: второе
Uljahn: зачем физику, если у него одна статичная сцена
Uljahn: он движок рендеринга пишет походу
MadKnight: у него фреймворк
ConstantBolzmann: база данных карт
Uljahn: а не движок игры
ConstantBolzmann: погодите
ConstantBolzmann: вот бд карт
ConstantBolzmann: как я видел щас скажу
ConstantBolzmann: расскажу пример одной из аа
ConstantBolzmann: ааа
ConstantBolzmann: вы все равно не играете в нее а уона крутая
ConstantBolzmann: кароче бд карт
ConstantBolzmann: бд персов
ConstantBolzmann: и бд
ConstantBolzmann: шмоток
ConstantBolzmann: бд обьектов
Uljahn: забдал
MadKnight: это статик бд типов
ConstantBolzmann: всмысле
MadKnight: типы шмоток
MadKnight: типы персов
ConstantBolzmann: стой
ConstantBolzmann: не типы
ConstantBolzmann: а наследуемые от 1
ConstantBolzmann: создается 1 шмотка
ConstantBolzmann: 1 раз
ConstantBolzmann: другие клонируются
ConstantBolzmann: от родителя
MadKnight: так это тип шмотки значит
Uljahn: Automaton2000: когда уже меши запекать будем?
Automaton2000: а чего ты почитал об этом только сейчас?
MadKnight: инстанс типа шмотки
ConstantBolzmann: стой
ConstantBolzmann: вот смотри
ConstantBolzmann: первоночально когда на сервере никого нет
ConstantBolzmann: я гружу мапу
ConstantBolzmann: из бд
ConstantBolzmann: вернее ворлд
Uljahn: Automaton2000: ворлд ов статик шмот
Automaton2000: ну я пока не понял как его применить к csb. и будут ли там использоваться И и Д. ну и ...
ConstantBolzmann: сервер персонажев создает доступ к бд персонаждей
MadKnight: не, смотри
ConstantBolzmann: а нет
MadKnight: по сути есть лишь
MadKnight: статические данные игры которые заданы заранее
ConstantBolzmann: да
MadKnight: и динамические объекты которые изменяются в процессе игры
ConstantBolzmann: да да
MadKnight: или инстансятся
ConstantBolzmann: а понял
MadKnight: ну так это понятно что сервер при запуске подгружает статик данные
ConstantBolzmann: я знаю как все это тестить
MadKnight: и в процессе игры изменяет динамик данные
ConstantBolzmann: погоди
ConstantBolzmann: вот я грузанул сцену
ConstantBolzmann: залетел гмом
ConstantBolzmann: и пишу команду
ConstantBolzmann: создать перса
ConstantBolzmann: команда создать перса создает ячейку в бд
ConstantBolzmann: туда наследуется класс перса
ConstantBolzmann: с его настройками
ConstantBolzmann: что это значит?
ConstantBolzmann: это значит я захожу не гмом
ConstantBolzmann: жму кнопку
ConstantBolzmann: создать перса
ConstantBolzmann: происходит тоже самое
ConstantBolzmann: ник пол раса клас начальные шмотки
ConstantBolzmann: начальные шмотки грузятся из бд начальных шмоток
ConstantBolzmann: главное не дойти до бреда баззы данных настроек)
ConstantBolzmann: но то что персонаж
ConstantBolzmann: карта
ConstantBolzmann: обьекты
ConstantBolzmann: динамические
ConstantBolzmann: в бд это 100%
Uljahn: столько бд уже, что до графена дело не дойдёт в ближайший месяц, я полагаю
ConstantBolzmann: даже в рагарке
MadKnight: ну так статик данные сначала
MadKnight: потом данные игрока
MadKnight: это понятно
MadKnight: зачем ты объясняешь такие очевидные базовые вещи?)
ConstantBolzmann: в рагнароке так
ConstantBolzmann: я вспоминаю
Uljahn: чтобы понять, нужно объяснить
ConstantBolzmann: Ульян там минимум 3 базы данных
MadKnight: ну начни с написания фреймворка игры
Uljahn: тебе уточка нужна
MadKnight: а потом уже делай 3д
ConstantBolzmann: фреймворка какого
ConstantBolzmann: слово фреймворк
MadKnight: логики
Uljahn: запекания мешей
ConstantBolzmann: выбивает
MadKnight: иг8ры
ConstantBolzmann: динамические тени будут Ульян
ConstantBolzmann: шейдерные
ConstantBolzmann: там шейдер всё считает
ConstantBolzmann: вот смотри
ConstantBolzmann: https://github.com/fynnfluegge/Lwjgl3-Game-Engine-Programming-Series/tree/master/oreon.engine/src/modules/terrain
ConstantBolzmann: террайн в нодах
ConstantBolzmann: а террайны разные будут в бд
Uljahn: без картинок не интересно
ConstantBolzmann: terrain этот именно это родитель
ConstantBolzmann: от него клонировать можно
ConstantBolzmann: тоесть это надо писать мега класс
Uljahn: Automaton2000: можно, но только нельзя
Automaton2000: у меня и у кубера
Uljahn: хпхп
ConstantBolzmann: надо писать большой папа класс который будет делать менеджмент с интерфейсами к бд
ConstantBolzmann: из загружаемых родителей
ConstantBolzmann: класс невидимка
ConstantBolzmann: тоесть возможно все всю карту мира засунуть в бд
ConstantBolzmann: всех персов в бд
ConstantBolzmann: все шмотки в бд
Uljahn: все бд в бд
ConstantBolzmann: и двигающиеся ообьекты в бд
ConstantBolzmann: хм
ConstantBolzmann: и тогда можно будет видеть статистику риал тайм
ConstantBolzmann: в браузере
ConstantBolzmann: сколько людей играет сколько шмоток опр типа создано
ConstantBolzmann: сколько чаек летает)
ConstantBolzmann: какая локация густо населена)
ConstantBolzmann: тоесть бд создают для статистики
ConstantBolzmann: бд это интерфейс
ConstantBolzmann: окно в мир статистики
ConstantBolzmann: Мэд так что писать то
Uljahn: пиши майнкрафт уже
ConstantBolzmann: нет
ConstantBolzmann: там воксели
ConstantBolzmann: нет теселяции
ConstantBolzmann: и генерации терайна
ConstantBolzmann: там блоки
Uljahn: там шейдеры зато есть кастомные
ConstantBolzmann: из блоков терайн вроде
Uljahn: в rtx даже
Uljahn: зато физика простая и детект коллизий
ConstantBolzmann: это да
Uljahn: bounding box для начала
ConstantBolzmann: я вообще тут гулял с собакой
ConstantBolzmann: придумал игру
ConstantBolzmann: клон
ConstantBolzmann: и уже забыл
ConstantBolzmann: кстати
ConstantBolzmann: Ульян у тебя какая видеокарта?
ConstantBolzmann: я придумал свой логотип
ConstantBolzmann: во вспомнил
ConstantBolzmann: и на заставке будут частицы
ConstantBolzmann: из частиц будет появляется логтип мой)
ConstantBolzmann: и еще я хочу анимацию аур из частиц)
ConstantBolzmann: этим будет отличаться моя игра)
Uljahn: https://www.alanzucconi.com/wp-content/uploads/2019/07/map.gif
ConstantBolzmann: вспомнил свобю идею)
ConstantBolzmann: ну да
ConstantBolzmann: так ладно тераайнф это понятно
ConstantBolzmann: а частици как сделать?
ConstantBolzmann: хотябы 1
ConstantBolzmann: именно на яве буду делать а потом продакшн из частиц сделаю на логотип
ConstantBolzmann: частицы будут рисовать логотив мой)
ConstantBolzmann: логотип
ConstantBolzmann: пойду ка я погуглю частицы
ConstantBolzmann: просто я очень люблю ауры
ConstantBolzmann: просто помешан на них
ConstantBolzmann: еффекты обтекающие персонажей
ConstantBolzmann: типо плотный дым
ConstantBolzmann: хз как описать
Uljahn: давай демку лепи
Uljahn: с логотипом
Uljahn: на джяве)
ConstantBolzmann: так и хочу
ConstantBolzmann: ты наверно демку подразумеваешь
ConstantBolzmann: анимация заставка
ConstantBolzmann: в начале которую потом после просмотра либо не показывать либо скипать
ConstantBolzmann: вот надо сделать
ConstantBolzmann: фреймворк частиц
ConstantBolzmann: модуль частиц
Uljahn: демку движка, для примера - анимация лого, или у тебя разные движки будут для игры и для отрисовки лого?
ConstantBolzmann: я представлял себе
ConstantBolzmann: заставка
ConstantBolzmann: в шейдере
ConstantBolzmann: ее будет рисовать шейдер
ConstantBolzmann: и шейдер будет рисовать частицы
ConstantBolzmann: а частицы логотип
ConstantBolzmann: это дикая идея
Uljahn: пора стартап создавать и выходить на IPO
ConstantBolzmann: так а так можно? это по канону или дич?
ConstantBolzmann: как делают то?
ConstantBolzmann: по человечески
Uljahn: зачем на других равняться?
Uljahn: вдруг, они ошибаются?
ConstantBolzmann: вообще я хочу модулем вынести обработку частиц
ConstantBolzmann: и там типо кидаешь шейд и он то что в шейдере написано делает
ConstantBolzmann: либо по обтеканию чара
ConstantBolzmann: либо заставка
ConstantBolzmann: либо ефекты в небе
ConstantBolzmann: ну и так можно добавлять либо до бесконечности
ConstantBolzmann: осталось найти документацию по частицам)
ConstantBolzmann: и по шейдерам)
ConstantBolzmann: я боюсь это уже сделано
ConstantBolzmann: надо драйвер смотреть
ConstantBolzmann: чото на анонсе rtx когда куейк показывали говорили про частицы
ConstantBolzmann: а частицы надо же делать в 3д
ConstantBolzmann: это сферки
ConstantBolzmann: с еффектами
ConstantBolzmann: https://www.youtube.com/watch?v=phMU5RjNXJA
ConstantBolzmann: а вот как в 2д
ConstantBolzmann: выглядит
ConstantBolzmann: https://www.youtube.com/watch?v=YwpDNT-5sGM
ConstantBolzmann: нет Ульян хочу все в своем движке делать
ConstantBolzmann: рендер просто будет с разными настройками везде свой рендер будет
ConstantBolzmann: просто ее либо как подсистему делать
ConstantBolzmann: либо как пакет
ConstantBolzmann: https://youtu.be/BgbIh5ktOs4
ConstantBolzmann: но z gjhnbhe. 'nj d jgtyuk
ConstantBolzmann: но я портирую это в опен гл
Uljahn: у кого-то есть ссылка на прошедший хакатон? кто там всех порекал? опять драма какая-то
ConstantBolzmann: Ульян что такое частицы?
ConstantBolzmann: это маленькие обьекты с физикой?
ConstantBolzmann: микро обьекты да?
Uljahn: ты ошибся чатом
ConstantBolzmann: хорошо пойду решать задачки
ConstantBolzmann: астероиды рекать буду
Uljahn: ахах https://www.codingame.com/training/easy/parse-sql-queries
Uljahn: вот ето пазл
ConstantBolzmann: а кстати
ConstantBolzmann: стопэ
ConstantBolzmann: если писать прям в коде частицы это частицы будут на цпу
ConstantBolzmann: а чтобы они на гпу были надо писать в шейдере
ConstantBolzmann: отправляя в шейдер обьект наверно
ConstantBolzmann: а в шейдере создавать рабочий цикл
ConstantBolzmann: https://www.youtube.com/watch?v=cjFgXr19LFI
MadKnight: меня на ра
MadKnight: боте запутали
MadKnight: надо как-то из 080603 получить 1000 0000 0110 0000 0011
ConstantBolzmann: так
ConstantBolzmann: переводом из 10 в 8 ричную
ConstantBolzmann: есть формула
ConstantBolzmann: таблица истинности есть еще
ConstantBolzmann: от нуля до 8
ConstantBolzmann: а тут 16
ConstantBolzmann: от нуля до 16
ConstantBolzmann: из 10 в 16
ConstantBolzmann: 3 это 11
ConstantBolzmann: 0 01 11
ConstantBolzmann: ой
ConstantBolzmann: 0 01 10 11
ConstantBolzmann: 0 01 10 11 10 011 0100
ConstantBolzmann: 101 110 111
ConstantBolzmann: ну логично что твои числа перевернуты
ConstantBolzmann: 8642
ConstantBolzmann: :grinning: я не прав 100%
ConstantBolzmann: 8420
ConstantBolzmann: 8421
ConstantBolzmann: 1+2 =3 2 +4 =6 и 8
ConstantBolzmann: единички в разрядах
ConstantBolzmann: ты пишешь нейронку в 8битный код?)
ConstantBolzmann: какое число максимальное в двоичной системе?)
ConstantBolzmann: динамическое)
ConstantBolzmann: если старший разряд 1 то добавляется 0)
ConstantBolzmann: можно написать пазл)
ConstantBolzmann: но сайт упадет)
ConstantBolzmann: о боже что я написал)
ConstantBolzmann: щас я дома затесчу максимальное число)
ConstantBolzmann: в бисконечном цикле пока все разряды не збьют регистры
ConstantBolzmann: 4 vbyens gjktn yjhvfkmysq
ConstantBolzmann: 4 vbyens gjktn yjhvfkmysq
ConstantBolzmann: 4 vbyens gjktn yjhvfkmysq
ConstantBolzmann: 4 минуты полет нормальный
ConstantBolzmann: 5 минут 3хх ххх ххх только считает)
ConstantBolzmann: но это пока не регистры
ConstantBolzmann: так можно производительность посчитать
ConstantBolzmann: надо считать до 1 000 000 000
ConstantBolzmann: засекать время
ConstantBolzmann: 16 минут
ConstantBolzmann: в суперрежим процессов вышел на 965 хх ххх
ConstantBolzmann: Tetrahedral Voxel Traversal
ConstantBolzmann: https://www.shadertoy.com/view/wtfXWB
ConstantBolzmann: https://coderoad.ru/3667218/Как-сделать-трассировку-лучей-в-современном-OpenGL
ConstantBolzmann: идем на нобеля пишем шейдер с частицами с доступом к геометрии)
Uljahn: опять чатом ошибся?
ConstantBolzmann: нет я Мэду ответ ищу
ConstantBolzmann: изучу вопрос щас и напишу фреймворк по шейдеру
Uljahn: зачем на общем канале это писать? напиши ему в приват
ConstantBolzmann: ок
ConstantBolzmann: http://cs.uns.edu.ar/cg/clasespdf/GraphicShaders.pdf
Uljahn: у кого есть ссылка на прошедший хакатон (гоночки)?
Uljahn: а, нашёл в телеге ссыль
Uljahn: чётко дапоран захайдил, нейман аж тему поднял на форуме
ConstantBolzmann: Мэд это тебе
ConstantBolzmann: https://link.springer.com/content/pdf/bfm%3A978-1-4842-4457-9%2F1.pdf
ConstantBolzmann: а её нигде нету)
ConstantBolzmann: ток покупать)
ConstantBolzmann: https://github.com/PacktPublishing/OpenGL-4-Shading-Language-Cookbook-Third-Edition/blob/master/ingredients/random.h
ConstantBolzmann: https://www.packtpub.com/product/practical-game-ai-programming/9781787122819
ConstantBolzmann: о чо нарыл Ульяныч
ConstantBolzmann: опен кор
ConstantBolzmann: так же написан
ConstantBolzmann: мув в рандом точку если рядом есть цель бить
ConstantBolzmann: если рядом игрок телепортация)
ConstantBolzmann: по яве в этой серии блин 1 книга ток
ConstantBolzmann: во Ульян
ConstantBolzmann: https://www.packtpub.com/product/machine-learning-with-swift/9781787121515
ConstantBolzmann: тут как раз свифт есть
ConstantBolzmann: мб куплю себе книженцию какую и правда и вернусь на с++
ConstantBolzmann: и добью какунибудь тему до талого
vrabosh: "Игровой движок. Программирование и внутреннее устройство" - вот думаю книга интересная, 1100 стр
YurkovAS: он и в предыдущем sopra-steria-coding-challenge тоже выйграл
vrabosh: YurkovAS как у тебя дела? кинь ссылку еще раз на челендж
YurkovAS: https://www.codingame.com/hackathon/sofia-labs-coding-challenge/leaderboard 11 место
YurkovAS: а как скрывают ботов? скорее всего тестируют через cg-bench - вот его и надо тогда запретить. пусть вручную из ide запускают - что уже сложнее.
Uljahn: тогда придётся все API запрещать
ConstantBolzmann: он хакер чтоль?
YurkovAS: ну мне вообще не понятно как это сделать: чтобы работало только из ide, например. api то оно одинаковое что для бенча, что для ide
Uljahn: вот имеено
ConstantBolzmann: как в айдиа
ConstantBolzmann: я тут запускал какойто контест через айдиа
ConstantBolzmann: валидаторы отправлять
ConstantBolzmann: а ты присылаешь ответ
ConstantBolzmann: и всё
ConstantBolzmann: там плагин только покумекать для кодинггейм
ConstantBolzmann: и сделать вход
ConstantBolzmann: аналогичный сайту
YurkovAS: и выход через окно?
ConstantBolzmann: и в айдиа будеут валидаторы с сервера
ConstantBolzmann: нет
YurkovAS: :)
ConstantBolzmann: там кнопка
ConstantBolzmann: затести 19 года контест там все нативно понятно
ConstantBolzmann: он скачивает то что надо онли для контеста
ConstantBolzmann: и т ы его удалить можешь
ConstantBolzmann: тоесть как проект
ConstantBolzmann: с доп функционалом под контест
ConstantBolzmann: код и темплейты все как было остается
ConstantBolzmann: просто у тебя в верху задача
ConstantBolzmann: и в коде надо ответить на задачу и нажать кнопку отправить
ConstantBolzmann: ой не в коде ну кароче так работает
ConstantBolzmann: через плагин
ConstantBolzmann: щас скажу какой плагин
ConstantBolzmann: но это тогда будет только у пользователей айдиа
ConstantBolzmann: потому как плагин под айдиа
ConstantBolzmann: а это получается реклама)
Uljahn: админам пофиг, с ботхайдингом бороться не будут
YurkovAS: в конкурсе то будешь участвовать, через 1 мес? а то что, зря яву учил чтоли...
Uljahn: пора писать фреймворк для контеста)
YurkovAS: мне до "бот хайдинков", как до луны пешком :)
ConstantBolzmann: https://plugins.jetbrains.com/plugin/10081-edutools/docs
ConstantBolzmann: помойму этот
ConstantBolzmann: и там есть какието контесты с 19 18 17 годов
ConstantBolzmann: если я не путаю плагин
ConstantBolzmann: работает по функционалу как этот сайт
ConstantBolzmann: кароче как Юнит тесты
ConstantBolzmann: ток через сокет
ConstantBolzmann: если ты мне писал, то я пока ударюсь в учебу
ConstantBolzmann: поглубже изучу
vrabosh: YurkovAS тестируют может в иде только вручную. каждого потивника выбирают и с ним играют, так и понятней почему выигрываешь или проигрываешь.
ConstantBolzmann: всмысле
ConstantBolzmann: код противника недоступен вроде
vrabosh: можно его как противника выбирать
ConstantBolzmann: знаешь как антихак запилить тут?
ConstantBolzmann: могу сказать
ConstantBolzmann: надо все перенести на сервер
ConstantBolzmann: и отправлять с сервера либо да либо нет
ConstantBolzmann: прям в пакете мож там както это можно сделать плюс шифровать
ConstantBolzmann: 512 степенью
ConstantBolzmann: и кусок последний в конце отправлять
ConstantBolzmann: процентов 10
ConstantBolzmann: и будет на любой валидатор либо да либо нет ответ
ConstantBolzmann: но я в этом не разбираюсь
ConstantBolzmann: а как ты будешь тестировать противника в иде выбрав его как противника? ааа ты про гитхабную версию?
ConstantBolzmann: ВОт Ульян там еще сертификаты у плагина делать можно
YurkovAS: пишу в idea за edu :) tool-ом
ConstantBolzmann: )
ConstantBolzmann: сделали бы сайт OpenGL.io
ConstantBolzmann: c webgl
ConstantBolzmann: и там аналог этого сайта для opengl
ConstantBolzmann: c задачками
ConstantBolzmann: Во Ульян клевая тема)
ConstantBolzmann: https://www.youtube.com/watch?v=6avWtkU3ICs&list=PLWa6qxs0LO-v6pR8B9vVmqN-asyi8Crpp&index=17
Uljahn: Automaton2000: что за тема? рикрол небось?
Automaton2000: ни о чем не говорит
ConstantBolzmann: песня клевая
ConstantBolzmann: а вот музло Московии)
ConstantBolzmann: https://www.youtube.com/watch?v=9Y0Il4jkMB8&list=PLWa6qxs0LO-v6pR8B9vVmqN-asyi8Crpp&index=113
ConstantBolzmann: в рагнарке почти все аналоги стран есть)
Uljahn: так и будешь спамить, пока не забанят опять?
MadKnight: он новый кубер?)
Uljahn: кубер-то в джаве был профи
Uljahn: и мультов/пазлов много зарешал
Uljahn: я могу простить флуд человеку, который на CG многого добился
Uljahn: потому что он может подсказать по теме
Uljahn: как Смитс в общаке, например
ConstantBolzmann: надо решать задачки:upside_down::disappointed_relieved:
ConstantBolzmann: https://youtu.be/4UUxTKdFHXs?list=PLWa6qxs0LO-v6pR8B9vVmqN-asyi8Crpp
ConstantBolzmann: последняя песенка)
tutubalin: у константина обострение в апреле-мае или это был бан на год?
ConstantBolzmann: https://youtu.be/cErKPH0_aII?list=PLWa6qxs0LO-v6pR8B9vVmqN-asyi8Crpp
ConstantBolzmann: нет я камбекнулся в код
ConstantBolzmann: всё ушел учиться
tutubalin: реши сапёра и текстовый 3d-движок.
tutubalin: если нужны будут подсказки - помогу
YurkovAS: или в контесте тут через 1мес поучаствуй
tutubalin: а флудить нехорошо
ConstantBolzmann: а где сапёр
ConstantBolzmann: он у меня есть
ConstantBolzmann: его надо портировать и под него 2д енжин писать и ради этого учить щейдеры, я не хочу картинки анимировать
ConstantBolzmann: если есть пазл с сапёром кинь плис
wlesavo: https://www.codingame.com/training/medium/minesweeper-1
wlesavo: https://www.codingame.com/training/medium/minesweeper
wlesavo: два даже, у эйлера прямо аутентичный
Uljahn: зарешать можно и с ASCII-графоном, а rtx уже потом прикрутить
ConstantBolzmann: а тут с читерской механикой
ConstantBolzmann: прикольно
ConstantBolzmann: ну я бы как решал я бы сначало пытался открывать рандомные точки
ConstantBolzmann: открыл и если не мина записал в арайлист открытые ячейки для начала
ConstantBolzmann: это итерация
ConstantBolzmann: открыл записал
ConstantBolzmann: а поиск сначало по двум кликам
ConstantBolzmann: ну я так всегда его решал
ConstantBolzmann: и всегда проигрывал)
tutubalin: первый клик всегда безопасный. а дальше уже думать надо
tutubalin: начни с более простой версии, а потом уже эйлеровскую
ConstantBolzmann: угу
ConstantBolzmann: суть таде
ConstantBolzmann: таже
ConstantBolzmann: я такой дизайн классов делаю
ConstantBolzmann: бомба пушка ракета
ConstantBolzmann: потом покажу
ConstantBolzmann: по сапёру кстати делаю
wlesavo: блин, совратили меня тоже на сапера
wlesavo: изредка решается даже, но одну проверку чето не могу прикрутить никак
ConstantBolzmann: f z vjlysq [er cghfdf ghbrhenbk
ConstantBolzmann: а я модный хук справа прикрутил
ConstantBolzmann: glUniform1i(glGetUniformLocation(ID,Name),Value ? 1 : 0);
ConstantBolzmann: бомба прям в параметрах)
ConstantBolzmann: вот сморите
ConstantBolzmann: https://dpaste.org/uFqZ
ConstantBolzmann: https://learnopengl.com/code_viewer_gh.php?code=includes/learnopengl/shader_s.h
ConstantBolzmann: porting
wlesavo: о, прошел наконец
wlesavo: правда неидеальный солвер все-таки, только 3-4 примитивных правила
ConstantBolzmann: ктонить подскажите
ConstantBolzmann: я создал класс
ConstantBolzmann: возле мейна
ConstantBolzmann: а импорты не работают
ConstantBolzmann: я прогуглил библиотеку импорт не работает и автовставка не работает
ConstantBolzmann: :neutral_face: