falcoware, так уж действует пропаганда, что русский софт говно, а американский супер. Спроси у любого, что он купить, русское или американское. Это не в вас дело, здесь политика замешана.
Ты как будто пытаешься меня убедить в моей бессильности того, что я не смогу сделать то что мне нужно на моем движке.
Ты сам создал тему, чтобы порассуждать о плюсах и минусах написания движка, задал вопросы, а я разобрал твои сообщения на цитаты и ответил. В ответ я не увидел какой либо дискуссии, а просто новый поток мыслей.
Цитатаafq ()
Ты пытаешься разрушить мне цель, чтобы я бросил вообще работать
Цитатаafq ()
мало отозвалось людей пытаться мне втюхнуть unity
Цитатаafq ()
так что не советую мне делать фичи, которые нафиг никому не нужны.
Эгоцентризм.
Цитатаafq ()
Так делать нельзя, нельзя разрушать другим людям цели только из-за того, что тебе кажется, что ты знаешь лучше как надо жить
Закон мироздания или сам выдумал?!
Цитатаafq ()
стал бы ты делать игры на unity или стал бы делать движок, или вообще бы ничего не делал?
Для меня геймдев - работа и хобби. Я писал выше, что занимался разработкой и собственных движков и ковырял существующие. Естественно, в детстве хотелось написать свой движок, а ля Storm Engine, просто для себя, чтобы он был. Сейчас я списываю это на детские хотелки, желание самоутвердиться, проявить себя, в общем на все, что присуще отрочеству и, возможно, юношеству. 8 лет, работая на фуллтайм, я занимался хобби проектами, пока один из них не стал приносить достаточный доход для содержания меня и команды. Сейчас я фулл-тайм занимаюсь только им. Можешь посмотреть ролик одного из ютюберов: Bannerlord Online Проект, кстати, не на Unity и я не знаю, почему ты решил, что я использую исключительно этот движок. Все что мы обсуждали - вопрос рациональности написания своего велосипеда.
До 2013 года я, преимущественно, пытался создать свой движок с нуля и редактор для него, однако, оценил, что для разработки таких инструментов потребуется очень много времени - годы. Мне же хотелось создавать игры, а не растрачивать энтузиазм исключительно на инструменты. Стал искать готовые продукты, которые дадут возможность сразу создавать игры и Unity оказался подходящим. Естественно, сейчас я бы взял любой готовый движок и начал бы писать на нем. Скорее всего Unity, т.к. C# для описания игровой логики очень хорошо подходит, ведь не приходится заниматься серьезной работой с памятью, но, при необходимости, логику можно вынести и в нативный код.
Цитатаafq ()
Просто знаешь, если путешествовать, отдыхать на островах, это всё может быстро наскучить тех, кто привык занимать свой день интеллектуальными занятиями, это я так считаю.
Ага, мы тут все быдло и только и делаем, что проводим свою жизнь за бутылкой или тремся жопами на курортах, а ты у нас книжки сидишь читаешь. Смею предположить, что у большинства завсегдатаев форума хобби так или иначе с IT связано.
Storm54, Ну а почему ты не возьмешь движок от Falco, а следуешь пропаганде и выбираешь unity? Почему все пытаются пользоваться зарубежным софтом, тем самым задаривая его взносами. Если бы например falco движок использовали и вкидывали деньги как процент, то он бы мог нанять себе работников и был бы конкурент, но нет же, нам надо американцам деньги отдавать, они же правят миром.
Я вот не верю во всю эту пропаганду, что мол зарубежное всё круче. Мне пофиг на их движки, и что вы их так благотворите как своих богов. Я делаю продукт, так как я люблю также писать софт, то мне по приколу делать движок, ведь это софт, и игру делать тоже.
Как только начнем наше поддерживать, так станет лучше, а пока башляйте американцам деньги, мне пофиг. Они всё равно печатают сколько хотят и могут сколько угодно кого финансировать, поэтому у них так много софта произведено, потому что деньги фантики, без подкрепления золота.
Короче я думаю что так будет еще долго продолжаться, потому что люди не понимают что такое счастье и думают, что уедут за границу и там будут счастливы.
Ладно Storm54, похоже ты нашел своё место под американским солнцем. хахахахах
afq, Когда-то у меня была навязчивая идея разработать свой 3D движок. Цель была не в том, чтобы создать что-то, что будет наравне конкурировать с уже существующими и популярными решениями, а просто сделать удобный инструмент для создания игр. Идея была подкреплена довольно сильной мотивацией, которая заключалась в том, что мне было очень интересно как устроены игровые движки и прочие средства для работы с графикой. Пробовал я воплотить свою идею и на Delphi, и на C#, и в конечном счете на C++. Первые попытки успехом не увенчались, я много раз забрасывал это дело и позже вновь к нему возвращался. Всё это длилось до тех пор, пока в один прекрасный момент Falco не предложил мне начать работу над созданием движка под его "брендом". На тот момент я был в курсе его репутации и сам не раз был объектом проявления различных причуд его нестабильной психики, но меня это не остановило, т.к. мысль о том, что я наконец смогу в долгосрочной перспективе заниматься тем, о чем давно мечтал взяла верх над здравым смыслом и я взялся за дело. В самом начале мотивация была на пределе, я работал буквально день и ночь, изучая C++ и пытаясь вывести хоть что то на экран. На тот момент в C++ я был абсолютным нулем, но спустя какое-то время я добился первых успехов. Появилось ядро движка, в котором было намешано куча разных библиотек под разные задачи, кривой редактор карт, который позволял "двигать", "вращать" и "перемещать". Всё это работало не благодаря, а вопреки, но я был доволен результатом своей работы, ведь за это время я многое изучил и осознал. Не теряя мотивации я продолжил совершенствовать плод своего творчества, продолжая не спать ночами. Спустя еще какой-то промежуток времени я добавил в движок возможность писать скрипты на шарпе, настраивать физику, звук, научил движок понимать различные форматы 3d моделей и текстур, писать шейдеры, настраивать материалы, воспроизводить звук через OpenAL и т.д. и т.п. Весь этот процесс сопровождался постоянным наступанием на грабли. Было очень много случаев когда я элементарно допускал утечки памяти или потерю указателей в дебрях кривой логики создания/уничтожения экземпляров объектов и потом по нескольку дней искал источники проблемы. Были случаи, как тут было упомянуто, когда я в процессе создания системы иерархии объектов запутывался в собственном коде, из-за того, что где-то что-то не до конца продумал и все сыпалось и падало.
И вот с момента начала прошло 4 года. Многие компоненты движка я привел в порядок, кривой код был переписан и в конечном итоге работал более-менее. К этому времени мотивация уже заметно упала и близилась к нулю, т.к. я тупо устал и желание писать движок почти пропало. Чтобы объяснить почему это произошло пройдусь по списку, который перечислил Storm54, чтобы понять с чем мне пришлось столкнуться реализовывая базовые компоненты движка:
• Удобный редактор. - Удобного редактора по итогу так и не получилось, потому что пытаясь добиться стабильности в работе самого движка и добавлению туда новых фич, не получалось уделять достаточно внимания редактору. • Импортер ассетов. - Импортер был реализован, но крови было пролито много. Несмотря на то, что сам импортер я взял уже готовый (библиотека Assimp), нужно было во первых, в нем разобраться, во вторых грамотно наладить взаимодействие с движком и учесть многие моменты, касательно того, что например, в 3д модели может быть анимация, зашитые текстуры, камеры, источники освещения и прочее. Анимацию импортировать и заставить сделать так, чтобы она работала в твоем движке не так то просто, как может показаться на первый взгляд. Нужно сначала сделать систему анимации в самом движке - это как минимум скелетная анимация, далее написать шейдер для GPU скиннинга, правильно подготовить и передать туда все матрицы для последующего их перемножения на видеокарте, научить её хотя-бы плавно переключаться из одного состояния в другое, реализовать сглаживание кадров чтобы не было рывков. Кроме этого нужно научить анимацию работать в паре с физикой, т.е. дать пользователю возможность самому двигать и вращать кости и чтобы при этом работал скиннинг не нарушая саму анимацию. • Механизм хранения проекта. - Тут может возникнуть сложность, когда нужно будет переместить ассет из одного места в другое. Т.е. нужно придумать такой механизм, чтобы связи между объектами движка и ссылками на ассеты не нарушались. Это у меня так и не вышло нормально реализовать. Но еще нужно заставить движок читать ассеты как из файлов, так и из каких-нибудь сжатых архивов, хотя-бы zip. Я убил на это довольно много времени, чтобы каждый тип ассета, будь то текстура, аудио-файл или 3д модель могли быть прочитаны из архивов. Много ночей было проведено реализовывая этот механизм. • Кэш ассетов и инвалидация кэша. - Тоже непростая задача. При импорте ассетов, нужно создавать кэш, чтобы каждый раз вновь не лезть в исходный файл и не тратить время на его декодирование. Также нужно отслеживать изменение файла и обновлять кэш. • Звуковая система. - Звук это вообще отдельная история. Что бы заставить аудиофайлы играть в 3d пространстве нужно сначала проанализировать аудиоданные, mono это или stereo, взять во внимание частоту дискретизации, битрейт. Если звук стерео, то нужно его сначала преобразовать в моно чтобы он играл в 3d. Реализовать механизм старт/пауза/стоп/прыгнуть в позицию/ускорить/замедлить и т.д. Все это мне пришлось делать, и в итоге стабильной работы я не добился. То и дело что то вылетало, глючило.
Все это - лишь малая часть того, с чем придется столкнуться при разработке движка. Понятно что все зависит от потребностей, но я описал конкретно мой случай. Я писал движок один, и мне это было интересно, и к тому же платили (спасибо Falco). Но всё же огромный объем работы, куча различного вида сложностей оказалось мне в одиночку не по силам.
Итог для меня: Минус: простого и понятного инструмента не получилось, было потрачено очень много времени, сил и денег (денег к счастью не моих, но тому кто их потратил очень обидно). Плюс: за работу мне платили и я получил огромный опыт.
Данный пост был написан не с целью отбить у тебя желание совершенствоваться и развиваться, и не преследует целей пересадить тебя на уже готовый движок. Я лишь хочу предостеречь тебя от тех трудностей, с которыми придется столкнуться, в процессе решения которых, у тебя может пропасть мотивация и желание двигаться дальше. Если тебя это не останавливает, и ты хочешь развиваться в этом направлении, у тебя есть куча времени и нет необходимости в деньгах, то это несомненно плюс в текущем контексте. Вопрос лишь в том, на сколько хватит твоей мотивации.
В заключении скажу, что даже если игра не ААА уровня, но хоть какой-то несложный 3D, с простой механикой, это еще не говорит о том, что движок для такой игры будет просто написать. Пример игры на моем несложном движке, можешь посмотреть в теме движка, Falco там выкладывал ссылки. Попробуй в неё поиграть и напиши тут свои впечатления. Возможно ты скажешь что у меня кривые руки, и всё такое, и быть может это правда. Но по крайней мере я старался как мог, и вот что из этого вышло.
Сообщение отредактировал tracer07 - Вторник, 07 Марта 2023, 16:27
tracer07, очень и очень интересно. У меня как раз сейчас нет мотивации продолжать, видимо из-за лекарства или мне надоело из одного движка в другой переписывать. Но я знаю, что мысли всё равно приведут к тому, что надо делать игру. Да, нужно находить силы и мотивацию. Тут видишь в чем прикол. Мотивация, это какие-то мысли в твоей голове, которые дают тебе нужное настроение продолжать и возможно, что чем логичней будут мысли, то в некоторых случаях мотивация будет пропадать. Тут надо думать как мечтатель, а не как реалист. И лучше конечно же никому не писать о своих планах, если они тем более не очень адекватные с точки зрения реалиста, потому что только так мы можем развиться в какой-то сложной области, когда как реалист будет только зарабатывать деньги и сталкиваться с большой конкуренцией возможно на рынке.
Сообщение отредактировал afq - Вторник, 07 Марта 2023, 16:13
Есть люди, которые могут вдохновить на бой, тоже самое есть и в других сферах. Ты можешь послушать кого-нибудь и возможно тебе понравиться идея и ты заряжаешься её и работаешь. Было бы круто, если бы таких людей было много, а не так - движок нет смысла писать, лучше бери unity. Такие люди не умеют вдохновлять это точно и лучше конечно с ними тему об этом вообще не заводить, чтобы не сбить настрой.
afq, Если у тебя заканчивается мотивация именно на этапе разработки игры, выходит, что твоя любимая часть это программирование самого движка, продумывание архитектуры, работа с графикой и тд. Тогда, возможно, тебе следует заниматься именно голым программированием, без геймдизайна? Только есть нюанс, я не знаю ни одну студию в России, которая делает игры на своем движке и имеет платежеспособность по отношению к своим сотрудникам. Получается, нужно или переезжать в другую страну, где лучше развит геймдев или адаптироваться под сегодняшний российский рынок. Первый вариант звучит хорошо, но я без понятия, как это сделать в условиях Германии 40-х годов. Кстати с Unity все наоборот. Полно студий, которые занимаются мобильными играми. Кефир например.
я не знаю ни одну студию в России, которая делает игры на своем движке и имеет платежеспособность по отношению к своим сотрудникам.
Тот же UNIGINE использовался в десятках проектов, в т.ч. и от непосредственных разработчиков движка. А есть ещё Defold и ряд других. Как правило движки и отрабатываются на полноценных проектах, посему дело обстоит не так, как ты думаешь... Дао, выраженное словами, не есть истинное Дао.
Core, я знаю у нас в России есть или была студия, которая очень очень много заработала. Она выпускала мобильные игры homebrew вроде, так где три в ряд с красивым интерфейсом. Помню они предлагали работу, но у меня не было тогда опыта и я отказался, делают игры на своём движке и у них больше 7 миллиардов дохода, плюс офисы по всему миру и за unity не платят отчисления. тем более что для три в ряд не так то много надо в своем движке сделать. тут конечно надо смотреть какая игра. Если ты готов окунуться в линейную алгебру и аналитическую геометрию, то можно будет сделать 3d игру простенькую для мобилок и она будет работать и в неё будут играть.
офисы по всему миру и за unity не платят отчисления
Не так уж это и критично с 7-и миллиардов чуть-чуть Unity отдать.
Цитатаafq ()
Если ты готов окунуться в линейную алгебру и аналитическую геометрию, то можно будет сделать 3d игру простенькую для мобилок и она будет работать и в неё будут играть.
В таком случае простенькая игра выйдет месяцами работы. Не знаю, что там будет использоваться для графики но с OpenGL или Vulkan будет довольно сложно работать. Одно дело писать движок для большого и своеобразного проекта, чтобы эффективно использовать каждый байт памяти и совсем другое дело нагромоздить "оверинжинирнутое" нечто для того, чтобы собрать очередной велосипед.
Не так уж это и критично с 7-и миллиардов чуть-чуть Unity отдать.
Core, зачем? Если люди могут сделать движок простенький на c++. Там по сути то, если разобраться, то делать то нечего если честно. Другое дело сделать графический движок, там уже надо знать библиотеку, например я делал несколько раз на gtk3,4. Но там были адские глюки и я не понимал почему так отображает. По сути графические движок нужен лишь для того, чтобы разместить модельки на сцене. всё остальное в коде пишется.
Ну я в blender например делал анимации и сохранял в obj формате. В движке был аниматор, который анимировал все кадры 3d модели по index. также кнопки, текст всё кодом по координатам расставляешь. Это упрощенный вариант с каким я работал.
А, понял, анимацию волос. Да нафиг мне это нужно. Зачем мне такие фичи в движке. Я хочу чтобы был базовый набор фич, с которыми можно работать, а анимация волос это физика.
falcoware, ну нафига мне сейчас думать об этих сложностях? Или ты хочешь отбить желание на корню? Даже твой разработчик мало что понимал перед разработкой движка, но всё-таки чего-то добился. Если не терять мотивацию и изучать интересующие темы, то можно научиться.
afq, Юнька убила уже тысячи движков. Только Давид смог убить Голиафа. Но он убивал и льва и медведя. Вопрос - ты можешь убить медведя руками? Если не сможешь - не суйся! =)