LINUX.ORG.RU

Разработка трёхмерного игрового движка

 , , , ,


1

2

Уже долгое время пишу игровой движок общего назначения (т.е. не исключительно для какого-то одного жанра). Естественно, под GPL. Естественно, онтопик – гражданин перого класса. Использую инфраструктуру Qt. Сейчас проект состоит из:

  • Библиотеки libKawaii3D, предоставляющей классы для построения одной или нескольких трёхмерных сцен.

  • Библиотеки, облегчающей создание различных Renderer плагинов libKawaiiRenderer.

  • Renderer плагина libMisakaRenderer. Использует OpenGL 4.5 Core + ARB_bindless_texture.

  • Renderer плагина libKurisuRenderer. Использует Vulkan, Glslang и SPIRV-tools.

  • Плагина загрузчика ассетов libKawaiiAssimp. Загружает модели, меши и сцены из файловой системы, используя библиотеку libAssimp. Примеры передаваемых строк: "models/preCombinedCastle.fbx", "file:///usr/share/somegame/character.dae", "/home/user/models/helicopter.obj".

  • Плагина загрузчика ассетов libKawaiiFigures3D. Загружает некоторые простые меши – куб, сферу, тетраэдр, октаэдр, икосаэдр, тор, квадрат и плоскость. Примеры передаваемых строк: ":/cube_x5", ":/octahedron_x0.33", ":/torus".

  • Библиотеки libKawaiiWorlds. Игровой движок. Отвечает за загрузку и хранение ассетов, физику, переходы между локациями, сетевой мультиплеер, воспроизведение музыки и звуков, обработку пользовательского ввода, ландшафты с картами высот и вот это вот всё.

  • Библиотеки libKawaiiWorlds_qml. Поддержка QML и JavaScript для libKawaiiWorlds. Предоставляет классы обёртки над классами и структурами движка.

  • Приложения KawaiiWorldsViewer. Загружает игры, читая специальный json файл. Таким образом избавляет большинство игр от необходимости иметь собственный бинарный исполняемый файл и обеспечивает независимость от ОС и, до определённого предела, архитектуры CPU. Предполагается, что такие игры-миры будут использовать JSON файл для указания используемых моделей, текстур, шейдеров, материалов и прочего; JavaScript для игровой логики и QML для разметки GUI.

Повесточка:

  • Пишу игру – пошаговую мультиплеерную стратегию. Цель сделать так, чтобы у соперника не осталось городов (либо штурмануть, либо уйти в глухую оборону и ждать пока монстры спушат супостата по самые уши). Осаду городов планирую сделать в стиле TowerDefence, драку между юнитами – исключительно на глобальной карте. В целом имеется достаточно подробная задумка и лимитированный скоуп. Слишком сильно распространяться сейчас не хочу – пока не доделаю играбельный прототип.

  • Как придумать название игре? Может ли ЛОР помочь с этим? :)

  • День после. С достаточно большой уверенностью, могу сказать, что до играбельного прототипа я дотолкаю игру довольно скоро. А что дальше? Работает ли краудфандинг для движков / игр? Если да, то что на него нужно предоставить? На каких площадках? Если нет, то как найти патронов / инвесторов? Понятно, что в этой стране геймдев мёртв и посыпан токсичной радиоактивной пылью мобилькерами, так что искать нужно среди интернационалов. Интересны ли энтузиасты, например Valve, или они только место в Стиме продадут? Кому бывают интересны?

  • Было бы классно обрасти командой единомышленников – художников, композиторов, левел дизайнеров, программистов, девопсов и прочих. Сейчас тащу в одно, в меру отъетое, лицо :D

  • Средства для локализации / интернационализации игр-миров на уровне движка – нужно ли и в каком виде?

  • Позиционный звук – что для него вообще использовать? /*в игре юзаю QML-ский AudioEngine, но понятно, что это "ну такое"*/ Первым в голову приходит OpenAL, но он в последних версиях спроприетарился и скурвился. Использовать старые версии? Или есть современные решения?

  • Поддержка языков кроме C++ и JavaScript – на сколько нужно? Сейчас поддерживается C++, так как сам движок написан на нём, так что достаточно было не превращать его в монолитное монструозное. А JavaScript, так как Qt имеет всю необходимую инфраструктуру для этого, ну и сам язык довольно простой, да. Пока склоняюсь к тому, не особо приоритет, а всякие пайтоны, lua и прочие расты могут подождать.

  • Сейчас есть PKGBUID-ы под этот наш Арч и они хороши. Но что бы придумать с поддержкой других десктопных дистров? Есть скрипты и даже CMakeLists.txt, чтобы скачать все модули движка в уютный хомячок и там же собрать. Нужно ли подобное? Стоит ли их поддерживать / обновлять и т.д. или лучше сделать разбиение на пакеты также как для Арча, с использованием, например CPack?

Скриншотики: https://imgur.com/a/zhHhcnw

Исходники: https://gitlab.com/KawaiiGraphics

★★★★★

Ответ на: комментарий от torvn77

Вацап не пользуюсь, отписал на почту, наивно полагая, что она всё ещё функционирует как почта.

robus ★★★★★
() автор топика
Ответ на: комментарий от robus

А куда же менторский тон, как в…

Ой это ты читаешь как менторский. Ненормально - значит «не как у большинства» и это нормальное слово для описание ненормальных вещей. А у тебя в коде намешаны стили так, что нельзя даже сказать, что «для этого репозитория это нормально».

Алсо – ты знаешь, что допускать орфографические ошибки не нормально

Нет, все это делают. Фиговое сравнение.
Уже писал, что не разбираюсь в языке, на котором это всё, но даже я могу понять, что простейшая модификация в логике

if(!loaded) return false;

заставит человека сделать

if (!loaded) {
  doSomeCleanup();
  return false;
};

чтобы добавить doSomeCleanup(); Времени пришлось потрать, что проще с нуля написать. А diff этого дела будет настолько ппц, что его лучше не смотреть.

Почему сразу не писать «среднестатистическии»?
Вот реально, думаешь это троллирование и придирки, а не всерьёз моё мнение на счёт кода, который я даже прочесть не в состоянии?

на данном этапе это просто контрпродуктивно

Хз в чём проблем поправить это всё автоматом, может в плюсах нет нормального автоформатирования по правилам из файла в корне репозитория?
Это та проблема, которую вижу и указал на неё. Лично я считаю эту проблему огромной. Чего там в коде, я хз, может он вообще нерабочий.

system-root ★★★★★
()
Ответ на: комментарий от anonymous

ХЗ, учитывая, что на почте у меня тишина, возможно и правда шпиён, собиравшийся подсадить меня на очередной мессенджер с идентификацией по мобилке :P

robus ★★★★★
() автор топика
Ответ на: комментарий от robus

Смысл не в том, чтобы тайно рассказать, а в том чтобы не писать талмуд, да и вообще, при живом общении идеи доходят и быстрее, и в более полном объёме.

Может тогда Telegram или Wire?
Можно ещё Tox попробовать, но я не уверен что у меня там заработает звук.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от robus

Как ты вообще собираешся продвигать свой движок не имея филиала ни в одном из популярных месенжеров?
(Самое бы правильно это сделать группу в Телеграм)

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от slovazap

Движки никому не интересны - их свободных уже хоть жопой жуй

Огласите весь список! (Ну или хотя бы 10). Но только годных, а не таких, которые «мы запустили в твоём Wayland иксы, ведь таков путь», либо же «эти фишки не будут работать на OpenGL рендерере, который кстати транслятор директикса», ну или «шейдеры плебсу не позволено ни видеть, ни уж тем более писать», а то и вообще 2D Only. Не заточенных под единственную игру и не «выглядит на уровне убогого примера из статьи по компьютерной графике».

У нормального проекта который можно будет опакетить должен быть CMakeLists.txt который ничего не качает, а собирает твои исходники с зависимостями из системы

Так сейчас и есть. Kawaii3D, KawaiiAssimp, KawaiiFigures3D, KawaiiRenderer, MisakaRenderer, KurisuRenderer, KawaiiWorlds и sib_utils до кучи.

Больше ни на что тратить время разработчик не должен

Ну, то что тебе никто ничего не должен, это факт. Суть вопроса не в этом была, а в том как лучше и удобнее.

Ладно, ненужен env build, так не нужен. Ок.

robus ★★★★★
() автор топика
Ответ на: комментарий от torvn77

при живом общении идеи доходят и быстрее, и в более полном объёме.

А потом забываются и/или искажаются. Ну да ладно, это так, лирика. Есть дискорд, tox тоже, вроде был.

robus ★★★★★
() автор топика

Мало в мире трехмерных движков? Фигачь сразу шестимерный!

anonymous
()
Ответ на: комментарий от robus

Ща он предложит игру в которой встроен майнер, в игре будут бои кто победит получает 80% намайненого от обоих комманд, а 20 тебе. Или чёто в этом роде.

anonymous
()
Ответ на: комментарий от robus

Ага, спать чай уже cgiminner компиляешь =)

anonymous
()

@robus в общем суть идеи: ты должен явно и полностью разделить движок и ресурсы игры, при этом движок не должен содержать игрового кода, всяких там скриптов персонажей и т.д, а ресурсы игры не должны содержать участвующего в рендеринге кода, в том числе шейдеров, которые должны быть стандартными и содержаться в библиотеке движка.

Зачем всё это?

Ты выкладываешь в Стиме ресурсы своей игры(потому что она и так твоя) бесплатно, но в технических требованиях пишешь, что игра для своей работы требует графический движок render_engine__name и игровой сервер (даже для одиночных) на котором работают игровые скрипты world_script_engine_name.

Так вот, этот свой разделённый на две части движок в Стиме ты выкладываешь уже платным и в виде платных DLC выкладываешь улучшенные версии шейдеров.
Вообще ВСЕ шейдеры у тебя должны быть в двух вариантах, стандартный упрощённый в комплекте движка и его улучшенный вариант в виде DLC.
Так же в виде DLC можно выкладывать и улучшенные варианты интелекта для типовых неписей.

В чём штука того, что пользователь бесплатно берёт твои ресурсы и отдельно покупает твой движок?
В том что ресурсы для созданной тобой игры, платно или безплатно выложить можешь не только ты, но и другие люди могут выложить свои игры,
но чьи бы ресурсы покупатель не взял, твой движок и возможно улучшенные компоненты в виде DLC он купит вы любом случае.

Причём ты можешь не продавать свой движок на всегда, а лицензировать его на какой то ограниченный срок, например один год, ну конечно у игрока есть вариант не покупать у тебя эту лицензию, а идти на гитхаб и компилировать движок самостоятельно. Ты можешь вообще не брать деньги с авторов контента за использование твоего движка и не требовать получения разрешения на его использование, при условии что контент игры не будет продаваться вместе с движком.

Впрочем авторам игр потребуется конструктор на подобие того, что Беседка сделала для своего Моровинда и естественно тоже продавать его за плату.
(Ну или пусть сами бесплатно компилируют из гита)

И ещё важный момент, игра должна запускаться двумя способами:
Первый способ через скрипт лежащий в корневой директории ресурсов игры буквально вот такого вида:

#!/usr/bin/env bash
# License GPLv3

thisdir=$(dirname `readlink -f "$0"`)
cd "$thisdir"
# Переменная thisdir не должна быть пустой, если пустая то сообщаем о ошибке пользователю и выходим из скрипта.
if [ "x$thisdir" -eq "x" ]; then exit; fi;

# Очистка временных файлов, её надо выполнять перед запуском и после окончания игры.
if   [ ! -e "/tmp/$Game_Name" ]; 
	then 
		mkdir -p --mode=775 "/tmp/$Game_Name";
elif [ -e "/tmp/$Game_Name" ];
	then
		rm -fr "/tmp/$Game_Name";
		mkdir -p --mode=775 "/tmp/$Game_Name";
else
	echo "/tmp/$Game_Name acess or file type error, script exit"
	exit;
fi;

# Проверка наличия движка в каталоге приложений стима и его запуск
# Вообще в Стиме может быть несколько директорий с приложениями инаходящимися в разных местах и 
# тебе надо предусмотреть случай когда ресурсы и движок находятся в разных директориях, 
# может вывести окно для его ручного поиска(с запоминанием пути естественно)
if   [ -x "$thisdir/../$Game_Engine_Name/Launcher.sh"];
	then
		exec "$thisdir/../$Game_Engine_Name/Launcher.sh" --resurce_directory "$thisdir";
else
	echo "Launcher $Game_Engine_Name not found, please go to $Game_Engine_Name Steam Pages, script exit"
    # В общем виде проверь разные типы ошибок, в насности отсутствие прав на запуск и уведоми о них пользователя.	
    exit;
fi;

# Завершение работы
# Тут должен быть код очистки временных файлов, но я его удалил для краткости.
exit;

Второй способ это через таблицу в лаунчере для запуска движка.
(твой движок должен запускаться не напрямую, а через лаунчер в котором будет таблица из названия игр и пути к папке в которой лежит игра)

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 9)
Ответ на: комментарий от torvn77

Ты кажется не совсем понял на какой стадии, какого уровня и какой ориентации его разработка. Зайди в стим и погляди в разделе игровых движков.

anonymous
()

Есть такое пожелание для движка: я не хочу копмилять/перезапускать движок, хочу чтоб код набрал и он на горячую сразу начал работать. Есть такие возможности или перспективы для этого?

crutch_master ★★★★★
()

Как придумать название игре? Может ли ЛОР помочь с этим?

«G.A.M.E» И обязательно добавь медведя.

anonymous
()
Ответ на: комментарий от torvn77

Тьфу на тебя! Ожидал увидеть предложение добавить в игру б-га тараканов, а получил какую-то капиталистическую хрень.

anonymous
()
Ответ на: комментарий от crutch_master

man astyle

Хз в чём проблем поправить это всё автоматом

Ты владельца репозитория и меня спутал. Мне то нафига знать про astyle?

system-root ★★★★★
()
Ответ на: комментарий от system-root

Ты владельца репозитория и меня спутал. Мне то нафига знать про astyle?

Ну ты же бомбишь на стиль кода, шо не по-промышленному. Алё. Это хобийный проект, который пилит 1 чел, как хочет. Хочет херачить в одну строчку - херачит. Когда проект будет интересен намного более, чем одному человеку - его и начнут причёсывать. Сейчас ему нужен proof of concept, а не отступы со скобками расставлять.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Зачем фигачить дроча вприсядку если можно сразу делать «нормально»? Это стоит ровно ничего в отличии от «потом причешем».
Может ты мне объяснишь целесообразность и логику?

system-root ★★★★★
()
Последнее исправление: system-root (всего исправлений: 1)
Ответ на: комментарий от system-root

Зачем фигачить дроча вприсядку если можно сразу делать «нормально»?

Потому что тебя не спросили, что такое «нормально», очевидно. Вот ему делать if (x) return; в своём коде - нормально, просто и читаемо.

crutch_master ★★★★★
()
Ответ на: комментарий от system-root

Автор начал open source проект, если я не ошибаюсь.

И что? Ему надо было у тебя лично взять благословение на правильный astyle? Да, это опенсорц. Если будешь заниматься с ним разработкой, сделаете astyle, но, походу, ты сюда не за этим пришел.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Походу можно было не начинать спор, доказывая, что херовое форматирование это ок и я толлирую, как тебе такая идея?
Нафига у меня благословения брать, когда можно было загуглить как писать открытые проекты и какие там рекомендации?

system-root ★★★★★
()
Ответ на: комментарий от system-root

Походу можно было не начинать спор, доказывая, что херовое форматирование это ок и я толлирую

Да не имеет значение какое оно там. Понимаешь разницу, между «ок», «не ок» и «не важно»?

Нафига у меня благословения брать, когда можно было загуглить как писать открытые проекты и какие там рекомендации?

Чтобы что? Ты не разбухтелся, когда увидишь код? Так другие скажут, что стиль говно, надо было брать другой. Проще вообще на ЛОР ничего не постить.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Чтобы что?

Чтобы начать делать opensource проект же. Ну.

И когда твой C++ код выглядит как наполовину C#, наполовину Python - это прям вообще не важно, «потом поправим» ага.

Часто ты в работе говорил «потом поправим» и оно выстреливало тебе в ногу?

system-root ★★★★★
()
Ответ на: комментарий от system-root

Часто ты в работе говорил «потом поправим» и оно выстреливало тебе в ногу?

Чтобы оно выстрелило в ногу, оно должно сначала выстрелить хоть куда-то вообще. Еще полгода активной разработки и возможно, оттуда полетит куте и весь код надо будет перелопатить. Или ТСу надоест, никому это надо не будет (не в обиду ТСу) и оно вообще не взлетит и так и будет валяться на гитлабе. И какая тогда кому разница, как будет одет его мертвец.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

оно должно сначала выстрелить хоть куда-то вообще

Для этого не только тред на лоре нужно создать, но и всякие другие танцы вокруг проекта. От создания «организации» и какого-то общедоступного канала коммуникации, до определения правил кодирования. Не?

system-root ★★★★★
()
Ответ на: комментарий от system-root

Если проект концептуально или технически провален, ему это, конечно, поможет. С другой стороны, если проект правда хорош, то он выстрелит вне зависимости от того, какой там внутри говнокод.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от anonymous

Инди разработчики да и даже средние студии, даже на торренты свои игры сливают намеренно со словами, «ну хоть кто-то, ну пожалуйста поиграйте в нашу игру, хоть 5 минуточек, вот торрент, вот демки в стиме, вот в гоге вот везде, ну пожалуйста хотя бы палочкой потыкайте, мы старались может быть вам понравится»

Зачастую эти «инди разработчики» делают какое-то говно третьей свежести, которое уже клонировали-переклонировали, и всех подобные игры уже достали до чёртиков, а они, видите ли, решили сделать очередную серию того же самого, только с бюджетом в 10 раз меньше по сравнению с крайней подобной игрой.

Вон, Binding of Isaac до сих пор не продают за 4$ в стиме, при том что Half Life 2 стоит 6$.

byko3y ★★★★
()

-_- делать движки в геймдеве гиблое дело.. тут хуже чем с анекдотом про инди игру (недавно релизнул игру. -поздравляю, много продал? -да нет, только машину и квартиру.) потому что продать игру игрокам гораздо проще чем продать движок разработчикам.( и я тут не столько про деньги а про вообще внимание людей к проекту в случае с опенсорсом это звёздочки на гитхабе, форки, присылаемые патчи, пиление гайдов, сообщество разработчиков движка, вот это вот всё)

есть неплохой подкаст Как Делают Игры, в том числе с текстовыми расшифровками на DTF. там много чего было и про то как команду искать и про то как издателя инвестора искать и я бы даже игру-движок хотел видеть в рубрике как питчить игры. потому что случай редкий и интересный.

на звук наверное пока забей. из опенсурсных либ наверное более менее живы только openal и soloud, можно ещё наверное потыкать в ту что гугл для браузеров и кардборд виара написал, но хз жива ли она.

самый популярный скриптовый язык всё ещё lua. о нём подумать можно, остальное точно нафиг. если и когда запрос сообщества на биндинги к другим языкам будет, то сами добавят.

для поддержки других дистров можно зафигачить жирненький флэтпак. на начальных этапах всем будет от этого меньше головной боли от несовместимости библиотек и прочего вороха вещей.

ну и да сделай страничку на itch.io там ИМХО наиболее вовлечённая в такие темы аудитория тусуется.

Thero ★★★★★
()
Ответ на: комментарий от torvn77

явно и полностью разделить движок и ресурсы игры

В этом главная задумка KawaiiWorldsViewer-а как такового. По моему разумению, это упростит (по сравнению с тем, если бы движок был просто библиотекой классов) создание игр и «навяжет» играм степень кроссплатформенности равную таковой в движке (в частности обеспечит поддержку онтопика и Wayland).

движок не должен содержать игрового кода, всяких там скриптов персонажей и т.д, а ресурсы игры не должны содержать участвующего в рендеринге кода

Да.

в том числе шейдеров, которые должны быть стандартными и содержаться в библиотеке движка.

Чем это будет отличаться от стандартного графического пайплайна времён OpenGL 1?

Вообще, я конечно собираюсь пополнять коллекцию internal shader effects, но ими возможности явно ограничены не будут ;)

Идея продавать улучшенные версии этих internal shader effects звучит в общем то как что-то что может сработать (хотя в прикладной экономике я не слишком шарю). С другой стороны техническая реализация загрузчика internal shader effects откуда-то кроме самого движка пока отсутствует (не выглядит, как что-то сложное, но всё же). Кроме того, сразу же возникает вопрос – а что помешает кому-то ещё продавать «улучшенные варианты шейдерных эффектов» в таком случае?

И ещё важный момент, игра должна запускаться двумя способами

Зойчем? Мне правда, не вполне понятно. Нуу.. на данный момент бинарник World Viewer-а умеет запускаться в двух режимах. В первом нужно указать путь до JSON файла мира-игры, во втором (если не передавать) – откроется выбирашка, в которой можно выбрать Renderer Plugin, указать настройки сети (для миров поддерживающих это) и собственно JSON.

Впрочем авторам игр потребуется конструктор на подобие того, что Беседка сделала для своего Моровинда и естественно тоже продавать его за плату.

Да, в будущем планирую написать «конструктор игр» и продавать его. Но в будущем.

твой движок должен запускаться не напрямую, а через лаунчер в котором будет таблица из названия игр и пути к папке в которой лежит игра

Такая таблица, ЕМНИП, уже придумана и называется FS. Или я неправильно понимаю идею? «Лаунчер» (GameSelector) уже написан и встроен в движок (см выше).

robus ★★★★★
() автор топика
Ответ на: комментарий от Thero

на звук наверное пока забей. из опенсурсных либ наверное более менее живы только openal и soloud

А, т.е. OpenAL всё же жив в Open Source ипостаси? Thanks. Алсо м.б. потыкаю soloud потом – в частности на тему того, есть ли он хотя бы под онтопиком. Ну а пока go-go qt-multimedia!

можно ещё наверное потыкать в ту что гугл для браузеров и кардборд виара написал, но хз жива ли она.

А как она называется (-лась)?

для поддержки других дистров можно зафигачить жирненький флэтпак

Ок, буду смотреть.

ну и да сделай страничку на itch.io там ИМХО наиболее вовлечённая в такие темы аудитория тусуется.

Займусь этим на уикенд, м.б. чуток позже – смотря как с писаниной стратежки дела пойдут.

самый популярный скриптовый язык всё ещё lua. о нём подумать можно, остальное точно нафиг. если и когда запрос сообщества на биндинги к другим языкам будет, то сами добавят.

Да, помню его – тёплые воспоминания о том, как мне удавалось получать кучу ЖБ, алмов и редстоуна, продавая программы для роботов на LUA в майнкрафте (OpenComputers), хе-хе )) Неужели в геймдизайне он тоже в ходу (а не только «макросы» в WoW и подобное)? Классно, если так )

robus ★★★★★
() автор топика
Последнее исправление: robus (всего исправлений: 1)

ак придумать название игре? Может ли ЛОР помочь с этим? :)

Тотально неверный подход пересекающийся с юридическими проблемами на ровном месте. Придумай такое слово что-бы его даже гугл не выдавал в поиске, а переводчики не могли перевести. И храни это имя в тайне до момента публикации где либо.

anonymous
()

Был тут 1 игрописатель с 2018го пропал как сказали выше, потом был ещё один сказал пока не сделаю игру не приду в 2020том был (хотя он бздун, нет нет да зелетал). Когда твоя очередь пропасть настанет?

anonymous
()
Ответ на: комментарий от anonymous

За меня не переживай, делитну аккаунт, как только ЛОР мне надоест здесь.

Если же тебя так уж сильно беспокоит судьба движка, то, мне, вероятно, стоит разочаровать тебя – не надоест. Ради того, чтобы программировать игры, рендеринг, физику и т.д., я изучал программирование, английский, c++, ООП, Qt, то как вообще устроена графика, OpenGL, glsl, Vulkan. Так что маловероятно, но возможно, что обнаружится фатальный недостаток, и я скажу – «пишу новый двиг, в этом нечего спасать!» – но, опять же, очень-очень маловероятно, Kawaii3D уже пережил некоторое количество рефакторингов и реинжинерингов и не сдох – помогает модульная архитектура и не только (и уж точно – скобочки не тянут на фатальный недостаток, ну вот вообще :D). Ну или же случится фатальный автобус.. Но уж никак не «надоест» :P

robus ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Тотально неверный подход пересекающийся с юридическими проблемами на ровном месте. Придумай такое слово что-бы его даже гугл не выдавал в поиске, а переводчики не могли перевести

Что, всё на столько плохо? Воруют и плагиатят даже фриканые имена? Существует ли аналог патентов или GPL на имена, в таком случае?

robus ★★★★★
() автор топика
Ответ на: комментарий от robus

Да, торговая марка и прочее дерьмо. Но можно без этого, суть в том что-бы не напороться на уже существующее. Ты не можешь назвать свою игру Linux или Misrosoft. Это я к этому, придумай и нахвание появится в момент анонса или публикации и всё. А так существуют целые компании которые выявляют разные слова регистрируют их как свои торговые марки, выжидают когда связанные проекты хоть кто-то выстреливает, а потом приходят и говорят либо переименовывайтесь и платите нам за использование нашего товарного знака или купите у нас этот нейминг. И прочие весёлости капиталистического мира, зачем тебе это всё?Дай игре сейчас любое назавание техническое, а так придумывай другое чёб звучало и всё такое, а как уже гдето игру версии 0,00000000000000000000000000001 опубликуешь там уже и название явно укоренишь за своим проектом.

anonymous
()
Ответ на: комментарий от crutch_master

какой там внутри говнокод

Нет, ну я буду стоять на холме, что говнокод – это размывание семантик владения, систематическое нарушение принципа DRY, не учёт точек роста, вычисление ответа на главный вопрос вселенной в коде рендеринга кадра, неконтролируемая рекурсия на стеке, злоупотребление вложенными if-ами в шейдерах, игнорирование многопоточности, плохая многопоточность, use after free, и далее, далее, далее. Но уж никак не то, как скобочки и отступы стоят.

robus ★★★★★
() автор топика
Ответ на: комментарий от robus

Если же тебя так уж сильно беспокоит судьба движка

Да не особо…. Я свой пишу :D Короче ты меня понял, я тебя понял. Кирате иииййяяяя. )

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.