Как создать свою игру на JS?

Привет.
В голове засела идея написать одну игрушку, что-то типа на подобии agario.
Нативный JS я знаю, но я применял его только в создании сайта, никогда не применял canvas и т.д.
Вот, что я бы хотел реализовать:
1) Город. Да, это будет карта с домами и т.д.
2) Персонажи, которые по факту будут бегать по улицам.
Так вот, собственно, игра будет в 3D, на каком движке можно это реализовать? Как интегрировать текстуры на карту?
Как реализовать такую систему, чтобы персонаж не проходил сквозь текстуры?
Да, я понимаю, что по факту прошу готовый сурс, но нет! Попрошу, пожалуйста, помогите найти правильную документацию, где описаны эти алгоритмы создания игр. Буду очень благодарен!
  • Вопрос задан
  • 217 просмотров
Решения вопроса 3
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Дефакто стандарт разработки 3d игр на JS библиотека - threeJS https://threejs.org/ Она упрощает работу с webgl и имеет только самое необходимое для создания мира - scenegraph, камеры, источники света, растяжку текстур на 3d модели. У библиотеки большое сообщество и много учебников в сети. Чтобы персонаж не проходил сквозь текстуры называется collision detection. В threeJS реализован только самый базовый инструмент для этого - класс Raycaster.построенный на тех же рутинах что и raytracer А чтобы не роверять пересечения каждого с каждым вам нужно будет узнать например про структуру данных quadtree. Встроенного движка физики в библиотеке нет, предполагается что вы будете использовать по своему выбору. Что бы писать на этой библиотеке вам нужно будет подкачать скилл игроделания, но она быстрая.
Если хотите побольше изкоробки берите фреймворк. Например заслуженно популярен Babylon.js www.babylonjs.com Кривая вхождения пониже, встроенного инструментария побольше(например движок физики и скелетная анимация), но работает помедленнее и жрет больше вычислительного ресурса. Tutorials в сети тоже достаточно.
Ответ написан
GavriKos
@GavriKos Куратор тега Разработка игр
Берите какой нить популярный движок, который подойдет под ваши технические требования, и делайте на нем.

Тут даже больше все упирается в платформу. Если веб не нужен - то Unity. Если нужен - можно в сторону кокоса глянуть.
Ответ написан
krbs
@krbs
IT Specialist
А еще есть Phaser 3 - это не совсем про 3d, но не очень сложен в освоении...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы