Сап двач, хочу стать программистом (игр), но абсолютно не понимаю с чего начинать. Дайте хоть какой нибудь годный совет
>>785676 (OP)сьеби в /gd
>>785676 (OP)Ты слишком тупой, чтобы стать хотя бы программистом.
>>785676 (OP)Поиграй в майнкрафт.
>>785676 (OP)Учи язык программирования C и OpenGL API.
Unity обмажся.
>>785676 (OP)Так, мудила, заходишь сюда https://github.com/minetest/minetest, мудила, это аналог майнкрафта с открытым исходным кодом, смотришь ишьюсы и ебашишь пулл реквесты, понятно, мудила?
Учи unity3d, самый популярный движок нынче, в нем с# юзается для скриптов
>>785676 (OP)На Unity, C++ и прочей хуйне уже давно никто не разрабатывает игры. Учи Haskell, будущее геймдева за ним.
пиздуй устанавливать unreal engine и дрочи плюсы
>>785676 (OP)Попробуй это.http://phaser.io/
>>785908фу блядь, что это
>>785787На unity делаются серьезные игры.
Unity неудачный вариант для новичка. Движок сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток макак. Сейчас каждый школьник учит юнити, а потом не знает что делать с ним. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Движков для игр куча, на тобой вкус. Если никогда не занимался программированием, то начинать лучше всего с Haskell - после него другие языки учатся быстрее. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
>>786064>Haskell Ага потолсти тутhttps://www.upwork.com/o/jobs/browse/skill/haskell/
>>786064Чё за херню ты несешь? Вот игра написанная на Unity http://empyriongame.com/ Успешно продается в стиме, куча фанатов, крайне положительные оценки. >>Сейчас каждый школьник учит юнити, а потом не знает что делать с ним. На то они и школьники. Нашёл кого в пример ставить.
>>786078лол
>>786107We also upgraded the Game Engine itself and moved to Unity 5.3, which we hope will lead to a more stable server environment and will resolve some persisting kinks and quirks, that were a direct result of the older Unity version.
>>785676 (OP)Если не знаешь базисы программирования, то начни с них. Изучи хорошо какой-нибудь язык. Я бы рекомендовал джаваскрипт, потому что его изучить легче всего.Затем изучи принципы игрового цикла и взаимодействия игры с игроком, вывод кадра со всей игровой информацией, считыванние данных с устройства ввода.Напиши крестики нолики или какую-то игру из тетриса.Потому можешь перекатываться на какие-то более сложные игры. Но помни, что чем сложнее игра, тем больше она будет требовать использования сложных алгоритмов и типов данных, так что их тоже надо будет знать, как и математику.Книг на русском языке я по тематике не встречал. Так что просто вбей в рутрекере game в категории "программирование", там много вывалится.
Если не умеешь кодить совсем, то берешь какой-нибудь простой язык, для которого есть популярные движки/фреймворки, например C# или Java, и учишься программировать на нем. Затем пишешь пару клонов простеньких игр: понга, тетриса, змейки, марио и т.д. Это научит тебя основным шаблонам и принципам, типа игрового цикла. После чего берешь движок/фреймворк/конструктор(Unity, LibGDX) и пилишь свою игру мечты.
Программисты игр чаще всего нахуй не нужны, несмотря на всю увлекательность и сложность процесса. Но если решил - дрочи C++. Ну или уже раст, что есть тот же C++, только без тонн неявного говна которое нужно знать. На хаскеле делать можно, но ты неасилишь, они там придумали себе всякой высшей алгебры и носятся с ней аки чёрт с писаной торбой, на хаскеле очень сложно писать оптимизированный код, без чего в геймдеве делать нехуй.Есть ещё жава, шарп, это такой C++ для детей. В принципе и на них можно делать, и есть куча успешных игр, но это не совсем тру, зато дешевле.Есть жаваскрипт, на нём можно делать браузерки вместо флеша.Есть мобильный сектор, там жаба/свифт/С++.Но есть такой момент: программистов и движкописателей как грязи. А тех кто собственно создаёт сам контент, причём делает это хорошо и быстро, с гулькин хуй. Это всевозможные 3дмаксеры, аниматоры, текстурщики, mocap, 3д скан, скульптинг, мапдизайн. Они почти все в дополнение ещё и хорошие художники. Либо можно сесть на звуково-музыкальный стул, занятие часто тоже не из дешёвых, но хороших композеров тоже на пальцах одной руки и все их знают. И вот это всё и есть 95% реальной работы, реального геймдева. А программировать в играх, ну хуй знает, да всё уже напрограммировано сотню раз, ты просто будешь лет 5 минимум сидеть и повторять то что уже кем-то было сделано, чтобы стать почти как кармак.
>>786489>почти как кармакА что надо сделать, чтобы стать почти как Ричард Гэрриот?
>>786136> простеньких игр> мариоЛел. Ты бы пробовал писать клон с точной эмуляцией физики, лалка. Марио у него уровня тетриса или змейки, вообще охуеть.Платформеры самые сложные из 2D игр, если не считать RTS.
>>786489Но без дизайнера программист создать игру может (используя шейдеры с процедурной генерацией), а вот дизайнер без программиста - нет.
>>786721>клон с точной эмуляцией физикиКому это надо?>Марио у него уровня тетриса или змейкиОн простой, по сравнению с более сложными платформерами.>Платформеры самые сложные из 2D игр, если не считать RTS.Ясно)))
>>786738> Кому это надо?Игрокам, иначе в твое говно с застревающим в стенах/виснущим в воздухе/падающим с края пропасти и т.д. героем играть никто не будет.Хорошую физику в платформере сделать очень непросто, это тебе не змейки писать.> Он простой, по сравнению с более сложными платформерами.Ты его пробовал писать, кукаретик?
>>786751>застревающим в стенах/виснущим в воздухе/падающим с края пропастиТеперь точная эмуляция физики это у нас обнаружение коллизий и гравитация, которые является основой основ для платформера? Ясно.)))>Ты его пробовал писать, кукаретик?Конечно, иначе бы так не говорил.
>>786723Ага. И много игр на процедурной генерации/почти без контента выстрелило в последнее время? Шахтомесие? Ок. Крепость дварфов? Ну хз. Безликих рогаликов наделано миллионы, но в них никто не играет же.
>>787641Так речь шла не о выстрелит/не выстрелит, а вообще возможно ли создать игру без художника. Ответ - да. А вот сможет ли художник без программиста что-либо сделать?
На самомо деле, платформеры, конечно, не самый сложный жанр (а простенький платформер - вообще самый лёгкий, наверное), но он сложнее, чем кажется на первый взгляд.>>787662>А вот сможет ли художник без программиста что-либо сделать? Конечно. Конструкторов сейчас - жопой ешь. Скрипты и код можно невозбранно пиздить со стековерфловов, даже не понимая, что они делают. Если совсем не работает, то можно спросить на форуме, где код подправят прямо за тебя. Юнити-тред в /гд не даст соврать.
>>787679>>Конструкторов сейчас - жопой ешьТы рассуждаешь как программист. Во всех конструкторах требуются небольшие навыки программиста и мышление программиста. Художник, когда видит это, хватается за голову и даже не пытается. Дизайнеры они такие, их становится плохо даже от html кода.
Короче посоны, художники это очень годно. Пусть ОП-Кирилл хотя бы посмотрит в эту сторону, если он так болеет играми.
Чтобы делать игры сложнее тетриса/змейки нужны текстуры, модели, и.т.д, а мне както самому лень пердолится с моделями, поэтому я послал геймдев нахуй, игоры не нужны, не играю с 13 лет
>>787904Из пердолева с моделями теоретически можно вырасти в спецэффектера для кинца. А из движкописателя ну хуй знает во что можно вырасти.
>>786078Проиграл.
Платиновый тред.
>>787875>становится плохо даже от html кодаСправедливости ради, даже программистам становится плохо от хтмл-дрисни.
>>788059дизигинеров в ужас приводит print x=5
РЕШИЛ СТАТЬ ПРОГРАММИСТОМ С ЧЕГО НАЧАТЬ??ПРОГРАММИСТОМ ПРОГРАММИСТОМЗАРПЛАТА 100КДУЮ В ПУКАН МЕНЕДЖЕРУ АЙТИСМОТРИШ НА ЗЕЛЁНЫЕ ЦИФЕРКИБИГУТ НАБИГАЮТ ЦИФЕРКИВОТ И ВСЯ РАБОТАДОТКА КАЭСОЧКА МАТЕМАТИКА НЕ НУЖНАХОЧУ ХОРОШО УСТРОИТЬСЯПРОДАТЬ ЖОПУ В РАБСТВО БОДИШОП ПОК ПОКЛИНУКС SH BASH WINDOWZ POWERSHELLДИПЛОМЫ ПОВЫШЕНИЯ КВАЛИФИКАЦИИ ТЫРПРАЙЗПОСОНЫ Я ИЗУЧИЛ ДЖАВА ПО КНИЖКЕ ШИЛДТАЧТО ДЕЛАТЬ ДАЛЬШЕДЕЛЕГАТЫ МОНАДЫ МОНОИДЫ АССОЦИАТИВНЫЕ КЛАСТЕРЫ НЕ НУЖНЫЗАЧЕМ ЕБАТЬСЯ С НМИ ЛУЧШЕ ПИСАТЬ ПРОЦЕДУРНОPROGRAM BIDLOKODВЕЗДЕ РАЗВАЛ ГРЯЗЬ И ГОВНОМЭЙНФРЕЙМЫ HLASM Я СЛИШКОМ СТАР ДЛЯ ЭТОГО ДЕРЬМАИНДУСЫ ОДЕСК РУБИРЕЛЬСЫ КОКОКО ПОКПОК МЕЛКОБУКВЕННЫЙ МОЧЕР КОКОКО
>>788112байтослесарь бомбанул
>>787875Тысячи школьников и просто гуманитариев делают свои игрушки на конструктах, гамаках и юнити. Есть визуальное программирование (с простыми туториалами), типа скретча, есть даже блитзбейсик, который те же дизайнеры кое-как осваивают, есть фпскреэйтор и прочие, в которых можно сделать игру, не написав ни одной строчки кода.At this time you have no excuse if you want to make games but do not actually making them. Или как-то так.
>>788281Зайди на любой конструктор и почитай комментарии. Упадешь с них.
>>785676 (OP)Начни с программирования стиральных машинок.
>>785676 (OP)Змейку напиши. Самая простая игра.
>>785676 (OP)начни с рисования
>>788610Если опыта программирования вообще нет, то он даже ее не сможет написать, ибо это все-таки сложный проект для новичка
>>791627Надо помочь ему, написав свою первую игру и рассказав пошагово, как делал.
Так, пишем игру. Для этого нужно поставить цель. Что за игра, как она примерно выглядит и ведет себя.Пишем змейку. Это игра, где змея из клеток одного цвета, движется по клеточному полю другого цвета. Она может поворачивать мордой в одну из трех свободных сторон. Если она съедает кусочек пищи то увеличивается в длину. Если она натыкается на стену или на саму себя, то погибает. Кусочки пищи рандомно появляются на поле, как только змея съесть прошлый кусочек.Чтоб писать, нужно выбрать подходящий язык. Для змейки подойдет любой язык, поэтому можно писать на самом легком среди самых распространенных и наглядных.Змейка легкая игра, поэтому алгоритм придумаем по ходу.
>>791659Так, раз никто не послал в /gd или еще куда подальше, то можно начинать.Первое что делаем, это создаем холст, на котором будем рисовать и определяем его размеры. 400 на 400 вполне хватит.https://jsfiddle.net/hh4g4c42/Теперь заливаем холст белым.https://jsfiddle.net/hh4g4c42/1/Далее запишем тело змея. Первое значение массива - направление движения (0-влево, 1-вверх, 2-вправо, 3-вниз), остальные попарно - координаты головы и хвостов. И еще запишем координаты еды.https://jsfiddle.net/hh4g4c42/2/Теперь нарисуем змейку и еду.https://jsfiddle.net/hh4g4c42/3/Далее будем придумывать физику.
Теперь пишем функцию, которая отвечает практически за всю игру, то есть за просчет событий и рисование в течение одного кадра. В ней пишем определение направления движения и перемещение морды змейки в эту сторону на одну клетку.https://jsfiddle.net/hh4g4c42/4/Вот теперь можно нарисовать голову на новом месте и удалить крайнюю клетку хвостика.https://jsfiddle.net/hh4g4c42/5/Если змейка будет двигаться, то уйдет за пределы экрана, поэтому добавим телепорт на противоположную стенку.https://jsfiddle.net/hh4g4c42/6/Пишем счетчик, который будет запускать функцию раз в секунду. Сталкиваемся с кучей ошибок. Три часа занимаемся отладкой. Ура, змейка движется!https://jsfiddle.net/hh4g4c42/7/Далее надо придумать управление.
Добавляем счетчик, слушающий нажатия клавиатуры. Назначаем клавиши со стрелками на повороты змейки.https://jsfiddle.net/hh4g4c42/8/Змея не может повернуть назад, поэтому добавляем условия, препятствующие этому.https://jsfiddle.net/hh4g4c42/9/Всё я устал. Надо отдохнуть.
>>787679Платформеры - это пиздец из-за физического движка. Марио в 1005000 раз сложнее змейки, тетриса или любой другой аркады. Легкими они могут быть только для геймеров, которые их никогда не писали. Это фактически аналог шутеров в 2D.
Так, продолжаем. Все равно можно ухитриться повернуть назад, поэтому пишем костыль, вынеся направление в глобальную переменную. Ускоряем змеюку в четыре раза.https://jsfiddle.net/hh4g4c42/10/Если голова съела еду, то не надо удалять хвостик. Пишем для этого проверку.https://jsfiddle.net/hh4g4c42/11/Нужна новая еда. Ее нужно положить в клетку не занятую рептилией. Поэтому пишем ужасные циклы проверок попала ли новая еда куда нужно или нет. Если попала, то рисуем ее, если нет, то пытаемся по новой пока не попадем мимо змеи.https://jsfiddle.net/hh4g4c42/12/
Если змея ест себя, то нужно остановить игру.https://jsfiddle.net/hh4g4c42/13/Если змея ест стену, то нужно остановить игру.https://jsfiddle.net/hh4g4c42/14/
>>785676 (OP)> с чего начинатьАлександров П.С. Лекции по аналитической геометрииЛЛ, том - 1,6,7
Змейка получилась большая, поэтому чуть уменьшим ее. Прибавим немного скорости. Всё, на этом игроделание закончено.https://jsfiddle.net/hh4g4c42/15/
>>791973Твоб игра забагована. Не знаю, как так могло случиться, но с определенного момента новая еда перестала генериться. Змейка бегала по пустому полю. Сасай.
>>791975Это же надо было так ошибиться. Починил.https://jsfiddle.net/hh4g4c42/16/
Неужели на зекаче годная тема, котаны?Вот мой вариант змейки: http://pastebin.com/20Kw7GEA
>>791992Скорость игры (константа GAME_SPEED) задается в миллисекундах, 1000 - минимальная.Управление: стрелки - движение, ESC - конец игры
>>791924Сложнейшим жанром они могут быть лишь для тех, кто никогда ни стратегий ни рпг ни битэмапов не писал. Физический движок - хуйня, если делать коллизии точка-прямоугольник, как у дидов, а не ААББ.
>>792008Да ты и прыжок как в Марио не сделаешь.
>>791992Это твоя первая игрушка?
>>786078Хватит с тролло-пастой разговаривать.
>>791924Ну да, платформеры действительно будут посложней змеек, но там всё довольно тривиально.>>792010Коллизии игрока делаются элементарно - формулу столкновения двух прямоугольников или додумай сам, или найди в нетике. Движение - делаешь переменные скорости VX и VY и приплюсовываешь их к положению игрока на экране каждый тик, при этом не забывая уменьшать их на некую D (торможение) и G (гравитацию). Каждый фрейм проходишь по массиву блоков/платформ и если происходит столкновение игрока и пола - Y = Y - VY, VY = 0. Если стены - X = X - VX, VX = 0.Элементарно же, блядь.
>>792667Если бегает по полу, то в этот режим гравитацию нужно отключить, а то будет дрожание.
>>792695Просто проверять до отрисовки фрейма.
>>791986Добавил цвета и чуть подправил очередность рисования.https://jsfiddle.net/hh4g4c42/17/Теперь следующая задача - научить змею играть самой и не ошибаться. Кто сможет осилить такое?
>>794732Пока сделал так. Змея, наткнувшись на препятствие, поворачивает наугад.https://jsfiddle.net/5ujbLhu9/
>>792667Попизди мне тут еще.Обзор физики в играх Sonic:https://habrahabr.ru/post/276669/https://habrahabr.ru/post/276849/https://habrahabr.ru/post/278373/https://habrahabr.ru/post/305312/> формулу столкновения двух прямоугольников> переменные скорости VX и VY и приплюсовываешь их к положению игрока на экране каждый тикТы с Battle City или Arkanoid жанр платформеров не перепутал? Блин, ну попробуй написать хотя бы первый уровень Марио без врагов и бонусов, а потом уже рассказывать, как это легко. Не легко ни хуя, там полно нюансов.
>>792695Там и приращение нужно делать не на постоянный вектор, а по гиперболе:https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%8FШкольник, не знающий законов Ньютона, рассуждает о физике падающего (прыгающего) тела, просто лол. Попробовал бы для начала хотя бы Worms/Артиллерию смоделировать.
Да нету в перемещении ничего сложного, всё именно так, как он и написал - прибавляй@отключай. Коллизии сложные - с ними ты заебёшься делать так, чтобы всё работало и не застревало, и чтобы персонаж скользил вниз по стенам. Но. Но можно просто сделать 6 точек (или больше, в зависимости от наличия фич, типа лестниц) по периметру персонажа, и вся проблема уходит - теперь коллизии получаются точка-ААББ без граничных значений, и ты всегда знаешь, что делать с результатом - это очень просто, хоть и устарело.Соник - хуёвый пример, потому что у него одна из сложнейших физик в платформерах вообще.Алсо, никто не запрещает тебе взять box2d, chipmunk, или что там ещё есть и отдать всё физику ему (получив another generic physics platformer №239456235).
>>786489>Есть жаваскрипт, на нём можно делать браузерки вместо флеша.И как? отдавая код на всеобщее? Прикольненько ты пошутил :)))))))))))))))))
>>796526О, смотрите, признанный специалист боится, что его шедевры украдут конкуренты.
>>796577Ладно, ну а если серьезно? Вот хочу я написать простую игрулю. Допустим я веб-быдло, и знаю только js. Останавливает меня именно то, что все кто захотят будут копаться в моем коде, а при малейшей успешности и спиздят всё с потрахами.
>>796581>все кто захотят будут копаться в моем коде, а при малейшей успешности и спиздят всё с потрахамиРусская цивилизация as is.
>>796581Почему ты не хочешь поделиться успешным кодом с человечеством?
>>796583При чем тут это? Ты разделом не ошибся, мань?>>796631Может и хочу, но пусть это будет когда я захочу, а не ЛЮБОЙ КТО ЗАХОЧЕТ И КОГДА ЗАХОЧЕТ ВЫВОРАЧИВАЕТ МОЮ РАБОТУ НА ИЗНАНКУ и ковыряет как угодно, а в случае маломальской успешности, то тут же пиздит всё и выкидывает на рынок копию.
>>785676 (OP)Дуй во флэш.
>>800045Но ведь флеш мертв.
>>785676 (OP)Значит так. Сначала задрачиваешь весь MSDN, потом поговорим.
>>801306А начем всякая веселая параша впараше бегает?
Все хуйня, сначала подписываешься в твиттере на всяких таких чуваковhttps://twitter.com/idSoftwareTiagohttps://twitter.com/mike_actonhttps://twitter.com/aras_pДальше сам разберешься с чего тебе начать
>>785676 (OP)Если хочешь сделать именно свою игру, не надо сходу пытаться клепать очередную 2д индипарашу. Сначала устройся на работу, (по началу не обязательно на геймдев) и работай интенсивно. И только когда дойдёшь до должности системного архитектора, можешь начинать всерьёз думать о своей собственной игре, там и деньги будут и связи.
>>788070>>788070Меня это тоже в ужас приводит