|
22 / 10 / 2
Регистрация: 25.06.2018
Сообщений: 155
|
|
Нужны советы по разработке игр30.11.2018, 17:04. Показов 12477. Ответов 209
Метки нет (Все метки)
Здравствуйте,Я давно мечтаю создавать свои онлайн игры, Сейчас освоил базу си, покопавшись в нем понял что игр хороших на нем не слепишь, ни один день скитаюсь по форумам, читаю статьи и Решил. Начну изучать C++. Я знаю что разработка игр это нелегко и мне много чего нужно узнать, Я не знаю с чего начать. Сейчас любой совет на вес золота.
А больше мне нравится кодить и придумывать сценарий. Для моих будущих игр я уже придумал частичто свою историю. Может это и покажется странным, но когда я смотрю прохождение игр, у меня включается во мне разработчик, и я начинаю думать с точки зрения разработчика. Как какая то механика могла быть реализована в коде. Вобщем Буду очень благодарен вашим Любым полезным советам!
0
|
|
| 30.11.2018, 17:04 | |
|
Ответы с готовыми решениями:
209
Нужны советы по разработке игр Нужны советы по разработке приложения под Android |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 16.01.2019, 16:56 | ||||
|
Добавлено через 5 минут Добавлено через 8 минут
0
|
||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 16.01.2019, 16:58 | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 16.01.2019, 17:27 | ||||
|
Добавлено через 4 минуты
0
|
||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||
| 16.01.2019, 18:14 | ||||
|
Но я о другом говорю. Что глубина декомпозиции в общем случае бесконечная. И что внутри атома есть нуклоны, внутри нуклонов - кварки, внутри кварков - струны и т.д. Добавлено через 9 минут Добавлено через 14 минут
0
|
||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 16.01.2019, 18:59 | |||||
|
Добавлено через 10 минут Добавлено через 32 минуты
0
|
|||||
|
4139 / 2717 / 433
Регистрация: 09.09.2017
Сообщений: 12,050
|
|||||
| 17.01.2019, 10:48 | |||||
|
Кликните здесь для просмотра всего текста
Все это достаточно просто делается при помощи наследования, когда у потомка дописывается только тот функционал, который ему нужен, без всяких гонок за универсальностью.
Добавлено через 32 секунды А да, чуть не забыл. Что там с решателем квадратных уравнений?
0
|
|||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 17.01.2019, 11:29 | ||||
|
Добавлено через 5 минут Добавлено через 9 минут Т.е. суть - вместо того чтобы реализовывать по отдельности каждый из списка необходимых контролов, каждый со своим набором реализации прибамбасов, выясняется из каких вообще универсальных для всех контролов элементов они могут состоять, реализуется этот набор универсальных элементов, количество которого гораздо меньше количества типов контролов, потом сами контролы собираются из этого универсального набора механизмов. И вот именно такой подход позволяет сократить код на 90+% и избежать рефакторинага на 100%.
0
|
||||
|
4139 / 2717 / 433
Регистрация: 09.09.2017
Сообщений: 12,050
|
||
| 17.01.2019, 12:29 | ||
|
Потом начнется процесс изобретения архитектуры. Тут есть два варианта. Первый (типичный): пишется прототип, на нем собирается максимально возможное количество граблей, не описанных в документации. Зачастую этот прототип сразу же тестируется в "боевых" условиях. Потом на основании собранных граблей и хотелок пользователей (а пока они не попробуют, конкретного мнения у них не будет) проводится рефакторинг и выпускается законченный продукт. Далее наступает сопровождение, поскольку хотелки у пользователей возникают постоянно, как и способы сломать программу, как и нахождение багов и пограничных случаев. Второй вариант (идеалистический): разрабатывается идеальная архитектура, потом она реализуется, что в результате дает идеальный продукт. На практике же попытка учесть вообще всю собранную информацию приведет к попытке вызубрить все физические законы (без понимания) и пытаться решить практическую задачу. И даже если это каким-то чудом получится, любое изменение требований поломает всю тщательно настроенную систему, поскольку вы изначально делаете ее закрытой для изменений. Ваш подход еще кое-как работает для примитивных встраиваемых систем, где влезть в конструкцию или провести обновление крайне сложно, а сам объем кода невелик. Но уже для встраиваемых систем высокой сложности он не работает вообще: слишком много информации, слишком часто меняются требования, слишком велика вероятность обнаружения багов или угроз.
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 17.01.2019, 12:52 | |||||
|
А типичный как раз классический подход к разработке. Добавлено через 5 минут Чем сложнее система тем менее применимы антинаучные срамо-агилы. Добавлено через 10 минут И именно этот факт - неограниченность вариантов сборки и позволяет как граблей избегать так и быстро и гибко подстраиваться под изменения необходимые для более других ниш. Вы вообще в курсе, что к примеру SolidWorks, Katia и Siemens MX отличаются только UI обеспечивающим разные способы ввода команд одному и тому же движку?
0
|
|||||
|
|
||
| 17.01.2019, 12:56 | ||
|
кодом пишут движок, физику, звук, ИИ, и прочие компоненты среды для разработки игр. а вот чтобы слепить всё это в одно нужна как раз таки среда, называемая software development kit (SDK). поэтому для начала определитесь чего вы хотите: - писать свой движок и окружение для него - либо создавать игры. если первое, то изучение C/C++ необходимо как мана небесная, т.к. все движки это сишный язык. если второе, то чего вы забыли на этом форуме? берете любой бесплатный SDK (например unreal engine udk, cryengine sdk, unity в конце концов) и на ютуб за видео уроки. программировать здесь совсем не нужно будет, вы просто создаёте сцены, модели, шейдеры, свет и всё это объединяете в конструкторе в одно целое.
1
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 17.01.2019, 13:00 | ||||
|
Если уж какое видео и смотреть - то курсы университетских лекций на тему подкапотного матана.
0
|
||||
|
|
||
| 17.01.2019, 13:02 | ||
|
не нравиться моё мнение, останьтесь при своём. в чём проблема то? остальной комент даже не читал, чушь.. Кликните здесь для просмотра всего текста
ни грамма кода, а сцена готова.
1
|
||
|
4139 / 2717 / 433
Регистрация: 09.09.2017
Сообщений: 12,050
|
||||
| 17.01.2019, 14:03 | ||||
|
Или под своим способом вы понимали что-то другое, не то, что вы тут описываете уже которую страницу? Тщательный сбор требований, создание универсальных блоков, рассмотрение всех возможных комбинаций входных данных, выпуск единственной идеально работающей версии. Вы описали именно такое. На практике не наблюдается ничего из этого. И требования собираются сначала самые общие и по небольшому кругу пользователей, и задача изначально решается только одна, частная, и промежуточных версий сотни разной степени забагованности. Потом к этому клубку добавляется все новый и новый функционал, пока не назреет необходимость рефакторинга. Вот тогда кучу частных случаев сливают в универсальную функцию, перестраивают архитектуру и т.п. И именно для этого нужны те же юнит-тесты, чтобы после пересборки проверить не поломалось ли чего. Естественно, все это несколько утрировано: хоть какая-то архитектура всегда нужна, от этого зависит гибкость кода и, следовательно, время между циклами рефакторинга. Часть функционала программист унифицирует сразу - насколько позволят его опыт и доступное время. Но вот фанатично копать информацию ради 1.5 случаев, которые случаются примерно раз в тысячу лет и вдвое усложняют программу, он все же не будет. . И вы упорно игнорируете конкретный пример с квадратными уравнениями. Какую конкретно информацию вы будете собирать для решения такой задачи? Какие случаи предусмотрите?
0
|
||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 17.01.2019, 15:11 | ||||||||
|
Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 2 минуты Добавлено через 15 минут Новые же средства к примеру того же С++ при этом просто позволяют делать тоже самое что и легаси средства чуток меньшим количеством кода. И это реально круто для написания нового кода. Но пределка уже существующего кода который не требует рефакторинга по другим причинам на эти новые средства- ну это бесполезная трата времени которая не дает абсолютно никаких преимуществ. Так это С++ касается у которого новый стандарт с новыми вкусняшкуми каждые 3 года. А к примеру у дельфы практически ничего не добавилось с 90-х. Она сразу хорошо продумана была под свои цели и задачи, хотя в общем по языковым средствам сильно уступает даже плюсам середины 90-х, и за ними как раз ее и тянут за уши. Но как бы на продуманность архитектуры и т.д. это абсолютно никак не влияет. Вообще весь этот легаси-код который дожил до сегодняшнего дня обычно сделан на несколько порядков более грамотно чем современный срамо-агил и как результат и по сей день работает гораздо лучше срамо-агила того же направления, и будет пахать даже тогда когда срамо-агил давно схлопнется и про него давно забудут как про дот-комы конца 90-х. Добавлено через 14 минут Вообще юнит-тесты из лектроники пришли и принесли их ни разу не программисты а "эффективные" менеджеры по принципу раз там было эффективно то и тут должно что ни разу не правда. Добавлено через 13 минут Добавлено через 10 минут
0
|
||||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 17.01.2019, 15:26 | ||
|
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 17.01.2019, 15:33 | ||
|
К примеру в том же солиде сначала реализовали движок первой очереди - геометрическое моделирование. Потом вообще не трогая оный движок приделали универсальный движок счета по конечно-разностных схем который использует модели сгенеренные геометрическим двиглом как исходные данные. А вот дальше уже посадили пару тысяч ученых из разных наук делать пресеты для схем счета оными конечно-разностными схемами задач по их накам. Надеюсь понимаете что рефакторить что то в этих двух движках первой очереди, которые реально были запилины не более чем пятью человеками за год - это полностью похерить десятилетия работы тысяч человек. Это не считая что похерится все что пользователи напользовали. Поэтому и делается оно сразу так чтобы никогда не рефакторить а только расширять при необходимости.
0
|
||
|
4139 / 2717 / 433
Регистрация: 09.09.2017
Сообщений: 12,050
|
|||||||||||
| 17.01.2019, 15:39 | |||||||||||
|
Обычно-то программы пишут именно для пользователей, и именно их задачи решают. Нет, когда заранее предполагаешь что вероятность этого высока, можно сразу заложить слои совместимости и прочее. Жаль только, что экстрасенсов так мало и большую часть времени они проводят в отпуске, так что не могут подсказать какая именно программа доживет до необходимости портирования, а какая будет забыта на следующий же день после релиза.
1
|
|||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||||||
| 17.01.2019, 18:13 | |||||||||||||
|
Опять же задачи такого уровня как решение нелинейных уравнений и систем нелинейных уравнений достаточно тривиальны и комплексно решены и сведены в соответствующие библиотеки еще в 50-х и не требуют абсолютно никакого рефакторинга с тех пор. Кстати так о птичках главная причина долгожительства фортрана на суперкалькуляторах. Именно потому что правильно разделили задачи на предметные области и комплексно подошли к созданию универсальных наборов для их решения. Добавлено через 39 секунд Добавлено через 1 минуту Добавлено через 4 минуты Добавлено через 4 минуты Добавлено через 1 минуту Добавлено через 5 минут Здеся так не получится. А тем более при наличии внутренних состояний. Добавлено через 23 минуты А то что типа на спринтах и опросах пользователей строится забудут в подавляющем большинстве еще до релиза. Ну откуда бедному юзверю то знать как компу вместо него работу делать? Что то более-менее внятное на эту тему можно услышать разве что от бухгалтеров. Да и то как из той простыни видов начислений удержаний и т.д. сделать десяток универсальных управляемых данными кирпичиков для построения этих видов они не в курсах по определению. Добавлено через 9 минут Вопрос - где будет меньше ошибок? И где их все быстрее заметят и исправят если они будут? И даже если использовать юнит-тестирование (которое для такой штуки реализованной в виде оператора кстати так о птичках весьма даже применимо потому что ветвлений оно не имеет а внутренние состояния обоих операндов легко задаваемы в самом тесте) какой код проще покрыть тестами? Очевидно что в универсальной реализации. Добавлено через 38 минут Добавлено через 26 минут И даже того что эффективным может быть только взаимное тестирование 3+ алгоритмов, а никак не ручная подготовка контрольных данных для тестов, которая только увеличивает вероятность ошибки.
0
|
|||||||||||||
|
4139 / 2717 / 433
Регистрация: 09.09.2017
Сообщений: 12,050
|
||||||||||
| 18.01.2019, 12:42 | ||||||||||
|
Но вопрос был в другом: какие именно условия вы предусмотрите при написании программы решения квадратного уравнения? Будет ли там хотя бы проверка наличия корней? Очевидно, что внутренняя структура библиотеки будет меняться, но вот интерфейсы - нет (они вообще в стандарте прописаны). Но даже в аналоговой проверить всю "таблицу истинности" невозможно, уж слишком много возможно комбинаций входных сигналов, да и о внутренних состояниях (заряды конденсаторов, температуры компонентов) нельзя забывать. Еще раз: все эти проверки нужны не для того чтобы гарантировать отсутствие ошибок (это невозможно), а чтобы снизить их количество. Как хороший программист, вы решаете добавить к своей программе интерфейс. Размер возрастает в несколько раз, зато теперь инженер может сразу видеть результат своих трудов, красиво оформить и т.д. Хэппи энд. А потом он приходит и говорит: "всем хороша твоя программа, но мне тут часто приходится делать чертежи отдельных узлов, нельзя ли их как-то свернуть в блок, а то все тормозить начинает". Вы понимаете, что нужно добавлять блоки, слои и тому подобное. Но как это сделать, если исходная программа рассчитывалась на один большой лист? Сбор требований тут опять же не поможет, именно потому что инженер пока не знает как это можно сделать по-другому и к каким проблемам это приведет. И вот начинается процесс добавления ко всем объектам еще и номера слоя, управление отображением, переключение и прочее. В лучшем случае дело решится добавлением небольшого костыля (инженеру работать надо, а не любоваться архитектурой! Чем быстрее выпустите новую версию, тем лучше). Надеюсь, суть понятна. Даже если такое случилось и программа, ранее работавшая нормально и вдруг ставшая выдавать чушь, попала к пользователям. Что происходит дальше? Они пишут баг-репорт разработчикам, те смотрят где именно возникает ошибка, исправляют ее и добавляют этот случай в тесты чтобы не повторилось в будущем.
0
|
||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||
| 18.01.2019, 13:15 | ||||||||||
|
Добавлено через 2 минуты Добавлено через 8 минут Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 8 минут
0
|
||||||||||
| 18.01.2019, 13:15 | |
|
Собираю PC для игр. Нужны советы! Компьютер для игр ( нужны советы ) Советы по разработке классов Советы по разработке алгоритма Советы в разработке БД: составления расписания в ВУЗе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|