Программисты и котята [WEBGL]
| |
afq | Дата: Пятница, 24 Февраля 2023, 08:31 | Сообщение # 1 |
Разработчик
Сейчас нет на сайте
| Движок: свой на C + sdl2 + gles3. Версии: linux, webgl Ссылка: https://xverizex.itch.io/programmers-and-cats Исходники: https://github.com/xverizex/programmers_and_cats Зачем нужен этот проект: цель создать движок, для дальнейшей игры в изометрии.
Программисты не хотят работать, программисты хотят смотреть котиков на работе. Если продуктивность работы упадет до нуля, вы банкрот.
управление камерой: wasd выход из игры: q
Сообщение отредактировал afq - Суббота, 25 Февраля 2023, 12:18 |
|
| |
TLT | Дата: Пятница, 24 Февраля 2023, 15:00 | Сообщение # 2 |
Сейчас нет на сайте
| Не запустилась в браузере Хром.
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
Storm54 | Дата: Пятница, 24 Февраля 2023, 18:25 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Шлак какой-то. Я так и не смог заставить нормально отображаться игру - часть уезжает куда-то за границы экрана. При нажатии Full Screen изображение вообще пропадает.
Если ко поду смотреть, то движок никуда не годится, даже нет смысла описывать какие-то глубокие вещи, если уже есть это: Матрица камеры зачем-то объявлена статической в коде. Не вынесен код проигрывания анимации в движок, у тебя же самого пошла копипаста на 400 строк в human.c include папка содержит заголовочные файлы игры и движка, однако, c файлы разделены.
Лайк за то, что хотя бы OpenGL наружу не полез и все обернуто, но стдшные методы все-равно лезут в каждый файл, хотя я видел попытки обернуть часть из них в file.c
|
|
| |
afq | Дата: Пятница, 24 Февраля 2023, 23:44 | Сообщение # 4 |
Разработчик
Сейчас нет на сайте
| Цитата Матрица камеры зачем-то объявлена статической в коде. Storm54, интересно послушать мнение диванного эксперта по поводу статической камеры. Как я считаю, камера должна быть общая на все объекты, потому что шейдер использует камеру и было бы тупо для каждого объекта указывать данные камеры. Странно, что ты за это зацепился, похоже, что ты не в курсе как надо делать, либо я чего-то не знаю. Ладно, посмотрим что ты ответишь, можешь что-то стоящее, если же нет, то зачем этот тупняк в комментариях?
Цитата Не вынесен код проигрывания анимации в движок, у тебя же самого пошла копипаста на 400 строк в human.c Вообще-то код анимации в отдельном файле. В human идет просто настройка анимации. Анимация это ведь смена кадров, а не передвижение.
Цитата include папка содержит заголовочные файлы игры и движка, однако, c файлы разделены. Да с чего ты взял как правильно то надо делать я не пойму? С чего эта критика? Я в курсе как делать удобно и не нужно меня учить.
Цитата Я так и не смог заставить нормально отображаться игру - часть уезжает куда-то за границы экрана. При нажатии Full Screen изображение вообще пропадает. Управлять можно wasd клавишами, на q выход. Fullscreen не работает, потому что еще не разобрался как. Но это будет дальше. И вообще, такое впечатление, будто не я глупый, а ты, так как мне приходится тебе простые вещи объяснять.
Сообщение отредактировал afq - Суббота, 25 Февраля 2023, 00:02 |
|
| |
afq | Дата: Суббота, 25 Февраля 2023, 03:14 | Сообщение # 5 |
Разработчик
Сейчас нет на сайте
| Я кстати заметил, что fullscreen работает на firefox и то не каждый раз, но углубляться в баги разных браузеров я не хочу и так замучался с yandex браузером. Решил проверить с firefox, а на firefox работает лучше. Пусть они сами свои баги исправляют.
|
|
| |
afq | Дата: Суббота, 25 Февраля 2023, 03:25 | Сообщение # 6 |
Разработчик
Сейчас нет на сайте
| Цитата Шлак какой-то. Я так и не смог заставить нормально отображаться игру - часть уезжает куда-то за границы экрана. При нажатии Full Screen изображение вообще пропадает. Да и как-то странно слышать это от того, кто хоть чуточку разбирается в разработке. Эти баги с fullscreen, это не мои ошибки в коде, а так работает либо твой браузер, либо библиотека, в которой собирал игру. Мне не нравиться, когда пишут про мой проект, что это шлак не разобравшись.
А блин, извиняюсь, я посмотрел твои созданные темы. Ты же на unity пишешь, понятно, ты наверное считаешь, что если что-то не работает в unity, то это у тебя баг, а не у кода unity, ну это судя по логике, что ты мне в комментариях написал. то-есть исходя из твоей логики.
|
|
| |
afq | Дата: Суббота, 25 Февраля 2023, 03:52 | Сообщение # 7 |
Разработчик
Сейчас нет на сайте
| Storm54, ладно, давай знаешь как поступим. Мы не будем спорить по поводу разработки моего движка. Ты будешь считать себя экспертом в разработке движков и дальше и разрабатывать на unity и не будешь писать как я должен код писать, потому что всё зависит от стиля. Такая токсичность мне не нравиться. Разумеется я не буду писать тоже токсичное. Мне не нравятся такие разговоры и я хотел бы их избежать. Чтобы не нервничать из-за того, что кому то показалось, что он знает лучше как код писать, а я типа такой тупой и написал неправильно, хотя движок работает и написал его я, а не ты.
|
|
| |
qomyqo | Дата: Суббота, 25 Февраля 2023, 11:56 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| хотя бы укажи в описании про wasd управление камерой
Сообщение отредактировал qomyqo - Суббота, 25 Февраля 2023, 12:00 |
|
| |
falcoware | Дата: Суббота, 25 Февраля 2023, 12:12 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| afq, а мы бы взяли такое на фалько: http://falcoware.com/rus/earnwithus.php
|
|
| |
afq | Дата: Суббота, 25 Февраля 2023, 12:18 | Сообщение # 10 |
Разработчик
Сейчас нет на сайте
| qomyqo, указал.
|
|
| |
afq | Дата: Суббота, 25 Февраля 2023, 12:20 | Сообщение # 11 |
Разработчик
Сейчас нет на сайте
| falcoware, да не.
|
|
| |
MagicHero | Дата: Суббота, 25 Февраля 2023, 12:48 | Сообщение # 12 |
участник
Сейчас нет на сайте
| Цитата afq ( ) Да и как-то странно слышать это от того, кто хоть чуточку разбирается в разработке. Эти баги с fullscreen, это не мои ошибки в коде, а так работает либо твой браузер, либо библиотека, в которой собирал игру. Мне не нравиться, когда пишут про мой проект, что это шлак не разобравшись. Пользователю наплевать на ошибки браузеров и прочее, если после запуска он увидит баги или невозможность нормально играть то просто закроет игру и забудет про нее. Он не будет писать разрабам и спрашивать как ему настроить браузер и какие библиотеки установить. У меня например в firefox при запуске в полном экране пропадает мышка и естественно играть невозможно. Если выйти из полного экрана и войти снова то будет черный экран. Самой игре не хватает плавности, персонажи двигаются рывками.
|
|
| |
Storm54 | Дата: Суббота, 25 Февраля 2023, 18:09 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Цитата afq ( ) интересно послушать мнение диванного эксперта по поводу статической камеры. Как я считаю, камера должна быть общая на все объекты, потому что шейдер использует камеру и было бы тупо для каждого объекта указывать данные камеры. Странно, что ты за это зацепился, похоже, что ты не в курсе как надо делать, либо я чего-то не знаю. Ладно, посмотрим что ты ответишь, можешь что-то стоящее, если же нет, то зачем этот тупняк в комментариях? Камера в движке может быть не одна, и не две, и даже не десять. Даже в простой 2D игре легко может возникнуть потребность отрисовать игровые сцены разными камерами и объединить это в одном финальном изображении. Как, например, сделали в Into The Breach. В игре можно навести мышку на скилл и увидеть миниатюрное изображение с его применением.
Цитата afq ( ) Да с чего ты взял как правильно то надо делать я не пойму? С чего эта критика? Я в курсе как делать удобно и не нужно меня учить. Ты создал тему, в которой написал, что цель этого проекта - создать движок. Если бы это был простой анонс игры, то никаких замечаний по движку не было бы. Но игрой, а уж тем более готовым проектом, это и не пахнет. Из всего этого я делаю вывод, что ты написал движок и небольшой кусочек игры, после чего скинул сюда на ревью или чего ты там ожидал от сообщества.
По поводу include: У тебя уже смешивается логика движка и игры, ты банально не сможешь скопировать папку с элементами движка для другого проекта, т.к. потащишь за собой ненужные зависимости игрового кода.
Цитата afq ( ) А блин, извиняюсь, я посмотрел твои созданные темы. Ты же на unity пишешь, понятно, ты наверное считаешь, что если что-то не работает в unity, то это у тебя баг, а не у кода unity, ну это судя по логике, что ты мне в комментариях написал. то-есть исходя из твоей логики. Причем тут Unity? Ты скинул страницу с проектом и даже не удосужился постараться и поправить совсем уж очевидные косяки, прежде чем это выкладывать на всеобщее обозрение.
Цитата afq ( ) Пусть они сами свои баги исправляют. Тоже так считаю. Пусть ТС сам исправляет свои баги, прежде чем это выкладывать
Сообщение отредактировал Storm54 - Суббота, 25 Февраля 2023, 18:12 |
|
| |
afq | Дата: Воскресенье, 26 Февраля 2023, 01:55 | Сообщение # 14 |
Разработчик
Сейчас нет на сайте
| Цитата Камера в движке может быть не одна, и не две, и даже не десять. Даже в простой 2D игре легко может возникнуть потребность отрисовать игровые сцены разными камерами и объединить это в одном финальном изображении. Как, например, сделали в Into The Breach. В игре можно навести мышку на скилл и увидеть миниатюрное изображение с его применением. То, что в игре может быть несколько камер это понятно, но шейдер использует главную камеру, которая показывает главный экран. Для других целей, весьма специфичных может понадобиться камера, которая не должна быть привязана ко всем объектам, а только к одному. Если камера в шейдере должна быть привязана ко всем объектам, то имеет смысл сделать её общей.
Цитата По поводу include: У тебя уже смешивается логика движка и игры, ты банально не сможешь скопировать папку с элементами движка для другого проекта, т.к. потащишь за собой ненужные зависимости игрового кода.
Хахаха, то-есть в include мне будет сложно удалить папку game, куда вся игровая логика входит? Ну что за бред. хахахха.
Цитата Но игрой, а уж тем более готовым проектом, это и не пахнет. Ну вот зачем ты это пишешь? Почему ты один во всем мире решил, что это не готовый проект? Игра вполне играбельна и уже многие в неё поиграли. Ты просто выбесить меня хочешь как я понимаю.
Цитата Из всего этого я делаю вывод, что ты написал движок и небольшой кусочек игры, после чего скинул сюда на ревью или чего ты там ожидал от сообщества. Тебе это только кажется. На ревью я ничего не выставлял. Ты что-ли каждый открытый код читаешь, если встретишь? Есть факт того, что есть игра с движком на этой игре и ты можешь его собрать. Ни о какой ревью, а тем более тебя я не просил его проводить. Зачем мне просить тебя или сообщество провести ревью? Я не начинающий разработчик и не устраиваюсь к тебе в компанию, чтобы слушать твои замечания по коду.
И ещё раз напишу, что есть основная камера в игре. Вообще-то, чтож придется объяснить раз ты не знаешь, чтобы отрисовать анимацию другой камеры в игре, используют фреймбуферы. Для такой сцены будет свой объект создаваться, который будет рисовать во фреймбуфер со своей камерой, а потом отображать в текстуру. Так что не вижу в этом проблему. Видимо ты видишь как это на поверхности, но не знаешь как внутри это работает.
|
|
| |
afq | Дата: Воскресенье, 26 Февраля 2023, 01:58 | Сообщение # 15 |
Разработчик
Сейчас нет на сайте
| Можно даже рисовать главной камерой в отдельный фреймбуфер изображение, а потом переключаться обратно на свои параметры.
|
|
| |
afq | Дата: Воскресенье, 26 Февраля 2023, 03:49 | Сообщение # 16 |
Разработчик
Сейчас нет на сайте
| Ну да кстати, в новой игре нужно создавать разные типы персонажей, так что передвижение вынес в отдельный файл.
|
|
| |
Storm54 | Дата: Воскресенье, 26 Февраля 2023, 10:52 | Сообщение # 17 |
постоянный участник
Сейчас нет на сайте
| Цитата afq ( ) Ну вот зачем ты это пишешь? Почему ты один во всем мире решил, что это не готовый проект? Игра вполне играбельна и уже многие в неё поиграли. Ты просто выбесить меня хочешь как я понимаю. Ну вот зачем ты это пишешь? Почему ты один во всем мире решил, что это полностью законченный проект? Игра не играбельна, на самых популярных браузерах работает через раз, тот же WASD не всегда нажимается и даже звука нет, в нее поиграло от силы 10 человек. Ты просто выбесить меня хочешь как я понимаю.
Если серьезно:
Цитата afq ( ) Хахаха, то-есть в include мне будет сложно удалить папку game, куда вся игровая логика входит? Ну что за бред. хахахха. Ага, ты сам же лохонулся и уже забыл про папку levels. Был бы проект большой - сидел бы и чистил код несколько недель.
Я не знаю, что это значит:
Цитата afq ( ) шейдер использует главную камеру
Цитата afq ( ) чтобы отрисовать анимацию другой камеры
Цитата afq ( ) не знаешь как внутри это работает Ага) и формулировки я выдумываю) Все, что я выше указал говорит о том, что ты просто код копипастнул и не представляешь как это работает.
|
|
| |
afq | Дата: Воскресенье, 26 Февраля 2023, 11:19 | Сообщение # 18 |
Разработчик
Сейчас нет на сайте
| Storm54, ну вот смотри. Ты мне пишешь, что мол в какой-то игре каким-то образом несколько камер работает и ты думаешь что уверен, что несколько камер используется, а не так - игра всё равно в одном потоке работает, можно камере задать другие координаты, отрисовать в текстуру и вернуть координаты и всё. Почему ты решил, что ты правильно знаешь как это работает? Неужто они тебе код показали.
А вообще, похоже, так как ты меня пытаешься учить по примерам других, тебе в детстве говорили, что вот тот то, так делаешь, и ты так делай. Я ничего против этого не имею, у каждого своего окружение, но давай я тебе на твоём языке напишу на примере другой ситуации выдуманной, потому что я не видел твоего кода.
Ты неправильно кушаешь борщ. Вот посмотри как твой толстый сосед Ромка его кушает. Он добавляет в суп сметану, а ты этот суп кушаешь с майонезом. Посмотри на Ромку, видишь какой он толстый, значит он знает толк в еде. Так что ты должен кушать так же как и он.
Вот на что это похоже.
|
|
| |
Storm54 | Дата: Воскресенье, 26 Февраля 2023, 12:37 | Сообщение # 19 |
постоянный участник
Сейчас нет на сайте
| Цитата afq ( ) Storm54, ну вот смотри. Ты мне пишешь, что мол в какой-то игре каким-то образом несколько камер работает и ты думаешь что уверен, что несколько камер используется, а не так - игра всё равно в одном потоке работает, можно камере задать другие координаты, отрисовать в текстуру и вернуть координаты и всё. Почему ты решил, что ты правильно знаешь как это работает? Неужто они тебе код показали. Написать можно что угодно, хоть свой драйвер для GPU, чтобы обойтись без существующих графических API. Вопрос в том, какой от этого profit и сколько времени займет последующий пляс на костылях. Объективно: разделять объекты на сцены и рисовать разными камерами просто удобнее, иначе бы таких абстракций вообще не добавляли бы в код. Я не видел код Into The Breach, но руководствуюсь здравым смыслом. Отрисовать вторую сцену со всеми объектами можно в несколько строк, используя дополнительную сцену и камеру. И я очень сомневаюсь, что можно обойтись парой строк, если все рисовать "в лоб".
Цитата afq ( ) Вот на что это похоже. Целые страны перенимают опыт соседей по совершенно различным вопросам: начиная от пищевой промышленности и заканчивая атомной энергетикой. В любой научной статье (да даже в википедии) прикладывается список источников, что как бы подразумевает, что авторы этих статей учитывают существующий опыт. Однако, товарищ afq пошел своим путем и отрицает какой либо вклад человечества, но при этом активно им пользуется, сам того не замечая.
|
|
| |
afq | Дата: Воскресенье, 26 Февраля 2023, 13:02 | Сообщение # 20 |
Разработчик
Сейчас нет на сайте
| Цитата Вопрос в том, какой от этого profit и сколько времени займет последующий пляс на костылях. Объективно: разделять объекты на сцены и рисовать разными камерами просто удобнее, иначе бы таких абстракций вообще не добавляли бы в код.
Storm54, в этом есть профит, если есть основная камера на всю сцену. Если разделять камеры, то каждому объекту в игре нужно будет дополнительно указывать через какую камеру он будет отображаться. Разве ты в unity указываешь объекту через какую камеру тебе смотреть на объект? Нет. Камера как синглтон это произведение искусства. Я всё правильно делаю. Или же ты можешь показать что я не прав, ну то-есть код какой-нибудь каких нибудь разработчиков, а не следовать здравому смыслу, потому как ты только об этом думаешь как должно быть, но код такой не писал. Представляешь какой был бы ад, если бы ты каждому объекту назначал определенную камеру? У тебя бы их было например три. Что в итоге? Давай представим такой код, хотя бы минималистический, хотя не, я устал об этом спорить, это похоже на холивар. Ты даже сам не используешь этот метод, а просто тупо думаешь что это правильно. Странно, что ты еще не написал свой движок, или у тебя только критиковать чужой код получается?
|
|
| |
|