Вопросы Marhal_New _Arleana
949

Игры на Java

Сейчас изучаю Джава и осталось доучить чуть меньше половины.Есть несколько вопрос про разработку игр для телефонов на нем.
1.Насколько я знаю в основном используется для разработки игр Движки, например Юнити/Анриал, но они работают на c#/JS или с++.Они как минимум в мои ближайшие планы не входили и досконально хочу доучить Джаву.Насколько я понял нету настолько же удобных движков для Джавы.Я пошарился в Юнити и плюс минус сам процесс понял.Лучшее что я нашел это jMonkeyEngine(и пока без понятия что это).
Насколько это удобно обходится без такого обширного инструментария?
2. Можно ли на нём создавать что-то больше чем старые Джава игры на телефонах?

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

Написать
{ "author_name": "Marhal_New _Arleana", "author_type": "self", "tags": [], "comments": 106, "likes": 12, "favorites": 17, "is_advertisement": false, "subsite_label": "ask", "id": 39154, "is_wide": true, "is_ugc": true, "date": "Fri, 08 Feb 2019 19:20:50 +0300" }
{ "id": 39154, "author_id": 107553, "diff_limit": 1000, "urls": {"diff":"\/comments\/39154\/get","add":"\/comments\/39154\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/39154"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64961 }

106 комментариев 106 комм.

Популярные

По порядку

Написать комментарий...
32

доучить чуть меньше половины

До чего?

Ответить
5

до конца учебника ))

Ответить
0

Он прав.А там ещё практиковаться больше нужно

Ответить
1

А там ещё кучу фреймворков учить, так что ты готовься

Ответить
31

Что я представляю, когда читаю про игры на Java

Ответить
25

Половину... Джавы...ахаххааах... Хаахаааа...
Уааааххахааа...

Извините. Костенька, джавист.
Ахахахаа... Ох.

Джаву. Наполовину. Чекд эксепшоны помню, а анчекд не помню.

Не в обиду. Но вы начнете работать и прихуеете насколько глубока нора и как вы ВООБЩЕ ничего не знаете. Другого слова тут не подобрать. В утешение скажу, что все юные джависты были такими.

Ответить
4

Ни шагу назад

Ответить
0

И половину учебника

Ответить
0

Над пропастью во ржи
Над пропастью поржи

Ответить
0

Все юные погромисты были такими

Исправил.
Я также про С++ думал в своё время, только гораздо грустнее.

Ответить
4

Чтобы делать игры со стороны программиста, нужно учить языки без отрыва от движка. Иначе так каши не сваришь. Сейчас основными движками с приемлемым набором инструментов являются UE4 (C++), Godot Engine (Python, C++, GDScript, C#) и Unity (C#). На остальное лучше не распылять внимание.

Ответить
4

На самом деле хватит С++ и какого-нибудь скриптового языка программирования, типа Lua. Ещё C# неплох, потому что если что можно уйти в софт или бэкенд. Но все равно все крупные движки написаны на плюсах, так что зная их, без работы в геймдеве не останешься.

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

Ответить
1

Про плюсы абсолютно верно, вещь очень полезная и востребованная.

lua сейчас очень редко где используется, его вытеснил Python, С# и JS. Из крупных движков lua применялся в Cryengine образца 2014 года (и ранее), потом его убрали и оттуда.

Чтобы начать работать с UE4, хватит одной нормальной книги по базису С++. А вот для развития профессионализма в профессии уже потребуется углубление знаний.

Ответить
0

Я немного не соглашусь и скажу, что лучше изучать с++ и базовую работу с графикой
У меня уже несколько лет опыта работы на юнити, но плюсы я забыл от слова совсем. Идти на с++ джуна уже не хочется, а попасть в "серьёзный" геймдев с опытом работы только на юнити как-то не выходит

Ответить
0

Это получается путь эникейщика, а речь больше про программиста игрового процесса.
Для "серьёзного" геймдева нужно портфолио. Чтобы попасть делать те же три-в-ряд, достаточно накидать один качественный проект, знать специфику жанра и какие в нём сейчас игры популярны.

Ответить
0

Какого эникейщика, лол. Со знанием с++?
Если нужно N лет опыта в плюсах, зачем я там нужен со своим юнити, какие бы ни были у меня проекты?)

Ответить
2

Я не программист, но что-то я не вижу использования явы в современных играх

Ответить
0

Майнкрафт все еще жив. Надо же кому-то его кодить

Ответить
1

Его же переписали, вроде

Ответить
0

Нет, не переписали. Сделали отдельный майнкрафт для windows store.

Ответить
0

Хочешь сказать, что для ps4 сейчас в магазине java версия Minecraft?

Ответить
0

Не знаю, где ты это увидел в моём комментарии.

Ответить
0

Майкрософт переписали Майнкрафт под все основные платформы. Не только для своего стора

Ответить
0

Никто не *переписывал* майнкрафт. Написали *новый* майнкрафт, назвав его Bedrock Edition, заменили Pocket Edition на Bedrock Edition.
Оригинальный майнкрафт на java до сих пор является главной игрой, под которую Bedrock Edition подстраивается.

Ответить
1

Одним майнкрафтом сыт не будешь. Ну если ты не Маркус Персон, конечно

Ответить
0

Майнкрафт - игра феномен одна на миллионы. И к тому же его как только майки выкупили - сразу переписали на C#

Ответить
1

На С++ же, нет?

Ответить
0

ну c# это их язык.Так что скорее всего на c#

Ответить
0

Нет, переписали на плюсы, потому что шарп не кроссплатформенный отличии от плюсов (разные компиляторы не в счет)

Ответить
2

шарп не кроссплатформенный

Протестую, вполне себе кросс-платформенный.

Ответить
0

Разве на нем можно писать под PS4 и XBOX?
Ну или хотя бы под Linux?
Вы про Mono aka xamarin ведь?

Ответить
0

Неа, я про .net core. Под линукс/мак вполне себе компилится запускается, да ещё и официально.

Ответить
0

c# это их язык

Не совсем так, они и С++ развивают (читайте про UWP)
Таки википедия говорит что на плюсы переписали

Ответить
1

Slay The Spire, но и там не чистая джава

Ответить
0

P.s. можно ли рассчитывать на работу по разработке моб. игр с знанием Java?

Ответить
3

Нет, никто сейчас не использует Java напрямую. Вместо этого используется Kotlin, к примеру.
Одно из немногих мест, где Java живёт - это бизнес-решения и серверная часть. В остальном есть намного более подходящие языки. Если вести речь о высоком уровне, то тот же Python, JavaScript, Ruby, Go и прочие.

Ответить
3

Изучать котлин без явы не очень правильно в принципе. Большинство серьезных библиотек все равно на яве написаны, и только иногда, типа спринга чуть-чуть хелперов насыпают для котлина, чтобы более идиоматично было

Ответить
0

Остановись, подумой
Никто в здравом уме на яве сейчас не станет ничего делать
Начинай работать с юнити, в конце концов. Там c#, переход с явы пройдёт легко и безболезненно

Ответить
0

Я чувствую как в каждым новым ценным комментарием умирает частичка меня.АСТАНОВИТЕСЬ

Ответить
3

Джава - это энтерпрайз, корпоративное и серверное ПО. Для всего остального она катит чуть больше, чем никак. Гугл теперь официально для ведроида котлин юзает (та же jvm, но язык современнее). Джава - это деньги, но довольно скучный рынок. Мне надоело, я ушел в девопс

Ответить
2

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

Ответить
0

Это само собой но основой для меня наверно будет Джава

Ответить
1

Не парься, доучивай жаву (книгу). Потом переключишься на другой язык. Ява так-то построен почти как любой нормальный топ язык. От шарпа не сильно уже отличается.

Ответить
0

Да не, всё ок
У той же юнити очень низкий порог вхождения
Я на шарпе начал писать буквально сразу, имея только универские знания о плюсах и яве

Ответить
0

Да я понимаю.Я сам сидел и тыкал в Юнити и благо ещё много обучающих видео есть.И ничего сверхсложного там нет.Но бросать язык на пол пути.

Ответить
1

Пол пути на прочтении первой книжки! Самому не смешно? Чтобы развиваться в профессии придётся таких книжек штуки по 4 в год проглатывать и не морщиться.

Ответить
2

Готов на все

Ответить
0

Только не надо ударяться в максимализм. Если видишь, что ява неактуальна - брось ее и учи плюсы. Потом, возможно, и плюсы придется забросить и учить новый, более актуальный, язык.
А ты думал, будет так просто - выучил одно и пользуешься?

Ответить
0

Я планирую Яву как основной язык.И разрабатывать игры на андроид(сильно далеко но все же).Я хочу понять одну вещь.На правильном ли я пути?

Ответить
1

Зачем вообще выбирать себе основной язык? Надо выбирать язык, исходя из потребностей

Ответить
0

Для меня казалось логичным что Джава используется в основном для создания мобильных приложений.И меня уверяли что на нём норм писать инди игры.
Плюс он простой и я нашел прекрасный учебник.
К тому же он мультиплатформенный.

Ответить
2

А почему ты думаешь, что одной явой отделаешься? Нет такой профессии, где ты должен уметь только одно. Взять того же архитектора: он и придумать здание должен, и начертить его, визуализировать, составить документацию, и потом еще на стройке следить за работами.
При работе с софтом все постоянно обновляется: софт стареет, появляется новый с новыми возможностями и изучать приходится уже его. Если ты хочешь этим серьезно заниматься, то никакого основного языка у тебя не будет. У тебя будет: вот здесь мне нужен такой язык, а вот здесь придется использовать этот язык

Ответить
0

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

Ответить
0

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

Ответить
0

с каким отношением?Разве это плохо что первый язык нужно в доль и поперек выучить?Просто хочу на качесвенном уровне его выучить и писать игры.Разумеется выучу и другие языки и возможно второй даже с# будет

Ответить
3

Смысла нет от голого изучения языка вдоль и поперёк. По сути, язык - это инструмент. Для начала стоит изучить логику и составление алгоритмов. Потом придумать какую-то конкретную не слишком сложную цель, и по ходу разбивая её на мелкие подзадачи искать способы их решения. Каким именно инструментом это делать вопрос уже специфики задачи, но в любом случае
2019

писать на жаве

Ответить
0

Хорошо. Почему 2Д инди не на Джаве?

Ответить
2

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

Ответить
0

мне просто интересно и я не собирался никого игнорировать.Я находил информацию что он для этого подходит и для меня это был основной критерий.Сейчас мне говорят обратное.И что делать?

Ответить
1

И что делать?

Укатываться с жавы на шарп или жаваскрипт. Если тебе целенаправленно пилить игры, то сразу же изучать разработку на Unity. Если ещё и прям уж под андроид, то нелишним будет освоить котлин чтобы и обычные приложения мог нативно писать, но на юнити делают под мобилы. Причём даже не придётся особо париться с портированием на другие оси.

Ответить
0

И бросить язык на пол пути?Мне не приципиально сейчас и я мог бы как доучу в сфере приложений под андроид поработать.
В процессе изучая c# и Юнити.
Сейчас просто с этим постом все мои планы полетели.Я планировал закончить с книгой практиковаться на уроках а потом и простую игру сделать.Найти единомышленников и расти над собой.Мне казалось что Джава на сегодняшний день хорошо подходит для этого и на сайтах я встречал такую информацию.

"Идеально подходит для мобильных игр, а так же очень неплохо подходит для игр на ПК. Для примера, используется в игре - Minecraft. Могу посоветовать jMonkey Engine и LibGDX, как движки для создания игр на яве, будь это 2D игры на смартфоны или 3D игры в браузере."

Цитата буквально.Хорошо если он не подходит то почему?Я знаю что он медленный.Мне просто сейчас боязно бросать язык вот так на пол пути.
Он же все еще востребованный?

Ответить
0

Джава на сегодняшний день хорошо подходит для этого

Нет, не подходит как минимум по одной причине: JVM. Она слишком дохуя жрёт памяти уже только фактом запуска, из-за чего тебе придётся познакомиться с словом "оптимизация", которого с тем же юнити ты можешь долго не услышать, если будешь пилить по гайдам.

Ответить
0

мне еще пару дней придется это все обдумать.Интересная ситуация

Ответить
0

все же спасибо

Ответить
0

видимо придется немного сменить приоритеты на приложение пока

Ответить
0

подходит для разработки игр на андроид

Ответить
2

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

Ответить
0

На жабе бэкэнд у аллодов и скайфорджа написан. Так что, если ты целишь в мейлру, то есть шансы. Ну и вроде у нескольких мобильных разработчиков игр есть вакансии с жабой. На юнити\анреале гораздо больше вакансий.

Ответить
0

Открываешь любой сайт с вакансиями -> находишь те, что тебе интересны -> смотришь требования. Все просто.

Ответить
1

и осталось доучить чуть меньше половины

Лол, что? Ты точно хотя бы начал изучать программирование?

Ответить
0

Чуть меньше половины учебника.Нужно было уточнить

Ответить
1

Ты действительно хочешь начать писать игры после одного лишь учебника?

И вообще, почему ты выбрал самый тормознутый из всех языков?

Ответить
0

Он прекрасно подходит для андроида и с ним добрую часть приложений пишут

Ответить
0

В общем, доходишь до Swing, там ты научишься рисовать всякое в окошке. Берешь простую игру Pong например, делаешь ее. Если желание делать игры не пропадет, можешь попробовать сделать что-то с уровнями, т.е. переключение уровней. Если и после этого не пропадет желание, тогда берешь C++ (сложный), либо С# (легче, после джавы изи вообще, говорят так), и учишь, а дальше выбираешь движок и учишься всякому там. Скорее всего это будет Юнити и С#.

Ответить
0

то есть на Джаве не вариант?

Ответить
0

То, что я написал, на джаве сделать можно. Если хочешь игру и в стор ее продавать, то это движки.

Ответить
0

То-есть основная масса игр стоит на столбах C# и С++?Не беру в учет закрытые движки

Ответить
0

вы хотите сказать если я хочу делать игры то нужно учить c#?

Ответить
0

Да, шарп, а после туториалы на ютубе по разработке игр.

Ответить
0

Рубикон уже перейден и дороги назад нет.Видимо с разработку игр придется отложить в долгий ящик.

Ответить
0

Юнити и с# я точно буду изучать но пока не сейчас

Ответить
0

Камон, чувак явно про какой то учебник говорит.

Ответить
1

То что очень важно и о чем мало говорят это DOD/ECS, которое почти во всех современных движках, так что для понимания работы и ошибок необходимо с этой архитектурой ознакомиться

Ответить
1

libgdx

Ответить
0

jMonkeyEngine подойдет?

Ответить
0

первая же статья за 2010.КАЕФ

Ответить
1

Я бы посоветовал вот прям сейчас посмотреть какой-нибудь мастер класс "Делаем игру на java", повторять что делают там. Можно посмотреть например ещё по другим, сравнить. Сразу практика будет, поймёшь надо ли, а учебник без практики ничего не стоит и забудется быстро

Ответить
0

Под андроид может казуальные/супер казуальные игры делать норм должно быть.

Ответить
0

У меня нет завышенные амбиций.Просто хочется делать интересные 2Д инди на андроид

Ответить
2

интересные 2Д инди на андроид

Тогда смело учи Java, она тебе пригодится на работе, которая будет кормить тебя и твое хобби

Ответить
0

Огромное спасибо.Я уже начал волноваться.

Ответить
0

А что-то не казуальное

Ответить
0

Наверное один из самых больших проектов такого рода – Minecraft, хотя его уже вроде переписали на что-то другое. Но после пары проектов под андроид сможешь запросто переключить внимание на Unity и C#.

Ответить
0

звучит как план.

Ответить
0

Minecraft делался на LWJGL. Чтобы делать игры для Android, нужно изучить ещё сам Android и библиотеки для вывода графики.

Ответить
0

Бросай всё и учи JS, будешь норм деньги на вебе поднимать)

Ответить
0

причем тут деньги?Я на 100 процентов идейный и готов сидеть на дошиках(но не писать свой движок).

Ответить
0

Тогда вопрос, без малейшего желания как-то оскорбить.
Кому он будет нужен?
У него будет широкое распространение?
Долгая поддержка?
Надёжность, удобность, и другие преимущества над другими движками?

Ответить
0

Имел ввиду что не готов писать движок

Ответить
0

сорян, понял не так
но как тут говорят, проще переключиться на С

Ответить
0

Что ж в ожидании очередного инди-треша

Ответить
0

На Unity подобие JS выпилено ещё с 2017.2, так что не вздумайте за это сесть. :)
А вообще, язык должен быть не более, чем инструментом, главное - умение думать и понимание того, что хочешь делать. Но это так - имхо.

Ответить
0

LibGdx, как уже советовали, отлично подходит для кросс-платформенных 2д игр. По нем есть книги, но и их вики на гитхабе все отлично объясняет.

Ответить
0

Если ты действительно разберёшься с джавой кор, то разобраться с шармом проблем не будет. Синтаксис похож. А силу джаве дают фреймворки, но игровых не знаю ни одного.

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Невероятно! Skyrim портировали на...
Подписаться на push-уведомления