Малювекi - это вымышленное название, для игры. Игра будет схоже с игрой Minecraft. На данном канале идёт хронология написания этой игры. Изначально была серия выживание на сервере ServAnt игры Minecraft. Позже канал переквалифицировался в серию программирования. На языке C# с OpenGL писался воксельный движок, схож с игрой Minecraft, но имеет свои особенности.
Я освоил не плохо OpenGL, Вулкан не знаю совсем. Пару раз посмотрел в его сторону, взорвался, согласно названию. И вернулся в OpenGL. Для кубача графика не должна быть мега реалистично и навороченной, примитивность притягивает. Спасибо за предложение, но мне одного потока для видео вполне хватает, я покуда останусь на OpenGL.
Привет, Алексей, я осваиваю VBO/VAO и шейдеры, на C# OpenTK создал кучу классов, всё работает, но... фоновая текстура у меня рисуется по старинке через Begin()/End() а кружочки я рисую через VBO и шейдеры после отрисовки кружочков, у меня вместо фоновой текстуры - красный прямоугольник на весь экран и на нём кружочки отключаю шейдеры и у меня все цветные кружочки - белые, но зато фоновая текстура есть вывожу фоновую текстуру тоже через свой VBO и свои шейдеры - фоновая текстура выводится, всё замечательно, но цветные кружочки, вместо цвета, тоже состоят из круглых текстур. вот сижу колдую: парася, парася, превращайся в карася. лишь коснёшься ты Земли, быть по моему вели. вели чтобы пасьянс сошёлся! 🙏😂 За ролик спасибо, заценил, передохнул от своих кружков)
@@IvanPopelyshev наговнокодил я капитально, сейчас с собакой погуляю и всё пофиксю. мы гуляли мы гуляли, наши ноженьки устали, но сейчас мы отдохнём и опять писать начнём (С)
Алексей, приветствую. Серверные данные, как правило, отправляются клиентам со скоростью от 30-ти кадров в секунду, что будет являться узким горлышком для передачи данных протоколом TCP - каждое сообщение будет проверяться на целостность. Мне кажется, TCP подойдет скорее для синхронизации событий клиента-сервера, когда как передвижения игроков и прочие дискретные данные можно спокойно слать через UDP, не переживая по поводу целостности.
Спасибо за отзыв. Даже начал сомневаться. Но всё-таки на TCP я сейчас останусь. В идеале как Вы и сказали, UDP быстрее и есть места где его выгоднее использовать, чем TCP. Но в кубаче любое изменение мира надо через TCP. Иногда накрадываются мысли для мобов сделать UDP. Но они не каждый такт отправляют пакеты, а как правило передают позицию и вектор перемещения, на несколько тактов вперёд. Если отправлять почти каждый такт, то UDP конечно же выиграет, его пропуск будет незаметным, так-как в следующем тике прилетит следующая позиция.
Здравствуйте. Спасибо за интересные стримы. Хотелось бы больше видеть технической информации - с какими проблемами сталкиваетесь и как решаете. Последний год я занимался разработкой GUI как частью своего игрового движка, выскажу некоторые идеи которые, возможно, Вам пригодятся. GUI у меня выглядело как дерево виджетов. Каждый виджет имел возможность устанавливать маркеры позиции и размера с помощью якорей (FIXED(x) - отступ в абсолютных единицих отноистельно определённой границы родителя, SCALE(x) - отступ относительно определённой границы на процент ширины родителя, CENTER(x) - отступ границы от центра родителя), либо с помощью заполнения (FIXED - фиксированная ширина/высота, HUG - "обнимает" детей, FILL - полностью заполняет ширину/высоту родителя) (как в Figma или бесплатной Lunacy). Все виджеты содержали 5 основных функций - 1. расчёт своих размеров на основе размеров детей, 2. расчёт размера каждого ребёнка исходя из своего размера, 3. расчёт позиции детей, 4. обработка ввода и 5. отрисовка. Первая функция вызывалась при обратном проходе, её определение было в контейнерах, затем вызывалась вторая функция при прямом обходе, её определение также было в контейнерах, далее вызывалась третья функция при прямом обходе, после чего вызывалась четвёртая функция с обратным обходом при том что одноуровневые дети обходились в обратном порядке и затем отрисовка в прямом обходе. Этих методов, с теми правилами работы которые я описал, достаточно, чтобы делать сложные GUI системы, т.е. Layout с последовательным расположением детей включая автоматический перенос на новую строку, расположение детей с отступом или расположение их со сдвигом относительно родителя, даже так, чтобы они выходили за границы (крестик на углу формы), скролящиеся виджеты, виджеты сохраняющие пропорцию и т.д. Оптимизировать такую систему тоже просто - нужно написать класс с ленивой отрисовкой, где всё будет писаться в один VBO до тех пор, пока не сменится шейдер, а цвета (или UV) можно записать в вершинные атрибуты, поэтому вся GUI будет рисоваться за один draw call. Надеюсь было полезно - это лишь малая часть. Если будут вопросы, можем списаться :)
32:32 Слышал про Hytale такую информацию. Ззначально занимался разработкой движка игры тайрон на C# и о чем то они там не смогли договориться он ушёл от них собрал свою команду и начал делать игру Vintage Story А ребята с Hytale начали с нуля писать движок уже на C+
проблема в том что уже есть маенкрафт и новые кубические игры никому не нужны, есть изначальный майн где есть все базовое, а уже на эту базу можно поставить моды и получить любую другую игру, маенкрафт не просто игра а движок. Почти никто не играет в ванильный майн, играют на модах или серверах где есть кастомизации в виде плагинов, команд, текстурпаков, зачем качать более красивую версию маенкрафта если можно накинуть на майн текстуры, шейдеры и будет лучше любой игры на свете с RTX, например вашу игру можно перенести в маенкрафт как карту с модами и текстурпаком сейчас вы создаёте велосипед, лучше будет добавить особенности которых нет и не может быть в маенкрафте, что-бы люди смотря на игру и не думали "о прикольно игра похожая на маенкрафт", самое сложное в создании игры это не её разработка а задумка что-бы это было интересно и этого не было в других играх, те кто придумывают такое добиваются успеха, вы могли бы начать с модов, много игр было которые сейчас приносят миллионы своим создателям были придуманы в других играх в виде мода а потом когда движок игры не мог обеспечить потребности для повышения качества игры тогда создавали свой движок и игру
ASP это язык для написание веба. Я не работал на ASP, ранее использовал PHP. Если рассматривать серверную часть для самой игры, думаю на ASP будет медленнее, но это не точно, надо изучать и проверять.
Работаю на Unity (коммерческая разработка и свои личные проекты) - большое уважение за Ваш труд на базе C#. Вы - большой молодец, что документируете свой прогресс при помощи социальных сетей: как правило, именно такой подход рано или поздно даёт большие плоды.
10:53 А я изначально пытался создавать и познавать программирование своей игры с чистого листа, без всякой лишней ерунды, которая только ограничивает возможности. Браться за сложное - в моем стиле. Меня очень интересовала механика отрисовки с помощью шейдеров, как это делается в современности и по-грамотному. Хотя вначале, программирование игры или чего-нибудь, с чем можно повзаимодействовать, в Visual Studio мне казалось безумием и пустой тратой времени, ибо я был в этом полный ноль. Сейчас же конечно я добился огромных успехов по моим меркам.
В Оригинальном майнкрафте моды не реализованы, а в переписанном ядре (типа Forge, Fabric и т.д) реализуется по разному, у Fabric вроде есть исходный код(или у его API точно не помню)
А почему не Vulkan? C# можно и на Linux, Mac, Windows (Правда придётся поискать как настраивать компиляцию или искать шаблоны(для создания настроенного проекта)), Просто сделай для движка поддержку Vulkan. Vulkan и OpenGL кроссплатформенный.
Концепция интересная: те же 50 сантиметров блоки уже давно думал о таком. Но ты тут как-то ещё от майнкрафта оттталкиваешься, но смсысла не вижу, если игра будет как майнкрафт, то зачем она нужно, если есть майнкрафт который тупо лучше (сколько лет его делает целая команда + необьятное колво модов). Интересно было бы чтобы ты сделал эту игру такой чтобы в ней не было сюжета, не было конца, чтобы она была похожа на майнкрафт именно этим и была возможность делать моды, чтобы в отличии от майнкрафта тебе для создания модов не нужны были прокладки в виде forge и ему подобные. Насчёт кольчуги и подобное, предствить кольчугу в 21 веке легко, но кевлар в 16ом.... Не знаю что у тебя в голове по поводу этой игры, но мне было бы интересно такое увидеть именно в виде такой простой песочницы, которая бы существовала на плечах сообщества благодаря простому созданию и скачиванию модов и конечно онлайн как в какой-нибудь кс 1.6 где сервера пренадлежат сообществу, но при этом найти их можно прям в самой игре, а не заходить на левые сайты. Выглядит игра кстати очень круто, и благодаря 50 сантиметровым блокам и не плохим текстурам около реалистичным. Смотря на березку и равниной за ней сразу вспоминается сталкер, а тут ещё и ломать и строить можно. Сразу идея какого-нибудь типо сталкрафт мода вырисовывается, тут бы это прям отлично смотрелось. Вот ещё немного про сюжет, всегда бесило, что во всех клонах майнкрафта пытаются в сюжет, но майнкрафт же тем и прекрасен что пред тобой весь мир и он как бы твой и никуда из него тебе не надо убегать из-за чего в нем хочется что-то строить и в целом творить
Все говорят что у тебя большой персонаж, а не маленькие блоки. Из-за того что на 1 метр 4 одинаковой текстуры, создаться впечатление что персонаж большой. Попробуй "растянуть" 1 текстуру на 4 блока, после этого тебе больше никто не скажет что персонаж большой, та и в целом игра будет выглядеть приятнее
Мужик, игра у тебя действительно классная, и аудитория поддержки есть, хоть ты и говоришь что этого мало, но поверь для начала очень здорово, это у Юликов всяких, сразу по 60+к просмотров на сводках и миллионы рублей в продажах, у него есть опыт и медийка, тебе же стоит держать нос по ветру и продолжать заниматься этим делом ( если хочется конечно ) а я как и десятки других людей заценю твою игру
Просто для увеличения числа комментариев, а не по игре. На счет размера блоков, блоки остаются 1 м, но в движок добавлен функционал как в моде LittleTiles. Соответственно в генераторе мира маленькие блоки 1/8 могут быть только на границе двух сред остальные обычные. Копается всё как обычно, стройка по желанию или как "обычно" или "полный реализм" со стенами до 6см. Соответственно реалистичный пейзаж и расширенные возможности строительства с сохранением игровых механик и высоты мира. Не знаю как в LittleTiles сделана оптимизация самое простое пытаться привести структуру редактируемых блоков к размеру миниблоков 1/8, 1/64... 1/4096 (1/32768, нужно ли, слишком маленькие) и типы используемых в ней блоков к палитре 2, 4, 16, 256.
Попробуйте поиграться ФПС в настройках, я себе выставил 120, при 60, мой проц успевал уходить в лайт режим, и в этот момент игра как подлагивает, ресурса не хватает и проц опять работает в норм режиме. Когда сделал фпс выше, проц работает ровно. Может совет поможет.
На самом деле блоки 0,5м это наоборот интересно. Вот например при строительстве дома хоть кто то строит в 3 блока? Обычно это 4 блока иногда 5, в особых случаях 6. И ведь это в любом случае больше по высоте чем стандартный этаж. В майнкрафт иногда наоборот применяют моды на маленькие блоки 1/16. Почитал комментарии и заметил жалобы на то что копать неудобно. Есть такая проблема, и тут действительно нужен супер инструмент который бы позволил вскапывать сразу по нескольку блоков. Например как в майнкрафт есть деревянный копаешь только по одному блоку, каменный 1 или 4, железный 1, 4 или 8 блоков.
Это всё дело привычки майна, в реали куб земли или песка пару часов копать будешь. Инструмент задумывался, имеется динамит для капания 3 блока в кубе взрывает.
@@SuperAnt2012 да привычки зло. Другой вопрос что когда речь идет о выкапывание породы кубометрами в реальности то речи ни о каких кирках и лопатах не идёт. При этом от деревянной палки копалки до роторного экскаватора в игре реалистично развитие тоже сделать не получится.
Круто, когда ты можешь сесть и реально написать игру для своих детей! Мечтаю научиться писать такой код с чистого листа, без использования готовых движков, так гораздо интереснее)) Похвалы вам за выдержку, я бы ещё на этапе написания движка поламался, наверное 😅
Первое, что лично я хотел бы видеть в игре и что бесит, почему кирка не ломает 2 на 2? В майне 1 блок = 1 метру, у тебя 1 блок = 0.5 метра, так почему не ломается сразу 4 блока? Это сильно бы упросило копание. Но тут ты спросишь - "а как же мне добавать только 1 блок? Это что я построю стену и вместо одного блока сломаю сразу 2" нет, надо ввести такую особенность, что при зажатии Shift кирка будет добывать 1 блок, а без зажатия shift 4 блока. Минус такой системы в том, что встают вопросы, как добывать кирке если дыра условно 5 блоков, а 5 не делится на 2. Так я бы наверное советовал бы ввести игровые условности, возможно попробовай пойти в сторону аркады. Кстати, ты думал над деревом улучшений? Просто я думаю, если не делать игру аркадной, то делать её одинакого развитой во все направления, например сделать селекционирование, животноводство, ввести некоторые автоматизации хозяйства, например, робот шахтёр или хобот садовник. Возможно нужны некоторые новые механики, например рыбалка (мне всегда не нравилась рыбалка в майне, хотелось бы, чтобы она была в вашей игре не такой же серьёзной, разрешите рыбачить в лаве, добавьте красивых лавовых рыб. В меду. Это же классно)
Фермерство и животноводство у меня была идея изначальная, но что-то пошло не так. Конкурировать с майном, нет. Это попросту нереально. Хотя попробовать то можно :).
почему не использовать xml конфиги и хранить ресурсы просто в файлах? Удобство редактирования и гибкость на много выше. + возможность делать моды сразу на поверхности, типизация архитектуры данных позволяет добавлять и редактировать все что угодно. А по игре - единственный минус это дизбаланс (больше получал зды чем развивался, а камни взрывающиеся это отдельный котел в аду) + непонятно что делать на разных этапах игры, стимула нет, подсказки скудные. На счет логики - хз, как по мне - все нормально. Если тебя занесло на необитаемый остров, логичнее, что ты сможешь сделать себе примитивный доспех из того что есть под рукой (собственно, как наши предки и выживали) а не кевларовый бронежилет с автоматом. Маска, телефон не аргумент, так как окей совеременность, но это не отменяет того, что ты по сути человек современный оказываешься раз на раз с миром первобытным. Странно и не логично было бы увидеть чпу станок в центре острова, или его крафт из 5 камней и 2 палок))
Спасибо, что пережили ад камней, дети мои тоже были ими шокированы, не помню как я их придумал, но они создали страх в темноте. До это-того страха просто не было, а сил и времени на придумку агрессивных мобов просто уже не было.
1 минус кторый мне не нравился это то, что когда ломаешь блок случайно отжимаешь кнопку и ломать надо заново (да я помню вы отвечали что это весь движок ломания перелопачивать но ещё раз повторюсь) Доп:думаю надо для звуков, тектстур сделать редактор который упаковывает в уникальный файл но оставить возможность использовать чтото типа текстурпаков как из майна с огромным количеством файлов. Думаю так будет всем хорошо)
На самом деле увеличивать персонажа плохо не только потому что всем привычнее, что персонаж размером в один метр. Мне лично тоже не нравилось, что персонажи более большие, чем в майнкрафте, хоть прямо об этом нигде и не писал, ведь видел, что я такой далеко не один. Но все же, основная проблема в том, что геймплей, как бы это странно не звучало, становится скучнее когда персонаж больше, чем в обычном майнкрафте. Возьмем пример, мы хотим спуститься вниз, дабы это сделать в майнкрафте, нам нужно сломать лишь один блок и потратить на это условно 3 секунды, чтобы спуститься так же вниз на один слой в Малювеках нужно сломать не один, а целых четыре блока тем самым потратить уже 12 секунд, в четыре раза геймплей становится длинее, но при этом не интереснее. Это же и относится к строительству, в майнкрафте проход для игрока для условной двери прорывается сломав всего два блока, в малювеках же шесть и во многом такое повторяется. Кроме того, что это не привычно, не очень визуально красиво, что конечно, субъективно, так и еще и геймплей делает скучнее. От этого нужно однозначно отказаться.
@@re4erka можно ведь ускорить копание. Или сделать шаблон копания как в модах буры капают 9 блоков за раз. А маленькие блоки у игры это фишка её не стоило от неё избавлятся. Да и вообще надо задумываться о стройке что бы удобно было. Например как ставить в раз 4 блока или стенку делая механику в форосте
Я очень часто озвучиваю про 50 см, и как с этим бороться, по этому и внёс в минусы, ибо просто устал. А так мне очень нравиться 50 см, детализация лучше. Про копание шахт, игра не планировалась к быстрому копанию, но и это не мешало мне придумать динамит для копания сразу 3 блока в кубе. Т.е. можно много придумать способов как быстро копать, но зато как можно спокойно прорубаться в низ и не боятся провалится неожиданно :).
@@SuperAnt2012 Если хочешь выровнить или изменить терраформинг в том же майне терраформинг занимает касательно много ресурсов и времени а тут это все дела умножай в 8 раза больше. А если надо уничтожить стенку или потолок дома я тоже должен динамитом это делать? Если у меня потолок 120 на 80 это я должен киркой разрушить 9 600 блоков, что бы добыть при условию разрушать секунду блок займет 2 ЧАСА с половиной!! Если брать шаблон разрушения хотя бы 4 блока за секунду это займёт ПОЛ ЧАСА! это без учета перемещение и тп. В плане стройки и творчества это не удобно. Это занимает в 8 раза больше времени чем в майнкрафте я считаю это куда сильной проблемой и причем ее можно как то решить разными способами. Даже если игра не про шахты но для построек и творчества надо бы это подправить. Если игра планировалось что бы блок просто поставить или разрушить только в момент прохождения, а не для творческих построек и не для изменений вокруг пространства, что бы игроку это было не мучительно. То тогда я пойму почему это не добавляется.
Это один из вариантов. Но перед тем как запаковать, нужны правила, если их не соблюдать, будет хаос. По этому Редактор для подобного будет более правильнее.