Comments 13
Кажется, что react не супер решение для gamedev
Почему Вам так кажется? Вы не могли бы дать развернутое обоснование тезиса именно в в плане web-gamedev?
Рискну ответить за @cczzttgxkzbvxn
Реакт это и в контексте обычных веб фреймворков не самое быстрое решение, а если говорить про игры, где ещё больше требований – тем более.
Сейчас многие веб игрухи не блещут производительностью, но при этом не слабо греют ноут. Не скажу, что это всё из-за реакта, но его использование играм точно не добавит оптимизаций.
Спасибо за Ваше мнение! Абсолютно согласен. Однако, на мой взгляд, здесь стоит добавить: безусловно игры в браузере не могут в данный момент сравниться с нативными, но это и не их ниша. React + Three.js - это просто стек, который позволяет создавать разные игры для ещё одной платформы - браузеры. И игры не ограничиваются лишь одними ААА проектами. А если говорить о контексте реакт, то это лишь дополнительная обёртка для упрощения и ускорения разработки. Всё-таки это гораздо удобнее и быстрее, чем написать то же самое на чистом js. И не факт, что на чистом js будет при этом намного выше производительность.
Преимущества и недостатки того или иного стека стоит сравнивать для конкретно поставленной задачи.
действительно, почему? кажется, в гемдеве модно использовать ECS, а react + какой-нибудь mobx - это почти то же самое
Спасибо! Надо будет попробоваать этот стек
блин, чел, это очень круто ! ❤️?✌️
Интересная статья, спасибо за подробные объяснения :)
Лайкнул чисто за такой интересный эксперимент)
Кстати, вот мой, полностью законченный вариант этой поделки ;) Честно по Сети и с ботами...
http://3DKiller.online
А как сайт с Three.js перенести на WordPress или любую другую платформу, чтобы можно было редактировать товары или добавлять блог и прочее???
Three.js - это библиотека для Canvas, которая упрощает взаимодействие с графикой. Внутри тега canvas рисуется то, что запрограммировано. Поэтому если говорить о переносе рабочего сайта на CMS, то здесь работа такая же, как и сделать любой персональный шаблон на WordPress. Это комплексная работа и уже проходит она на стороне CMS
Как proof of concept, типа хэй, React можно и так и эдак делать - круто.
Но когда я смотрю на такой код, который должен описывать механику/сцену/whatever игры
import {Sky} from "@react-three/drei";
import {Ground} from "./Ground.jsx";
export const App = () => {
return (
<>
<Sky sunPosition={[100, 20, 100]}/>
<Ground />
</>
)
}
export default App
я думаю, а какую задачу смесь XML + JS (JSX) решает здесь?..
Для фронта прекрасно понимаю декларативность HTML и желание использовать парадигму XML документов совмещая ее с JS, окей, нет вопросов.
А здесь типа экспорт солнца и земли из App... в каких-то тегах, будто их порядок и следование как-то влияют. Напиши <Ground/> и потом оберни в <div> ... я хз kinda misleading
Да, я думаю так и можно это описать misleading, это создает ложное впечатление компонента страницы, хотя это компонент сцены игры в трехмерном пространстве, где JSX-овые или XML-овые штуки как-то смотрятся странно)
Но компонентный подход, менеджмент состояния - это ок я еще как-то могу прикинуть пользу. Но JSX тут, аа...ребят ;D
React + Three.js. Создаём собственный 3D шутер. Часть 1