Андроид студио или юнити

Вопросы от новичка! Android & Unity3D

Приветствую, уважаемые пользователи форума GameDev.ru!
Недавно, я стал победителем в городской и областной олимпиадах, а так же призер Чемпионата РК по программированию. Последние 2-3 года я писал только на Pascal’e. Но мне не хочется оставаться на одном уровне — наоборот хочется двигаться вперёд и развиваться.
Я решил попробовать ступить на путь GameDev’а, т.к. эта область для меня более привлекательна и интересна. А т.к. я новичок в этой сфере, у меня появляется множество вопросов, на которые никто из тех кого я знаю не сможет дать ответ. Поэтому, я пишу сюда.
Недавно ко мне в голову пришла тема для игры. Я уже твердо выбрал платформу, это Android. И возможно, после релиза игры — портирую её для Web. Как я понимаю, для этих целей подходит кроссплатформенный движок Unity3D. Но, до того как возьмусь за что-то глобальное, я планирую разработать парочку не сильно сложных 2D и парочку простых 3D приложений.

Итак, вопросы (сильно тапками не кидайтесь, я всего лишь 15-летний школьник который не может грамотно поставить вопрос =-) ):
1) Что мне нужно изучить, что бы я смог работать в Android Studio? Точнее, написать в этом API какую нибудь простую 2Д игрулю.

2) Какие знания требуются для разработки не самой простой игры на Unity3D.

3) Посоветуйте хорошие видеоуроки/книги/текстовые уроки/ в общем, все что мне понадобиться изучить для достижения моей цели.

Если не сложно, то примерно так:

  • Java: *Видеоуроки от Васи* / *Книга Пети — «Java — это просто»*/ др. материалы.
  • *Другой язык*: *Видеоуроки от Кати* / *Книга Димы — «Самая лучшая книга!» */ др. материалы.
    и т.д.

    4)Могут появиться другие вопросы.

    P.S. Сам сейчас сижу — перечитываю, это так, как мне кажется глупо и по нубски звучит. Ну да ладно, нужно же как нибудь начинать. Давайте по существу — не нужно троллить. Не гасите «маленькую искорку», возможно из этой искорки получится толковый разработчик!
    Заранее, спасибо!

    _ZverOboy_T1
    > Недавно, я стал победителем в городской и областной олимпиадах, а так же призер
    > Чемпионата РК по программированию
    Здорово. Только это имеет весьма мало пользы в геймдеве.

    > 2) Какие знания требуются для разработки не самой простой игры на Unity3D.
    Ну, если умеешь олимпиадно программировать, значит разумом обладаешь. Значит, все нужные знания (=навыки работы) получишь в процессе изучения Unity.

    > 3) Посоветуйте хорошие видеоуроки/книги/текстовые уроки/ в общем, все что мне
    > понадобиться изучить для достижения моей цели.
    А вот это у меня самого руки искать не доходят уже сколько времени.

    Изучай шарп. Даже если плюнешь на Юнити — будешь программировать под андроид на Xamarin, например. Даже если плюнешь на геймдев — шарп пригодится.

    +1 к шарпу
    Юньку начни с туториалов на офф сайте
    http://unity3d.com/learn

    _ZverOboy_T1
    > 1) Что мне нужно изучить, что бы я смог работать в Android Studio? Точнее,
    > написать в этом API какую нибудь простую 2Д игрулю.
    Android Studio — это не API (интерфейс программирования приложений), а IDE (интегрированная среда разработки).
    Программировать под Android принято на Java, и это основной язык, если не единственный, который поддерживается в Android Studio. Google сделал всё, чтобы писать на C++ было неудобно, а на других языках почти невозможно. Но изучать Java отдельно ото всего наверное будет скучно, поэтому ищи сразу книгу по программированию на Java под Android. Таких книг полно, но там всё разобрано на примере Eclipse, так как Android Studio сравнительно новая среда разработки. Наверняка есть и книги под Android Studio, но их мало, а на русском наверное вообще нет. Но это моё предположение, я не проверял, можешь поискать.

    _ZverOboy_T1
    > 2) Какие знания требуются для разработки не самой простой игры на Unity3D.
    Самый популярный язык программирования в Unity3D — C#. Там никакой Java’ы нет, но он в принципе похож на Java, только лучше. Unity3D, несмотря на C#, в Android и iOS работает. Не знаю, как они этого добились, потому что просто взять и собрать Mono под Android и iOS нельзя. Видимо, сами портировали.
    Интерфейс Unity можно частично изучить методом тыка, скриптинг надо изучить отдельно по урокам или документации.

    В общем, пункты 1 и 2 абсолютно разные, потому что код пишется на разных языках и разных API.

    seaman
    > Изучай шарп. Даже если плюнешь на Юнити — будешь программировать под андроид на
    > Xamarin, например.
    Xamarin же нехилых денег стоит, которые надо платить каждый месяц.

    _ZverOboy_T1
    > Какие знания требуются для разработки не самой простой игры на Unity3D.
    C#

    Очередная порция нубских вопросов)
    4) Погуглил различные уроки по Unity3D. Обнаружил, что парень на одном видео использует JavaScript. Он использовал его, для того что бы запрограммировать поведение бочки на которую падает большой шар. т.е. шар соприкоснулся с бочкой => бочка исчезает и появляются обломки. Собственно, сам вопрос: для этих целей можно использовать и C#? Или же придется учить и JS и С# что бы создать какой-либо стоящий проект? Или вообще забыть что такое JS и учить только C#?

    Читайте также:  Realm mad god android

    5) В Free версии Unity3D очень много ограничений по использованию различных функций. А 75$ за PRO версию в месяц — это для меня вообще заоблачные цены. Допустим, я найду пиратскую PRO версию.
    Вопрос: Вот допустим, спустя 1,5 года работы над проектом, я уже загрузил G+ свою игрулю. Смогут ли меня как-либо идентифицировать? Т.е. прочекать, что я использую пиратскую версию? И если да, то какие последствия это за собой поведёт?

    6) У друга есть лицензия Unity 3D PRO. Он выиграл доступ в каком то конкурсе. Сможет ли он со мной как либо поделиться ей? Что бы я смог то-же работать в Лицензионном Unity3D. Ведь, должны же разработчики как то предусмотреть тот факт что, допустим, пользователь мог отправиться в командировку и взять с собой ноут. А лицензия стоит только на ПК. Но ему нужно срочно доделать проект. Поэтому, он загружает PRO версию на ноут и отправляется путь.

    7)Мультиплеер.Сервер. думаю, в этих двух словах заложена главная суть моего следующего вопроса. Да, я знаю что мне еще очень далеко до этих тем, но я так — поинтересоваться решил.
    Итак, вот я спустя 2 года работ создал классную игру. И мне захотелось создать полноценны мультиплеер. Т.е. что бы пользователи, просто имея доступ к интернету смогли поиграть в мою игру с другими игроками. Пример игры: Ну, пусть это будет «BattleCity»(денди танчики) бой ведётся в режиме «каждый сам за себя» — 4 игрока.
    Суть всей этой билеберды: нужно, я так понимаю учить уже другие языки программирования что бы запрограммировать сервер? Какие? Что бы сразу вместе с C# изучать их.
    А так-же, сгодиться ли какой нибудь относительно старый компьютер (core i3, 4Gb RAM) для этой цели?(ну и хорошая пропускная способность провайдера, естественно) Чтоб можно было организовать сервер у себя на дому? Или же придется брать в аренду?
    Или, мне с этим вопросом на CyberForum.ru идти?

    P.S. пока что, вроде всё. )
    P.P.S. Возможно(да, даже «скорее всего»),я где-то что-то не то написал. Но, я пишу так, как я понимаю, поэтому давайте, корректируйте если что не то говорю.

    _ZverOboy_T1
    > для этих целей можно использовать и C#?
    Можно. Можно только его и учить.
    _ZverOboy_T1
    > В Free версии Unity3D очень много ограничений по использованию различных
    > функций.
    Сегодня вышла пятая версия, где большинство ограничений Free сняли.
    _ZverOboy_T1
    > Сможет ли он со мной как либо поделиться ей?
    Он просто может например твой проект на ней сбилдить. (НО! см. предыдущий пункт)
    _ZverOboy_T1
    > нужно, я так понимаю учить уже другие языки программирования что бы
    > запрограммировать сервер?
    Можно использовать Photon, он программируется на шарпе. Однако я бы посоветовал иметь напарника, который будет программировать собственно серверную часть. Тогда все зависит от его возможностей и знаний.

    gammaker
    > C#. Там никакой Java’ы нет, но он в принципе похож на Java, только лучше
    Весьма спорное заявление. С#, конечно, хорош, но пока он все-таки остается майкрософтовской поделкой для винды и для юнити (Моно — сплошной костыль с тучей глюков). Если не принимать во внимание Юнити (а с недавней бесплатностью UE у Юнити появился неслабый конкурент), то шарп для андроида — как пятое колесо в машине.
    _ZverOboy_T1
    Если речь идет ТОЛЬКО для андроида, то Юнити и Шарп не лучший выбор — проще изучать Java (ну или C++,что в любом случае полезно). Но вот если захочется потом игрушку запустить практически на любой ОСи, то да Юнити сейчас вне конкуренции, пожалуй.

    DekaSoft
    MS сделала свободным дотнет, а в джаве нет даже беззнаковых чисел. Не говоря о том, что это — медленный и жирный монстр.

    -Eugene-
    > в джаве нет даже беззнаковых чисел
    И что? Как это мешает программированию? Шарп кстати не меньший монстр, а то что мелкософт сделал его открытым пока что ничего не изменило — под линухом его как не было так и нет.

    DekaSoft
    > И что? Как это мешает программированию?
    Это просто убого.

    > Шарп кстати не меньший монстр
    Один крендель решил, что джава для 3д это норм, и получился майнкрафт. Скорость работы и потребление памяти по сравнению с клонами больше на порядок.

    Ладно, исходя из ваших споров, я понял, что и C# и Java по каждый по своему «хороши». Пока что, я больше склоняюсь к Unity3D и С#;
    И поэтому назрел следующий вопрос:
    8)
    а) Можно ли писать игры с 3D графикой на Java (Да, знаю глупый вопрос, конечно можно)? Но на сколько это будет сделать сложнее, чем на Unity3D новичку?
    b) Для этого придется цеплять к Anroid Studio какие то плагины/библиотеки?
    c) Для этой цели придётся писать свой собственный 3D движок?

    Источник

    Java и Android или C# и Unity — что выгоднее?

    Простой 1 комментарий

    Проще и выгоднее реализовать себя там, где есть интерес (не только денежный).

    Я бы на вашем месте вообще Java с интерпрайзом рассматривал, вы еще не старикан — есть время успеть вписаться.

    1. Учить английский язык.
    2. Я бы выбрал Java/Android из данного перечня. Он более «гибок» в плане использования (имхо). Да и другие о этом подробнее описали;
    3. Самый лучший способ освоить программирование быстрее — найти персонального ментора, который подскажет пути, поможет при «затупах», да и работать на живых примерах гораздо полезнее, чем простые упражнения по книгам/курсам. Хотя теория тоже немало важна. Но практика лучше на «живом» проекте.
    4. В нашем городе практически не увидел нужных вакансий. Стало быть переезжаете? Или лелеете себя мечтой о удаленном программирование. Забудьте. Без 3-5 лет в офисе — даже не пытайтесь.
    — — — — — — — — — — — —
    31 год это норм. Это самый такой возраст для смены направления в своей жизни. Многие известные и простые люди переосознавали свою роль/цель/мечту в период 30-35 лет. И кардинально менялись. Главное не бояться и двигаться, а не мечтать и постоянно спрашивать себя и других, а что выбрать, а стоит ли и тд и тп. Just Do It.

    Читайте также:  Синхронизация контактов аутлук андроид

    Был коллега, который в 40 ушел в Java с инженерии. И устроился спустя время на работу.
    Был доволен как слон. Как сейчас у него дела не знаю. Но я думаю все хорошо.
    Москва правда.

    4. В нашем городе практически не увидел нужных вакансий

    Ситуация очень простая:

    Работа на заказа — Java/Android — так как куче фирм нужны мобильные приложения, и они за это готовы платить адекватные деньги.

    Работа на себя/Разработка собственного проекта — ну тут как повезет, что на игре(приложении) можно сделать деньги, что на игре(приложении) можно влететь на деньги.

    Работа на дядю — как правило Банки, Логистические компании, Телеком, Интернет-компании — это Java / Retail — гос.сектор, какие-то мореходства итд — это C#. Тут платят везде очень хорошо, но очень долго до хороших денег развиваться (реально долго).

    Мне 31 год, есть семья, есть основная работа

    время только по вечерам (ночам) и в выходные дни

    Где проще и выгоднее в моей ситуации себя реализовать?

    На основной работе. Без шуток.

    PS
    Если геймдев, Я бы выбрал Unity. Для всего остального есть MasterCard (нет) . Cordova и прочее.

    PSS
    Гемдев за редким исключением это не то, что можно сделать в одно лицо.

    Источник

    Путь от хирургии к геймдеву или первый опыт мобильной разработки на Unity

    Зачем, кому и от кого

    Всем привет! Меня зовут Анатолий. Я хочу рассказать историю о наших первых шагах в геймдеве, чтобы поделиться пусть и небольшим, но всё же опытом. Зачем? Потому что всего 6 месяцев назад сам искал подобные публикации, перечитывал и выписывал советы. Надеюсь, что и мой пост даст начинающим разработчикам полезную информацию, кого-то подтолкнёт к разработке, а кого-то, возможно, и наоборот. Не думаю, что разбирающиеся в теме люди найдут для себя что-то интересное, но для новичков или желающих ими стать статья определенно может стать полезной. Я расскажу весь путь от возникновения идеи, до публикации готового приложения в Google Play. В общем, поехали!

    Внимание: будьте бдительны — лонгрид! Если не хотите много читать — выжимка из практических советов и ссылок в конце статьи.

    Предисловие или с чего всё начиналось

    Как Вы уже поняли из названия темы — по образованию я хирург. Также занимаюсь квестами в реальности (хоррорами, что и повлияло на выбор жанра игры). Из того, что пригодилось мне в разработке: базовое знание фоторедакторов, звукозаписи и обработки звука, умение писать сценарии для квестов, а также около 2 месяцев изучения Java.

    Возникновение идеи

    О разработке мобильного приложения мы с моим другом (программистом) думали уже довольно давно. Выбор стоял между программой или игрой. Накидав идеи программ, мы поняли, что ничего концептуально нового предложить не можем, поэтому наш выбор пал на разработку игры. Изначально мы взялись за идею тайм-киллера 2D аркады с пиксельной графикой. Но после написания диздока и первых шагов в разработке поняли, что с такой идеей и игрой мы точно далеко не уйдем, а сил в неё придется вложить так или иначе очень много.

    Примерно в это же время у меня выстраивается такая логическая цепочка: квесты реальности берут начало от игр — я умею писать сценарии и открывать квесты в реальности — так почему бы не вернуться к истокам и не сделать мобильный хоррор с головоломками и историей?

    Аргумент «против»: абсолютно все книги, форумы и советы сходятся в одном — первая игра должна быть максимально простой по сути и в разработке.

    Аргумент «за»: также все советуют делать то, в чем у тебя есть хоть какой-то опыт.

    Немного подумав, мы решаем сделать полноценный 3D хоррор. (хотя, честно говоря, тогда ещё понятия не имели, что мы вообще сможем сделать)

    Начало разработки

    Поскольку ни у меня, ни у моего друга не было никакого опыта в разработке игр, мы начинали с самых основ.

    Выбор движка

    Само собой, речи о написании своего игрового движка не шло. Поэтому мы начали выбирать из существующих. В итоге остановились на Unity, потому что он наиболее прост в изучении, активно развивается, предоставляет все необходимые возможности и, что немаловажно, имеет огромное живое комьюнити, а значит возможно найти ответы на почти все возникающие вопросы.

    Теоретическая подготовка

    Сценарий был написан довольно быстро — около недели-двух активной работы. Мелкие правки вносились в него до финальных этапов разработки.

    Изучение движка (а я ещё и C#, на котором проходит работа в Unity) мы начали с книг и интернет статей. Ссылки на лучшие книги, из прочитанных нами, оставлю внизу. На этот этап у нас ушло около 3-4 недель, прежде чем мы смогли полноценно приступить к работе над проектом.

    Естественно, первым делом было необходимо изучить нишу и выбрать референсы игр, на которые стоит ориентироваться. В нашем случае это были Granny, Nun и другие подобные популярные игры. Казалось, что с таким их уровнем проработки, мы сможем сделать ничуть не хуже! То, чем мы бы хотели выделяться — это хороший сюжет, графика, внимание к деталям (довольно самонадеянно для людей без опыта геймдева, правда?) Так ли всё на самом деле оказалось просто? Читайте ниже 🙂

    Читайте также:  Работа с телефоном андроид через компьютер

    Первые шаги в Unity

    Как дети учатся ходить в жизни, так и мы изучать Unity начали с обучения персонажа движению и взаимодействию с окружающими предметами.

    Совет: что бы Вы ни начали делать в Unity — с вероятностью в 95% это уже сделано до Вас, поэтому внимательно ищите похожие уже реализованные решения. Это значительно облегчит разработку.

    Затем настал этап прототипирования уровня. На этом этапе наша игра выглядела примерно так:

    Наконец, была готова большая часть игровых механик, не считая главного — ИИ. Мы наладили подбор и применение предметов, инвентарь, взаимодействие с интерактивными объектами и прочие мелочи, что заняло очень много времени, но придало нам некоторой уверенности в собственных силах. Не особо заморачиваясь с остальными сложными вещами, мы решили их делать уже по ходу работы над финальной версией.

    Работа над финальной версией игры

    Опыта в 3D моделировании у нас практически не было, не считая школьных попыток много лет назад, поэтому и его пришлось изучать с нуля. Из-за лёгкости освоения, гибкости и большой базы видеоуроков и советов, мы выбрали для себя Blender, который, как оказалось, довольно удобно интегрируется с Unity, что позволяет гибко менять модели в ходе разработки и откатывать изменения, если необходимо. При этом модели в проекте обновляются автоматически в реальном времени.

    Хотя основы 3D моделирования освоить было необходимо, но всё же мы понимали, что создать самим полный набор ассетов в желаемом качестве и за желаемое время мы никак не сможем. К нашему счастью, на данную тематику оказалось достаточное количество готовых ассетов в Unity. В итоге часть ассетов мы купили, часть скачали бесплатно, а остальное сделали сами. Главный
    же злодей — злой клоун, был заказан на фрилансе. У нас были очень большие сомнения, что за ограниченный бюджет по нашим описаниям и простым наброскам кто-то сможет сделать что-то более менее адекватное.

    Но тут нам очень повезло с выбранным исполнителем и персонаж оказался лучше, чем мы ожидали.

    Затем шли долгие несколько месяцев допиливания функционала, детальное изучение Unity, подтягивания графики, написания ИИ и прочих мелочей, которые делают игру игрой. И в итоге мы подошли к очередной сложности: публикации игры.

    Публикация игры

    Одна из причин выбора Unity — кроссплатформенность, что позволяет один проект выпустить на всех желаемых платформах (для нас это Android, iOS, PC). К моменту написания статьи игра вышла и опубликована только для Android, поэтому дополнения по выходу на других платформах будут позже.

    Технически публикация приложения в Google Play не составляет никакого труда — всё интуитивно понятно и легко. Но есть другая сторона вопроса — ваши ожидания от публикации.

    Естественно, мы не были уверены (да и сейчас не уверены) в перспективах игры, но по наивному заблуждению считали, что стоит опубликовать игру в маркете, как нас тут же поднимут в топ новых, и посыплются скачивания и отзывы. Это было огромным заблуждением.

    На самом деле после публикации абсолютно никто (кроме ваших друзей, пожалуй) не будет качать Вашу игру, потому что никто о ней не знает. Естественно, ещё на этапе разработки мы понимали, что нужно начинать хоть какую-то рекламную компанию, но на это просто-напросто не было времени, т.к. всё оно уходило на саму разработку. В итоге к моменту публикации мы подошли с никому не известным приложением, слепо надеясь на быстрый старт.

    Реальность: момент релиза игры, это лишь половина Вашего пути к успешному приложению. Дальше (а гораздо лучше — раньше) начинается не менее важная и сложная часть (в которой у нас тоже не оказалось нужных навыков, и которую осваиваем прямо сейчас) — её раскрутка и продвижение.

    Изначально мы всё делали своими силами, и с минимальными затратами, поэтому о привлечении издателя для игры и не думали. Не могу сказать, ошибка это или везение (знающие люди могут дополнить в комментариях).

    Итоги и планы

    В итоге нашей полугодовой работы мы имеем готовую бесплатную игру с рекламой и внутриигровыми покупками, выпущенную на одну платформу. На данный момент, спустя несколько дней после публикации, у нас около 400 скачиваний; неплохие, хотя и очень малочисленные отзывы, а также куча вопросов по продвижению и дальнейшей судьбе нашей первой игры.

    В планах её выпуск для iOS и PC, но насколько это сложно и достижимо ли вообще — пока судить не можем (будем рады комментариям знающих людей). В дальнейшем планируем дополнить пост или написать новый, где расскажем о других платформах и продвижении игры.

    Советы дилетанта в геймдеве

    Заключение

    Если Вы дочитали статью до конца, то спасибо Вам!) Надеемся, что из неё Вы почерпнёте для себя хотя бы несколько полезных вещей. Если я где-то ошибся и был не прав — буду рад правкам и пожеланиям в комментариях.

    Также готовы ответить на любые вопросы по теме и поделиться всем, что узнали к этому моменту сами.

    Если Вам интересен результат нашей работы — ссылка на игру находится ниже.

    Будем рады Вашим комментариям, пожеланиям и предложениям тут и на Google Play. Ещё раз спасибо и удачи!

    Источник

  • Оцените статью