GameDev for Android (native vs unity3d)

Приветствую коллеги ! Я по образованию специалист сетевой безопасности, но работаю в сервисном центре по ремонту смартфонов, у меня появилось время и желание создать пару игр для Андроид платформы из знаний база по ANSI C99 C++(2003). Начал учить Java и разбираться с Android SDK и вообщем с этой платформой и обнаружил что очень часто 3D приложения пишут на Unity и реже на Java + 3D-библиотечка. И тут вдруг возникает вопрос что делать и как поступить лучше ? Мне бы не хотелось устанавливать Windows и учить C# но судя по всему Unity3D это стоящая штука что бы обратить внимание на неё !

Что требуется :
1) Разобраться в Андроид что бы писать для него софт (интересуют только 3D-приложения и игры)
2) Реализовать игру. Разработал в голове идею космического 3D шутера, а модельки под него и звук сделает мой коллега по работе в 3D MAX

Посоветуйте правильный подход !

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

С юнити у вас не будет пункта 1. Пункт 2 вообще ему несколько противоречит, андроид разработчик и разработчик игр под мобилы — разные люди. Т.к. андроид — это жаба, много жабы. А геймдев — не особо жаба, т.к. она — это только андроид и несколько медленнее. Нативная разработка под андроид настолько отличается, что часто такой себе труЪ андроид девелопер — не знает толком, как нативный код подключать и наоборот — нативного разраба под андроид на обычную вакансию «андроид разработчик» — часто могут не взять.
Юнити, явно самый быстрый и надёжный способ сделать такую игру. Минусы — цена. 900 баксов за одну платформу, если захотите распространять, даже если принесёт игра 0. Для профи — это дешевле того же анриала, но не ваш случай. Не бойтесь учить шарпик, он простой и хороший. Что маздай... ну на самом деле страдают только красноглазики, ибо под мак есть и вообще 3д игры под линухом не пишут практически.
Альтернативы какбе есть. Например, atomic game engine — это фактически бесплатный опенсорсный клон юнити. Может быть сыроват) libgdx вон очень даже вариант. Есть ещё всякие gameplay3d, которые ещё проще.
Главный минус анриала — хелловорлд под мобилы занимает типа 100мб) Может уже поправили, правда.

Огромное спасибо за ответ ! Как я понял лучше не искать себе геморрой, а поставить Мелкософт-ОС и Юнити и не не ломать мозг ...

Минусы — цена. 900 баксов за одну платформу, если захотите распространять, даже если принесёт игра 0.
Покажи где это написанно.

Как программист со стажем — C++, в меньшей степени Java и Android, также Objective-C и iOS — с удовольствием послал эти все нативные апи далеко и надолго, и пишу свой пет-проект (мобильная кроссплатформа) на Unity3D. А ведь он даже не игра, а так, что-то ближе к фитнес-трекеру.

Из минусов — мелкие грабли, с которыми надо бороться (например, прокрутка списка забагована), но скорость/прозрачность разработки всё окупает. Ну и C# нравится больше джавы, как оказалось. Плюс опыт. А Swift — это вендор лок-ин.

Попробуйте Unreal Engine — для фитнес — трекера самое то )

Не вижу повода для сарказма, у Unity очень неплохая система дизайна UI.

Исправте если я ошибаюсь, весь Unity UI разворачивается на GL View — ах, c отрисовкой в отдельном Render потоке, и прочими плюшками, которые дают нехилый удар по батареe?

Ну приложение уже есть, работает и я не заметил какого-то особого потребления батареи. Да и не предназначено оно, чтобы часами его использовать. А если что, можно оптимизировать ограничением FPS при отсутствии пользовательской активности.

c отрисовкой в отдельном Render потоке

А разве iOS нативно не делает то же самое?

Спасибо что поделились своим опытом ! Я так же думаю что для 3D движек Unity очень хороший выбор ...

Приветствую коллеги ! Я пишу на «шарпе» под Unity3D несколько лет в одной из украинских гейм-контор и меня бы всё страивало если бы не деньги, в своё время я сознательно шел в игровую индустрию так как люблю графику, игры и любой графический контент и не люблю web, при этом зная что много денег там не платят, но скажем прямо получать 350 баксов мне уже не весело и походивши по собеседованиям понял что хорошего мало ибо среднее предложение по зарплате это 500, а где больше (в раёне 1000) либо проект **вно либо требуют ещё знания UE и С++.

Решил у йти в другое направление, изучивши рынок труда понял что очень сильно сейчас «рулит» front-end/javascript и тут сразу возникает главный вопрос: востребован ли сейчас WebGL, Blend4Web или подобное что бы работать с графикой на клиенте ? Востребован игрострой на JS’e/клиенте ? Коллеги помогите перейти в интересное, востребованное, нормально-оплачиваемое будущее ?

Спасибо всем кто откликнулся и пытался помочь, я никогда не смотрел в сторону Apple, единственно где с ними сталкивался это на работе когда iPhone/iPad приносили на ремонт. Вчера случайно наткнулся на сайт по разработке ПО для яблучных телефонов и увидел SWIFT — это просто потрясающий инструмент, уже сутки изучая его я понял что хочу писать ПО только на нём, для меня именно вот таким должен быть ЯП, читая «свифтовый» код мне всё понятно и очевидно, я просто в шоке от того как мне понравился их новый ЯП ! Единственная проблема это теперь нужно всё поменять, поставить пока хакинтош, может куплю б\у iPhone изучу их инфраструктуру и как под него писать 3D и теперь это будет действительно в удовольствие, потому что С++ как по мне довольно сложный, Java всегда меня раздражала, а swift — это просто шикарная вещь, удобный, понятный и красивый, (жаль только что — и ++ уберут с него) ...

А, ну так бы и сказали, что вам не игру делать, а просто что-нибудь покодить :) Игра у вас так не получится :)

Может вы и правы ... Но буду пытаться написать свою игру !

Удачи на этом тернистом пути! :)

Вижу вы супер-руби-вумен, и скорее всего из-за того что веб катится в сторону «жирных клиентов» и «серверов-дрыщей», вам приходится львиную долю времени уделять ангуляру, реакту и прочей лабуде где присутствует ужасный и не выразительный ДжаваСкрипт, а про любимый красивый Руби вы уже совсем забыли — Мой вам совет : идите в ... iOS ! Там только Свифт (может немного Оbj-C) и больше ничего, я никогда не был в таком восторге от языка программирования — Я серьёзно, вот он просто такой как мне надо и не избыточный и в меру многословный ... СОВЕТУЮ для разнообразия поковыряться и вы забудите про ту всю фигню что делали раньше ...

Когда-то и мне хотелось заняться разработкой серверной части на ещё когда-то любимом языке Python, изучал Django (ещё версия была 1.4) но не сложилось так как не смог себя переосилить что либо делать на клиентской стороне включая всю эту чушь с CSS, JS, HTML, так и бросил, по душе было больше 3D для ПК или мобильная разработка ...
Не ожидал услышать что Xcode — г*вно, аж опечалился !

Не ожидал услышать что Xcode — г*вно, аж опечалился !

Расслабьтесь, это айти. В нём можно услышать такое про что угодно вообще.

Есть ещё тема писать игровой сервер, на сокетах.

Можливо unity3d або unreal engine будуть більш зручними.

Колись пробував писати кроссплатформенну гру на Qt/C++, але якшо ви підете цим шляхом то ви просто витратите кілька місцяів виключно на якусь подобу ігрового двіжка перед тим як почнете робити власне гру. Якщо вам просто подобається програмувати і гратись із 3D то це непоганий варіант, якщо вам хочеться робити саме гру то візміть якесь готове ігрове двигло і робіть гру не марнуючи час не все інше.

Спасибо вам за ответ, а вы не пробовали Unity ? Может что посоветуете по игровым движкам ?

Unity или Unreal, остальное можно не смотреть.
libgdx — не игровой движок, а кросс-платформенный рендер.

Работаю с Unity3d уже третий год. Советую попробовать, так как можно потом свою игру без усилий сбилдить не только под android, а и под ios.

Все зависит от того что вы хотите выпустить, на то и нужно смотреть.
Unity3D если сравнивать с нативным, то оно(нативное) будет проигрывать немного (не ну если вы не PRO в создании 3D движков) так что я советую не морочить голову и использовать движок, еще нужно помнить что на написание движку своего у вас уйдет уйма времени. Также нужно помнить что Unity требует C# или JS, лучше первое, бо со вторим Юнька творит столько манипуляций, по факту не советуют и в основном на C# пишут.
Так же так как вы написали что знаете С++ вам в помощь Unreal Engine 4.12 у него есть так же возможность деплоить на мобильные девайсы и в часности на Android.

Буду рад даже если напишите какими библиотеками/движками пользуетесь при разработки игр для Android (по мимо Unity3D)

Підписатись на коментарі