Недавно появилось стойкое желание научиться создавать игры для смартфонов (для начала под Android). Из навыков в программировании - только JavaScript (написал в свое время несколько "двухколесных" плагинов и несложную программку-игру, по сложности сопоставимое с крестиками-ноликами).
Посмотрел тут несколько подобных вопросов и ответов на них: кто-то советовал учить Java и затем переходить непосредственно к изучению специфики Android; другие приводят в пример движки и советуют разрабатывать на их основе...
Проблема в том, что я совершенно не представляю, что такое эти игровые движки и как они помогают в разработке, а найти сходу какие-нибудь статьи, в которых бы это описывалось для таких чайников как я, не получается.
Насчет игры, пока есть одна конкретная идея - простенькая 2D-аркада, по механике отдаленно напоминающая Doodle Jump. Так вот, подскажите, какой путь мне все-таки выбрать? Если учить Java, то по каким лучше материалам? Возможно, есть сразу что-то типа Java под Android, где рассматривалось бы все с самых основ языка? Или же стоит остановиться на каком-то конкретном движке (интересуют только бесплатные) и учить соответствующий ему язык? Статьи, ресурсы или книги также приветствуются.
А никто не представляет, что там за движки-не движки и с чего начинать вообще.. Просто берете и начинаете, гуглите движки - выбираете, потом гуглите как создать проект в конкретном движке, потом гуглите как эту вашу платформу для "дудл джампа" нарисовать на экране, потом как заставить камеру двигаться и тд и тп. Короче, смысл в том, чтобы решать конкретные маленькие задачи, а не думать о правильном подходе. Надо изначально понимать, что первая игра неизбежно будет адом и ужасом в плане архитектуры, оптимальности кода и прочих "бэст прэктис". И вторая тоже, и третья.. А потом - ОП! и после n игр ты уже понимаешь чем тот движок отличается от этого, из каких "кубиков" должна состоять игра и как их заставить между собой взаимодействовать и жить своей жизнью.
Всё намного проще.
Если есть навыки JavaScript рекомендую смотреть в сторону Ludei CocoonJS и Intel XDK.
Это сервисы, которые позволяют создавать веб-приложения и превращать их в нативные APK и IPA (причём совсем без усилий). Есть возможность создавать Hardware accelerated Canvas приложения, по производительности очень близкие (если не равные) к нативным С++, Java и Objective C приложениям. Это идеально подойдёт для 2D платформера, причём про второго не знаю, а CocoonJS даже WebGL поддерживает.
Берете книгу\видеокурс\статью а-ля "Создание игр для Android" (напр. на Udemy.com ) и начинаете.
В большинстве случаев в таких книгах\уроках в самом начале рассказывают про самые азы java, которые нужны для понимания.
Дальше - чувствуете, что чего-то не понимаете -> идете в гугл, ищете ответ, решаете проблему.
Вот и все.
Я думаю так:
0) Прочтите dtf.ru/articles/read.php?id=1491
1) Напишите дизайн-документ
2) Берите Unity3D, реализуйте игру
3) Адаптируйте разработанное для мобильных платформ
4) Читайте на хабре тонкости публикации в том или ином маркете
5) Реализуйте инструкции по публикации
...
9) PROFIT!!!