Сап, двачКун - 16 лвл.Хочу пилить игоры, но не знаю с какого языка начать, да и сам ВООБЩЕ не в теме программирования. Нужон язык, с которым смогу написать че-нить легкой/средней сложности. Естесна, потом планирую перекатиться с него на какой-нибудь более продвинутый язык. С вас прошу следующее: собстна сам язык и хорошие обучающие книжки по нему. Также интересно послушать ваши стори, с чего сами начинали и как вам сейчас живется
>>255992 (OP)Классика.
>>255992 (OP)Язык - C#https://learnxinyminutes.com/docs/csharp/Движок - Unity3dhttp://unity3d.com/Перекатываться никуда не надо. Это самое продвинутое и простое что есть.
Начинал с QBASIC, потом Pascal, параллельно VB6, далее основы C/С++, вкат в C#, потом AS3, затем JS, Python, Java, возвращение к С++.Что имею - тьму велосипедок, костылей и недоделок.
>>255992 (OP)Нахуй иди.
>>255999нет
эт, а вообще возможно начать обучение с си шарпа?
>>256001Возможно.
>>256003насколько долго? Смогу ли я через годик писать какие-нибудь норм игрули?
>>256004Если не еблан, то да
А это хорошая идея, начать с явы?
>>256007даже лучше, чем C#, потому что кроссплатформенная и простая, без закидонов под виндуона сейчас очень хорошая по сравнению с тем, что было раньше - большая часть негатива об этом языке имеет корни в прошлом
>>256004Нет. Если мог бы то этого треда с идиотскими вопросами не было бы.
>>255992 (OP)Берёшь хуюнити.Делаешь, сука, вилкой, все туториалы.Старательно так, высовывая язык, копипастишь или перенабираешь код, который просят.Делаешь говноигори сразу.
>>255995> самое простое что есть.Лол, самое простое это python
1. Берёшь Юнити.2. Берёшь книгу "SICP".3. Берёшь книгу про C#4. Тщательно прокуриваешь.И тут кончается лето.
>>256021Тогда уж GameMaker (а делать игры на питоне - то еще велосипедство)
>>256024А ЛЕЕЕЕЕЕТО ПРОШЛОООООНАКОНЕЦ-ТО РАСТАЯЛ СНЕГ
язык - кресты. читаешь литературу на нубов из крестотрела в /pr, последовательно, блядь, а не галопом по европам, потихоньку начинаешь пилить.сразу скажу - rtti не нужен, boost не нужен (или используй, но exe будет громоздкий и, возможно, хреново скажется на производительности), готовься к велосипедству с нужными контейнерами stl, хотя, может, стандартными обойдешься.выбираешь графический апи, гуглишь уроки (кроме вулкана/дх12 ищется очень быстро в гугле), делаешь пару-тройку уроков и тут решаешь как дальше быть. если чувствуешь что пиздец тяжко процесс идет - переходи на какие-нибудь библиотеки для рендера (огр, урхо и т.п.) сразу скажу это чревато тем, что будешь долго втыкать как завезти алгоритмически сложные фичи типа окклюжен каллинга.сеть - начинай с libcurl (или как там, ссылка есть в крестотреде), сокеты, попутно изучай модель osi и ищи подходящие тебе библиотеки. ресурсов- zlib, fastlz.алсо если решишь делать что-нибудь кроссплатформенное с опенгл например старайся избегать винапи. если только форточки - используй вовсю.
>>256114найс меме)Опу это нахуй не нужно.Короче, ОП, слушай сюда, а не эти красноглазиков. Они тебе такого насоветуют, что за всю свою поганую жизнь нихуя не сделаешь. Сейчас же идешь нахуй качаешь блендер. И все. Блендер это ебаный комбайн, до которого не доросли эти ихние юнити и анреалы. Гуглишь уроки сначала по моделированию текстуры и остальная малафья тебе пока не нужна, потом гуглишь уроки по простейшей анимации, потом уроки по bge, немножко читаешь по питону. И за один вечерь можешь нахуйярить свой собственный моствантед или остальную индипарашу.Прикрепил гифку, эту хуйню можно набросать за час. При этом тебе не нужны никакие иде и огромные сдк.
>>256118лол блять, заебись оно работать будет.
>>256118Ахах блендер. Ну ты лалка)))) Эта параша ни на что не годна, даже для моделирования, т.е. для чего изначально создавалась. ОПу нужно учить LISP. Тогда он сможет делать игры и ему будут давать тяночки, он будет успешен и богат как татрикс.
>>256114С++ - пиздец.мимо начал с него
>>256122а есть другие варианты? по скорости он впереди планеты всей, ну кроме асма. сразу скажу - C# не предлагать ибо все, что на нем сделано, вскрывается на раз-два и требует .net.
>>256128>асм быстрее С++Что еще спизданешь?
>>256121ловите наркомана.
>>256130пруфани-ка, что си быстрее.
>>256128Зачем тебе скорость? Что ты собираешься писать? 3д движок/игра с физикой? Тогда тем более начинай с шарпа и джавы, потому что раз ты тут такие вопросы задаешь тебе еще рано движок писать.Код вскрывается? И что? Я писал года 2-3 на крестах, я знаю о чем говорю. Очень мало простых движков для игр к тому же для крестов, а на джаве и си шарпе все что угодно для любой ситуации.
>>256128>вскрывается на раз-дваДа да, сижу и жду когда, наконец, можно будет спиздить твои гениальные разработки.
>>256139меньше производительность - лучше графон и геймплей, не?насчет декомпиляции и вскрытия - мне было бы обидно, если б я наговнокодил, а кто-то это все потом увидел.и имхо независимость от jre/.net стоят ебли с си.и я согласен, кресты - пиздец, но профиты от них перевешивают недостатки, для меня, по крайней мере.
>>256143Я уже к нему вирус давно запустил и жду идеи и код.
>>256146Нет, не лучше, ты не заметишь на своем уровне на ближайший год-два. Ну того не стоит по крайней мере - пока ты на крестах одну игру осилишь, на джаве уже 4 таких же сделаешь, ничем не уступающие по качеству.Наоборот хорошо если твой говнокод увидят - хоть поймешь что не так и исправишся.Когда ты дойдешь до уровня что способен йобу писать для которой производительность нужна - перекатишся на кресты за несколько дней, а пока ньюфаг юзай джаву.
>>256146>меньше производительность - лучше графон и геймплей, не?БОЛЬШЕ производительность - лучше графон и геймплей, не?слоуфикс
>>256149>перекатишся на кресты за несколько днейвот тут блять загвоздка, потому что ты сам должен понимать что в крестах абсолютно любая хуйня стреляет тебе в ногу при первом использовании и может еще позже выстрелить из-за чего-то неочевидного. как ни печально, лучше сразу научиться терпеть такую боль.
>>256149блин, забыл добавить:если тебе вообще скажут после скрытия, что твой код говно, это, конечно, хорошо, но не говорят же обычно.
>>256151Ничего там не стреляет, нахуй ты пишешь свое аторитетное мнение если сам сказал что 0 в программировании?В любом случае все делается через инкапсулированные классы, поэтому стрелять нечему. Ты можешь и на ассемблере писать, почему нет? Быстро ведь работает.
>>256153где я сказал что я 0, болезный?
>>256152Никто не будет вскрывать, всем лень такой хуйней заниматься, просто бессмысленая трата 2 минут. Если на гитхабе код будет - можно глянуть.Ну и раз не говорят - что плохого?
>>256154Ладно, хорошо, я думал ты оп.Что в крестах стреляет в ногу?
>>256150Не. Если твой тетрис будет выдавать 3000 фпс, он от этого лучше играться не будет.
>>256160Вот именно. Оп очень нескоро сможет запилить такое, на что производительности не будет хватать(предположим меньше 60 фпс).и внезапно если он тоже самое на крестах запилит так же не будет хватать производительности
>>256160Если у просто-тетриса есть 300фпс, можно написать ему дополнительные визуальные эффекты и не вылететь за 30, это же здорово! Или ИИ какой-нибудь, чтобы фигуры подбирал или твой уровень игры оценивал и реплики подавал.
>>256156сижу на студии, stl не стреляет, а вот винапи иногда могут.вообще поначалу стреляет все, если не читаешь книги или документацию, как в моем случае. сейчас уже такое почти не случается, конечно, но бывает иногда.
>>256162Все равно 3000 будет, поверь.
>>256161Даже не в этом дело. Только больной на голову клоун из гд может полагать, что сможет запилить что-то стоящее без сторонних решений. Звуковые движки, физика, специфические алгоритмы, мультиплатформа, вот что будет тормозить игру, а не мифическая медленная работа всего, что не на плюсах.
>>256164>винапиНу блять, какое винапи? Зачем им пользоваться?
>>256155такое может на продажах плохо сказаться, сирсли. кроме этого могут появиться "правильные" версии твоей игры с такими-то червями внутри.
>>256168ну блять, а на винде много хороших альтернатив?
>>256167ну ты и долбоеб. время на вызовы функций через сотни оберток ты не учитываешь, я смотрю? кроме этого среды сами по себе едят немного оперативы, некритично, да, но может выйти боком в какой-то момент.
>>256170кстати, лол, забыл, какие нахуй продажи, вскрытую же украдут первым делом.
>>256173Я много чего не учитываю, но суть остается та же. Как не крути а высоконагруженных или серверных приложений тут, в гд, никто не пишет. А для мобилкоговна и прочих аврор хватает с головой и джавы, и даже яваскрипта иногда.
>>256183>высоконагруженныхПишут, еще как. На блюпринтах.
>>256165Не-а. Ну да, кое-кто просто любит выдумывать ресурсоемкие алгоритмы и криворук, язык не виноват
>>256188Еще одна вещь, которой я никак не пойму. Блюпринты же просто премейд функции, компилируемые, как и все остальное. Или я где то не так понял?
>>256188ты пишешь сервер на уе?
>>256189Зачем этому кому-то плюсы, если всю их "производительность" он сводит на нет своей криворукостью и ресурсоемкими алгоритмами.
>>256171Всмысле? Чем qt и прочее не устраивает, где всё уже за тебя сделано?
попробуй освоить 2d и 3d графические редакторы для начала и сконвертируй какую-либо херню на открытый движек
>>256193не видел серьезной необходимости в qt никогда. многие вещи, выделение памяти например, ты никак не обойдешь, все равно в итоге будет винапи.
>>256198Так и надо, а то он видите ли свой движок хочет(иначе зачем ему кресты?).
>>256200Ничего не будет, оно полностью инкапсулировано, с выделением памяти проблем не должно быть скорее всего(смотря насколько серьёзная программа).Как не видел необходимости? Что лучше - писать шизофреническую функциональную парашу(так как винапи функциональщина) или определить полтора метода в классе?
>>256201эт был не я
>>256203Зачем тогда кресты? Освой любой нормальный язык(не С++, я выше тебе уже писал что и почему) и бери готовый движок. Ты в любом случае ничего не потеряешь, так как на разных языках придётся одному и тому же учиться по сути.
>>256202у тебя эти полтора метода сами вызовут винапи. например в студии malloc на самом деле обертка к HeapAlloc, и все в таком духе. мне как-то похуй, функциональщина или нет, зачем вызывать через три прокладки то, что можно вызвать напрямую? ради красоты кода? хм, ну ок, тебе, может, и подойдет, меня не очень сильно парит.
>>256201да, так его, он же должен жрать юнитиговно с вами-уебками.
>>256211Ну да вызовут. и много что ещё вызовут. И чё? И сами всё освободят когда надо будет. Мне не надо об этом думать даже.Ещё интересно как ты гуи на винапи будешь писать - на qt нормальный понятный код, а на чистом виапи невнятная параша(или же написание своих оберток. ой, подождите, так есть же qt!).
>>256212Лучше жрать говно с юнитиуёбками чем красный треугольник двигать.
>>256215вызываю самописные обработчики событий из основного windowproc, если кода мало, прямо внутри пишу. создание контролов - createwindow. как-то так, брат жив, зависимость есть
>>256216я смотрю ты охуенно терпелив.
>>256128> по скоростиА что ты такого конкретного CPU-intensive собрался считать в одно рыло?Алсо, памятью-то не течь научился?>>256132Чистый С (без плюсов) в абсолютном большинстве случаев будет быстрее.Хотя бы потому, что в оптимизации те люди, что писали компилятор, понимают значительно больше тебя.Хотя в тривиальных случаях типа 2+2, да, можно победить.>>256146> лучше графонНет. Графен считается на GPU.> и геймплейСейчас не 98-й.Плохо, конечно, когда игра тормозит, но выбранный язык на богатство геймплея влияет в абсолютном большинстве случаев чуть менее, чем никак.>>256173Premature optimization is akin to premature ejaculation.>>256193Ты ещё tcl/tk предложи.Тоже кроссплатформа.
>>256223>Алсо, памятью-то не течь научился?Научился, не течет.>Чистый С (без плюсов) в абсолютном большинстве случаев будет быстрее.базара нет, конечно быстрее. но сложно вот так взять и отказаться от классов, поэтому сижу с крестами.>Нет. Графен считается на GPU.а хранить текстурки и прочий шлак где? нужен хоть какой-то свой менеджер памяти.>Сейчас не 98-й.тут не понял. хочешь сказать, все уже изобрели?>Premature optimization is akin to premature ejaculation.согласен, но не об оптимизации речь, а о выборе языка.>Ты ещё tcl/tk предложи.>Тоже кроссплатформа.удваиваю
>>256223>Плохо, конечно, когда игра тормозит, но выбранный язык на богатство геймплея влияет в абсолютном большинстве случаев чуть менее, чем никак.а на качество влияет, пусть и опосредованно.>>256223-кун
>>256239Undertale сделан на ёбаном гейммейкере.>>256232>базара нет, конечно быстрее. но сложно вот так взять и отказаться от классов, поэтому сижу с крестами.От того что вместо shit->poop(mom) ты будешь вызывать shit_poop(shit, mom) ООП никуда не денется со всеми своими проблемами.
>>256272>Undertaleпосмотрел описание и скрины, такое-то говно - проникнуться им смогут только очень терпеливые люди. графон пиздец, бои тоже.>От того что вместо shit->poop(mom) ты будешь вызывать shit_poop(shit, mom) ООП никуда не денется со всеми своими проблемами.как-то все равно проще с ооп.
>>256930Undertale успел получить пачку "игр года" и охуенно продастся. РПГ на голову превосходящая вообще все включая первый-второй Фоллач вместе.А с ООП проще только поначалу, пока ты не добрался до сложных вещей. Когда базовый класс разрастется во всеумеющего монстрилу - тогда поймёшь.
>>255992 (OP)Как варик, посмотри в сторону Unity, там всё на C# и язык сам по себе не сложный и понятный.
>>256128Майл.ру не помешало, сделать своровать проэкт у supercell Royal Clash.Всем может быть интересно что у тебя под капотом, но только посмотреть. Вскрывается все.Особенно если понять логику работы программы – не составит труда её переписать!Что за чушь?
>>256932Когда базовый класс разрастется во всеумеющего монстрилу--- а на кой ляд так делать?
>>256932Я тогда не понимаю, почему все юзают ООП, возьмите тот-же фреймворки для PHP. И программ под абсолютно всё. Я не думаю что наши с Вами браузеры не на ООП, я не думаю что наши с Вами любимые игры не на ООП, я не думаю что JetBrains пишут программы не на ООП (А они пишут на яве :)).Это мне напоминает, как один умник писал на хабре, что 1С лучше других языков и БД там лучше чем МуСКЛ
>>256951Нинакой. Но ты всё равно так сделаешь по мере того как будешь менять игру.>>256961ООП привычно тьме людей. Но в играх живёт крайне хуёво. Зря что ли геймдев придумал сам для себя Entity-Component-System. Почитай и посмотри как и почему от ООП к этому пришли.
>>257000Да, может быть. Но понимаешь в чем проблема, сейчас 2016 год. Я не настолько крутой программист что бы спорить о гейм деве, но я думаю последние АБСОЛЮТНО все игры юзают ооп, тот же лол юзает ооп для разных вещей.http://forums.na.leagueoflegends.com/board/showthread.php?t=16318
Завтра ищешь в интернете книжку Programming in Lua. Похуй если ничего не поймешь. Затем идешь на love2d.org и изучаешь фреймворк от корки до корки. Когда напишешь свой первый понг, по пути изучив box2D. Отсос хиккующих выблядков / просто неудачников типа Unity/GM-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие игры, что любой Кирилл будет течь при одном упоминании твоей зарплаты.
>>257043love2d никуда нормаьно не портируется. в жопу.
>>257044В последней версии есть поддержка iOS/Android, маня.
>>257048ага, и html5.а ты видел демки? у них марио тормозит.с pygame та же беда.
>>257054На pygame не тормозит. Хотя если портировать, подозреваю, что начнет.
>>257054Так хтмл5 порт не оффициальный™Хотя, даже если и не порт, Лове не для скорости а для легкой разработки.
>>257062kivy
>>257092Спасибо, посмотрю (я знал только про вот этот https://habrahabr.ru/post/119831/ порт под Андроид)
>>256932да у меня уже есть один класс-мутант с реализацией на 1000+ строк. тяжко, да. но все равно как-то... органичнее, что ли, ощущается вызов объект-метод, чем хуйпоймиоткудаметод (объект, объект).насчет undertale я вообще в ахуе. судя по описанию на вики, сюжет невыдающийся, графон - рогалик. а чего-то не понимаю или мир поехал?
>>256961Раз уж тут обсуждают ООП, нубский вопрос, с которым лень идти в /pr:Есть, например, координаты двух точек A и B, из них надо получить угол α, причем применяется это в самых разных частях кода. В процедурной парадигме я где-то пишу для этого функцию, а как такое по-хорошему делается в ООП?Описать класс "две точки" и в нем метод "найти угол"?
>>257141Там ситуативность поведения персонажей. Лампово довольно.
>>257188Описать класс ГЕОМЕТРИЯ, сделать в нём метод "найти угол" и передавать две точки (Vector2)
>>257192Спасибо.
>>257192а зачем тебе это вообще в ооп заворачивать? либо прилепляй к классам, что есть, либо пили просто набор функций для подобных расчетов. на ооп все равно такая фигня плохоя ляжет.
>>257322Потому что джава.
>>257323тогда соболезную. пиши класс геометрия как советовали.