Всем привет. На просторах интернета не раз встречаю негатив по поводу своих движков. Там, где тематическая группа по движкам, одобряют разработку, а в некоторых местах, да и на игровых форумах бывает люди ругаются и доказывают свою точку зрения.
Меня заинтересовало это, ведь я считаю, что делать свой движок увлекательно и много чему учит, а потом ещё если на нём и игру свою сделать, то это верх таланта. Многие говорят, что разрабатывая движок ты приблизишься к 2008 году, но стоит ли теперь вообще бросать это дело. Такое впечатление, будто такие люди мыслят как проигравшие, что мол нам уже никогда не угнаться за современными движками и используют их и всё больше в него вкладываются. Хотя мне так кажется, что это мысль проигравшего, смотря с какой стороны посмотреть, ведь человек может просто мыслить рационально и считать, что надо использовать своё время эффективно и не тратить на ненужные вещи.
Я поддерживаю две стороны, потому что считаю, что человек мыслит по обстоятельствам. Кому интересно делать движок и позволяют обстоятельства, тот будет им заниматься. Если у человека ограничено по времени и нет нужных знаний из области математики и он хочет просто делать игры, то тут конечно выбирать нужно движок. Остальное можно по туториалам научиться как работать с движком. Особенно нравиться как и тех и тех мотивируют разные цели.
Хоть я и поддерживаю обе стороны и не считаю, что надо идти против другого человека лишь за то, что у него другие мечты, я склонен полагать, что многие не видят эту грань психологии и склоняют человека к поступкам, которые им кажутся более правильными. Ну ладно. Каждый мыслит по разному.
Тем не менее, я бы хотел посмотреть работы, которые были сделаны на своих движках. Какие-нибудь игры. Ведь неужели всё так плохо в этой индустрии или просто я читал диалоги не там, где надо. Может всё-таки на своих движках, люди, которые способны их делать, делают классные игры? Я бы хотел вдохновиться вашими работами, потому как сам хочу развиваться не только в разработке движков, но и в разработке игр. Обстоятельства позволяют этим заниматься.
Мне понравился документальный фильм "From Bedrooms to Billions: The Playstation Revolution". Я его несколько раз пересмотрел уже. Так вдохновляет! Особенно, когда люди столкнулись впервые с 3d и начали придумывать как оптимизировать процесс, чтобы игра работала на первой playstation. А потом когда на второй playstation появились векторные процессоры, то надо было упарываться в ассемблер. До чего же круто было! Блин, жаль что я не застал то время за разработкой.
Мне очень нравиться делать движок. Хоть я долгое время им не занимался, но всё же опять взялся. Читая книги по компьютерной графике и выписывая формулы из книг в движок приносит мне удовольствие. Мне кажется даже, что я нашел алгоритм бросания луча, который мне не попадался в интернете и он довольно простой.
Чтоб вы понимали, у меня нет даже среднего образования и я всё же хочу получить знания по высшей математике и разработка движка дает мне то, что я искал, я могу манипулировать векторами и больше понимать их природу.
Приложу код на всякий случай, может вы знаете такой алгоритм бросания луча. Я потратил на него 5 дней, чтобы всё расчитать. Вести расчёты мне очень нравилось и я был в состоянии потока всё это время. В ray->pos находится начальная точка луча. В алгоритмах и формулах приводится пример, где надо origins луча брать, вот pos это и есть настоящий origins. z_far надо брать не меньше 100, а лучше наверное 1000, тогда результат будет более точным.
void make_ray_from_cursor (struct game *game, struct camera *cam, struct ray *ray, int x, int y, float z_far) { float v0[3]; float v1[3]; float v2[3]; float v3[3]; float d0[3]; float d1[3]; int xx = x - game->screen->w / 2; int yy = game->screen->h / 2 - y; float aspect = game->screen->aspect; float h = game->screen->fw * 0.5f; float v = game->screen->fh * 0.5f; float null_vector[3] = {0.f, 0.f, 0.f}; float kh = ( aspect + 1.f) / ( 1.f + aspect / 2.f); float near_x = ( float) xx / ( h / kh); float near_y = ( float) yy / ( v * ( aspect / kh)); float far_x = near_x / ( 2.f * kh); float far_y = near_y / 2.f; float x0 = ( ( far_x * ( ( z_far + 1.f) * kh))); float y0 = ( ( far_y * ( ( z_far + 1.f)))); vec3_mul_scalar ( v0, cam->front, z_far); vec3_mul_scalar ( v1, cam->right, x0); vec3_add ( v2, v0, v1); vec3_mul_scalar ( v1, cam->real_up, y0); vec3_sub ( v0, v2, v1); vec3_copy ( ray->dir, v0); vec3_mul_scalar ( v1, cam->right, near_x); vec3_mul_scalar ( v2, cam->real_up, near_y); vec3_add ( v3, cam->front, v1); vec3_sub ( v0, v3, v2); vec3_copy ( ray->origin, v0); float e0[3]; vec3_add ( e0, cam->pos, v0); vec3_copy ( ray->pos, e0); opengl_ray_setup ( ray); translate ( ray->transform, cam->pos[0], cam->pos[1], cam->pos[2]); float view[16]; mat4x4_mul ( view, ray->transform, cam->view); mat4x4_mul ( ray->model, view, ray->projection); }
Тейк нульпоста непонятен. Начинается с просьбы показать игры на своих движках, а заканчивается радостью изобретения велосипеда.
Недавно был конкурс пошаговых стратегий, почти все игры были на своих движках, можешь смотреть, вдохновляться: https://gamedev.ru/projects/forum/?id=288372
спасибо.
что делать свой движок увлекательно и много чему учит, а потом ещё если на нём и игру свою сделать, то это верх таланта. Многие говорят
Правильно мыслишь.
не стоит писать движки
а завтра скажут не надо ходить в школу и тратить 10 лет. А потом все будут мяукать.
свой движок
почему так поздно об этом задумался ? Почему тему не создал ещё в 2017 году ?
8 лет бы движок пилил. Может даже и игру бы сделал.
Мне нравиться как ты пишешь, с ноткой веселья.
Я движок начал писать давно, но были моменты, когда я не понимал как его развивать. Были сложности с математикой и поэтому решение было делать в 2d. Сейчас вроде стало лучше и я развиваю уже 3d часть.
Так как я 12 лет в разработке софта, то мне надоело делать простые задачи. От этого завыть можно. Не понимаю как веб разработчики могут годами легкие деньги рубить и не уставать от однотипной работы. Хотя может деньги стимулируют. Я бы кажется не смог на такой работе так долго работать. А вот что посложней, это я хочу делать. Движок это отличный челлендж.
Ну вот смотри: сегодня ты задаешься вопросом, надо ли в принципе разрабатывать движок и пускаться сочинять собственные велосипеды, а завтра твой движок лежит в основе какой-нибудь прикольной игрушки. Оглядываясь назад, могу вообще сказать, что в 90-ых велосипедили вообще все, начиная от Кармака и заканчивая Тимом Суини. Сегодня мы видим абсолютно крутейшие игры и даже целые киноленты, которые берут за основу эти движки. Так что это занятие не только увлекательное и интересное, но еще и, в теории, полезное для общества. Оно же заставляет тебя постоянно заниматься математикой, больше интересоваться окружающим миром, подмечая различные детали, видеть шире, узнавать больше, и так далее. Так ты и сам не заметишь, как разработка движка поможет тебе, и никогда не знаешь, какую пользу ты сам сможешь вынести для себя из этого начинания.
Если ты работаешь один или в очень небольшой группе и пилишь движок, то ты не делаешь игру, у тебя просто сил не хватит и на то, и на другое.
С другой стороны, если ты сам хотя бы не попытался сделать доморощенный движок, скорее всего не сможешь грамотно пользоваться и чужими.
xverizex
> что делать свой движок увлекательно и много чему учит, а потом ещё если на нём и игру свою сделать, то это верх таланта.
А шо не свою операционную систему?
Нравится пейсать движки - пиши. Не нравится - не пиши. Что ж вам так важно чужое мнение-то вечно.
Но если ты хочешь делать игры, то может это не лучшая затея. Вот у нас есть тут особо одаренный, который уже много лет пишет свой движок, а ни одной игры не родил.
Да и движка у него нет, так, набор кусков. Не хватает ему таланта ни на движок, ни на игру.
Increaser
> Но если ты хочешь делать игры, то может это не лучшая затея. Вот у нас есть тут особо одаренный, который уже много лет пишет свой движок, а ни одной игры не родил.
Не всегда те, кто создают инструменты для строительства, должны строить дома. Иногда лучше сделать хороший набор инструментов и дать его тем, кто может эти самые дома построить. Правда, для этого еще неплохо бы документацию написать толковую.
Increaser забавно то, что ты на Юнити тоже ничего играбельного и законченного не осилил с 2008 года :)
Поучавствовали с товарищем в Джеме от Unity
Вы даже в двоем не вывозите на Юнити :)
https://gamedev.ru/projects/forum/?id=292731&page=2&m=6115258#m21
ronniko
> забавно то, что ты на Юнити тоже ничего играбельного и законченного не осилил с 2008 года :)
Забавно, что ты выдаешь выдуманные тобой вещи за факты. Это какой-то диагноз?
ronniko
> Вы даже в двоем не вывозите на Юнити :)
Это сделанно за два дня, а что можно на твоем движке создать за два дня? Ах да, ничего.
Лис®©™
> Не всегда те, кто создают инструменты для строительства, должны строить дома. Иногда лучше сделать хороший набор инструментов и дать его тем, кто может эти самые дома построить. Правда, для этого еще неплохо бы документацию написать толковую.
Само собой.
Это сделанно за два дня
ты типа за все годы(17 лет) с 2008 года, только два дня делал игру в Юнити ? :)))
Смешно звучат такие отговорки.
ronniko
> ты типа за все годы с 2008 года, только два дня делал игру в Юнити ? :)))
Типо эта игра на джем сделана за два дня. Сложно понять, да? Ну тогда немудренно что ты ничего не родил за все это время.
Increaser
Не просто ты настолько деревянный, что даже не понимаешь о чем тебе пишут.
Ты хвалишь Юнити и советуешь его брать всем. Говоря что на Юнити быстро делать игры. А вот Роннико за 15 лет не сделал ни одной полноценной игры на своём движке. Потому надо брать Юнити.
Я тебе говорю "где за 17 лет твоя оконченная и полноценная игра на Юнити ?"
А ты как всегда съезжаешь и прикидываешься что ты не понимаешь моего вопроса.
И начинаешь отмазки писать в стиле "я плохо понимать по русски" и "Роннико за 15 лет не сделал ни одной игры" :)
Даёшь больше движков! Разных, а то все делают убийцу Юнити ))
Тема закрыта.