Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 56 15 21
Геймдеваны, кто-нибудь из вас страдает перфекционизмом? Аноним 11/06/21 Птн 12:35:27 747811 1
16022346880070.png 200Кб, 580x548
580x548
Геймдеваны, кто-нибудь из вас страдает перфекционизмом? Как с этим боретесь? Как сильно это мешает в разработке?

Я занимаюсь кодингом и мне это порой очень сильно мешает. Не могу продолжать работать, пока код не станет "красивым". Порой убивал недели на изменения в архитектуре, которые не влияли на функционал игры.
Аноним 11/06/21 Птн 12:42:24 747815 2
>>747811 (OP)
>кто-нибудь из вас страдает перфекционизмом
Все этим страдают, но пересиливают себя.

Важно поставить сроки, и цель.
К примеру: Сделать игру, где игроку даётся возможность катать мячик по полю за 1 неделю.
Садишься планируешь, и реализуешь. Никаких но, или вот завтра доделаю. Прям ставишь жёсткие рамки и создаёшь. Если проебался, то смело посылаешь себя нахуй и идёшь работать физическим трудом, т.к не способен к самоконтролю и интеллектуальной деятельности.

Запомни, НИКАКИХ НО. Чёткие рамки и сроки. ВСЁ.

Спустя 2-3 маленькие игры и чёткого соблюдения сроков, у тебя это станет нормой, и сможешь заниматься нормальными проектами.
Аноним 11/06/21 Птн 14:02:05 747878 3
>>747876
Кому ты пиздишь? Мне? ОПу? Самому себе?
Аноним 11/06/21 Птн 14:23:01 747882 4
674567457.jpg 7Кб, 247x250
247x250
>>747881
>игры
Ну, как тебе сказать. Играми я бы это не назвал.
Аноним 11/06/21 Птн 14:33:37 747884 5
74567567.png 447Кб, 770x464
770x464
>>747883
Чёт поплохело от скрина.
Аноним 11/06/21 Птн 14:34:43 747885 6
Я первую игрушку писал почти 2 года. Было написано около 800 классов. И то, это я ещё подсмотрел архитектуру у майнкрафта.
Аноним 11/06/21 Птн 14:40:38 747886 7
>>747881
>>747883
Для тебя скорее исключение, молодец.
Аноним 11/06/21 Птн 14:46:19 747888 8
>>747887
Погоди-ка, а разве флеш не умер?
Аноним 12/06/21 Суб 03:36:46 747965 9
>>747815
>Важно поставить сроки, и цель.
Мне не помогает - ставлю срок в неделю... трачу это неделю на переписывание текущего кода и перестановку пробелов в тексте.
А если переписывать уже нечего - начинаю писать этот код заново

(другой анон, страдающий такой же херней как автор темы)
Аноним 12/06/21 Суб 04:37:53 747967 10
>>747811 (OP)
>Как с этим боретесь?
Никак. Поэтому я безработный и нищий.

>Как сильно это мешает в разработке?
Парализует разработку, поскольку в любом случае получается какой-то кал, за который стыдно до конца жизни.
Аноним 12/06/21 Суб 09:27:23 747981 11
>>747811 (OP)
>страдает перфекционизмом?
Да.
>Как с этим боретесь?
Никак не получается. Дедлайны не помогают, только усугубляют стресс.
>Как сильно это мешает в разработке?
Настолько, что в конце концов я психую, всё бросаю и ухожу в депрессию на какое-то время (неделя, месяц, полгода).
Аноним 12/06/21 Суб 11:18:28 747995 12
wf22y.jpg 296Кб, 1600x1200
1600x1200
Аноним 12/06/21 Суб 13:58:08 748037 13
>>748016
>Зато перфекционист сможет сделать то, что обычная макака не сможет.
В 99% случаев перфекционист не сделает ничего.
Перфекционизм – это психическая болезнь. Такая же как, например, ОКР.

>строит правильную архитектуру, применяет правильные паттерны
Нет никакого правильного. Всегда будет что-то не так.

>Макаки просто постоянно барахтаются на низшем уровне
Перфекционисту даже до уровня макаки тяжело дотянуть. Скорей всего он перегорит, бросит и пойдёт искать работу дворника.
Аноним 12/06/21 Суб 14:09:45 748039 14
RcJiYfxSj8w.jpg 22Кб, 604x359
604x359
Пишу на C#. Меня тут недавно заклинило. В игре есть различные сервисы. Доступ к ним осуществляется по интерфейсу. Это нужно для того, чтобы можно было вместо реального сервиса подставить тестовый. Например, реальный сервис работает со Steam API и возвращает данные аккаунта, а тестовый сервис возвращает заранее сохранённые данные с ПК.

Так вот. У некоторых интерфейсов свойства возвращают Array/List. Некоторые интерфейсы возвращают классы с открытыми полями. Я на это тригернулся. Типа, какого хуя с одной стороны закрытая абстракция, а с другой - изменяй что хочешь? Часть классов заменил интерфейсами, другую часть классов сделал закрытыми посредством инициализации через конструктор. Array/List заменил интерфейсом IReadOnlyList. И что я этим добился, блять? Сделал игру лучше? - нет. Добавил новый функционал? - нет. Просто проебал время впустую нахуй. Сорвался как завязавший наркоман.
Аноним 12/06/21 Суб 14:48:30 748043 15
Расскажите ваши безумные случаи. В коде или в моделинге или в рисовании.
Аноним 12/06/21 Суб 16:06:05 748054 16
>>748045
>перепизаписал бы ачивки всем игрокам
Ага, я же совсем дурак. Ни разу мне это не пригодилось. Такое актуально в игровых студиях, когда над проектом работают несколько программистов.
Аноним 12/06/21 Суб 18:11:22 748069 17
>>747887
у меня одного русские переменные вызывают лютый кринж? ohotaFish, heroRazmer, countPresled
Аноним 12/06/21 Суб 18:19:36 748072 18
Первым делом из команды надо гнать нахуй перфекционистов.
Обычно они любят поныть о том, какие они гении и как надо все делать, но мир жесток и не дает сделать их игру мечты.
А кроме нытья нихуя не делают.
Аноним 12/06/21 Суб 18:24:08 748073 19
>>748016
Ты путаешь адекватное восприятие задач с перфекционизмом. Перфекционист будет искать лучшее решение даже тогда, когда нашёл лучше из возможных. Перфекционист будет жестоко страдать от того, что идеальное решение недостижимо физически или он не может достичь его лично. Даже когда перфекционист пытается смириться с реальностью и использовать то, что ему реально доступно, он всё равно будет мучиться и хотеть невозможного, будет постоянно думать о том, как достичь лучшего, чтобы бросить имеющееся неидеальное. И это отнимает силы, время, желание что-то делать. Я уж не говорю о том, что каждый раз делаешь всё с нуля, и каждый раз бросаешь на полпути, осознавая неизбежное неидеальное решение.

Вот этот прав - >>748037, похоже личный опыт.
Аноним 12/06/21 Суб 18:35:56 748075 20
>>748069
Ты не одинок. Я сам ищу слова в словаре, чтобы набрать на английском, хотя мой код всё равно никто не увидит и комментарии я пишу на русском. Просто бесит транслит. Не писал транслитом уже когда учился программированию в школе, не понимаю как некоторые во взрослом возрасте продолжают это делать.

При этом я ничего не имею против кириллических языков программирования. Если весь язык на кириллице, то всё нормально, обзывай сущности русскими словами. Или вот даже не обязательно кириллический язык... Некоторые компиляторы поддерживают парсинг Unicode, позволяя называть переменные, типы данных, классы, методы, имена функций и так далее почти любыми символами Юникода (кроме, естественно, пробела, плюса, дефиса, косой черты, точки, звёздочки и т.д.). То есть разработчики языка дали тебе возможность обзывать переменные кириллическими символами - используй это! Нет, буду писать кривым транслитом. Зачем так?..
Аноним 12/06/21 Суб 19:25:22 748085 21
15683921024310.webm 483Кб, 500x494, 00:00:09
500x494
>>748069
>ohotaFish, heroRazmer, countPresled
Аноним 12/06/21 Суб 19:27:10 748086 22
>>748072
>А кроме нытья нихуя не делают
Но я смог таки выпустить две игры. В плане кода не маленькие.
Аноним 12/06/21 Суб 19:28:02 748087 23
>>748086
и что они идеальные и народ оценил твой этот дроч на перфекционизм, что принесло тебе сотни нефти?
Аноним 12/06/21 Суб 19:30:02 748088 24
>>748087
Дроч на перфекционизм был крайне излишним. Я бы мог вложить это время в улучшение игр или в создание новых. Ещё кукуха поехала от постоянного стресса от продумывания кода. Но игры взлетели.
Аноним 12/06/21 Суб 19:30:25 748090 25
Аноним 12/06/21 Суб 19:49:32 748100 26
>>748088
>Дроч на перфекционизм был крайне излишним.
>Я бы мог вложить это время в улучшение игр
А это не одно и то же?
Аноним 12/06/21 Суб 19:50:12 748101 27
wb5kFsDjXNI.jpg 81Кб, 800x640
800x640
image.png 60Кб, 869x1198
869x1198
>>748090
Ну, первая называлась Орион Онлайн. Мы её продали. Сейчас есть урезанная версия Orion Sandbox (не путать с Enhanced, это уже рескин от других людей). Я там где-то около 800 классов написал. Свой движок, свой UI. Всё ради максимальной производительности. Но можно было больше вложиться в функциональность, в лучшую физику, в нормальный ИИ, а не дрочить код.
Аноним 12/06/21 Суб 21:28:10 748114 28
>>748101
скока они бабла принесли в итоге?
Аноним 12/06/21 Суб 22:29:34 748125 29
>>747815
Нихера это не работает.
сделал почти 10 мелких игор, не релизнул ни одной большой
Аноним 12/06/21 Суб 23:12:46 748130 30
>>748114
Конкретно песочница принесла мало. Я чистыми заработал миллион с копейками где-то.
Аноним 12/06/21 Суб 23:20:52 748131 31
Делал после работы простенькую игру. Начинал в сентябре, прервался в апреле, сейчас снова возвращаюсь чтобы добить уже. Думаю за пару месяцев плотной работы можно было сделать полностью. Сильно замедлил, когда стал проходить всякие лекции по программированию, паттернам проектирования. Переписывал архитектуру зачем-то, просто чтобы применить новые знания. Пробовал варианты визуала, но в итоге возвращался к старому. Думаю сделать мвп и пойти по издателям, чтобы издатель пинал меня по срокам ибо свои дедлайны я пребываю.
Аноним 13/06/21 Вск 00:51:28 748135 32
Аноним 13/06/21 Вск 08:28:56 748147 33
Поддерживаю бро
Аноним 13/06/21 Вск 08:58:26 748149 34
>>748016
>Перфекционизм - это круто.
Я уже десятый год не могу свою игру сделать с этим перфекционизмом.
Стопятсот раз переписываю код,
Больше некуда переписывать? Ниче, начну писать его заново.
Написал заново? Там вон движок новый вышел - буду писать на нем.
Нихуя не получилось на новом движке? Там в ютубе ролик с уроком где делают нужную мне фичу, надо возвращаться на старый движок и сделать этот урок....
Мать вашу что тут за говно в коде - срочно все переписать
О, а вот у этого чувака в стиме крутая игра, тоже хочу такую... начну делать новую игру.

Перфекционизм - это лучший способ просрать свою жизнь.

>>748016
>строит правильную архитектуру
Нельзя построить правильную архитектуру не сделав до этого ни одной игры - просто опыта нет. Проблема перфекционизма - это мнимость.Ты сам придумываешь себе неправильный код и идеальный код. Только это не так - вся эта правильная архитектура - все такое же говно, потому что не прошла боевое крещение на реальном проекте.
Аноним 13/06/21 Вск 09:40:28 748153 35
image 14Кб, 250x196
250x196
>>748149
>Перфекционизм - это лучший способ просрать свою жизнь.
Поддвачну этого сверхразума, с точностью до 99.999% согласен.
Аноним 13/06/21 Вск 10:39:37 748164 36
>>748100
Я думаю, под "улучшением игр" он имеет в виду геймдизайн, левелдизайн и так далее, то есть то, с чем игрок непосредственно взаимодействует. А дрочил он на красивый код или какие-нибудь паттерны программирования...
Аноним 13/06/21 Вск 10:52:02 748165 37
>>748101
О, а как освещение делали? Где-то есть туториал или сами придумали? Шейдеры или на процессоре? Или это просто заранее нарисованные маски?

Я пробовал этой весной сделать что-то подобное, застрял на освещении. Нашёл какой-то алгоритм, но он медленный (свет распространяется и угасает постепенно, как вода течёт) и имеет кучу недостатков (в определённой ситуации свет может "застрять" на краю видимой области; источники света рядом создают странные переходы; и т.д.). Также не удалось сделать сглаживание, простое растягивание текстуры создаёт тёмные ореолы вокруг блоков, выглядит отвратно. В результате забил на проект, какой смысл в игре без нормального освещения?
Аноним 13/06/21 Вск 10:56:50 748166 38
>>747815
>сможешь заниматься нормальными проектами
>>748125
>не релизнул ни одной большой
А кто тебе обещал, что релизнешь? Занимался же, этого достаточно.
Аноним 13/06/21 Вск 11:19:24 748170 39
>>748149
>Там вон движок новый вышел - буду писать на нем.
>Там в ютубе ролик с уроком где делают нужную мне фичу, надо возвращаться на старый движок и сделать этот урок....
>О, а вот у этого чувака в стиме крутая игра, тоже хочу такую... начну делать новую игру.
Имхо, у тебя помимо перфекционизма ещё и неспособность фокусироваться на одной задаче. Короче говоря, очень легко отвлекаешься. Может быть, СДВГ? Я вот тоже часто мечусь от одного к другому, не могу сфокусироваться - но это не имеет отношения к перфекционизму. Перфекционист, наоборот, долго и упорно сидит над одним делом, доводя до совершенства, а не прыгает беспорядочно от одной задачи к другой. У людей с СДВГ или чем-то подобным проблема, что они не могут сосредоточиться, их мозг постоянно находит новые интересные штуки и увлекается ими, бросая всё старое, даже срочное; возможно, это может сочетаться с перфекционизмом, но это отдельная тема.

>Нельзя построить правильную архитектуру не сделав до этого ни одной игры - просто опыта нет
Лол, ты это философам скажи, которые строят всякие социальные модели, всю жизнь будучи только философом и не реализуя свои модели самостоятельно. Опыт, конечно, важен, но кроме личного опыта есть книги, сайты, руководства, помощь более опытных людей, в конце концов самостоятельный анализ, моделирование будущего приложения, планирование. Другое дело что игры - очень сложны, тем более если пишешь без готового движка. На готовом движке архитектуру придумали за тебя...

>Ты сам придумываешь себе неправильный код и идеальный код
А вот это вообще бред. Как у неправильного, так и у правильного кода есть свои чёткие критерии, по которым их можно определить. И эти критерии зачастую общие для всех программистов, всех языков, систем, проектов. К примеру, называть важную переменную, функцию, тип, класс и т.п. одной буквой - это неправильно, потому что однобуквенное название в большинстве случаев непонятно. Нормально называть счётчик цикла "i", или "x" и "y", но нельзя называть что-то нетривиальное случайной буквой. И таких критериев или правил очень много, о них пишут целые книги. Ты можешь, конечно, придумать себе какие-то новые правила или отказаться от некоторых общепринятых, но чаще всего ты будешь согласен с общепринятыми критериями правильного кода, потому что они испытаны на практике миллионами людей и доказали свою важность.

Вообще, любой человек, хорошо разбирающийся в программировании, согласится с перфекционистом в том, что было бы очень здорово иметь идеальный код. Но этот человек не будет бросать все ресурсы на создание идеального кода, потому что это будет нерациональной тратой времени и сил, а результат не компенсирует затрат. А вот перфекционист готов бросить всё ради достижения идеала, и если идеал недостижим, он будет страдать и бросать начатое. То есть идеалы перфекциониста адекватны, неадекватно стремление эти идеалы достичь любой ценой.
Аноним 13/06/21 Вск 11:53:51 748173 40
>>747811 (OP)
> Как с этим боретесь? Как сильно это мешает в разработке?
Постановка целей и определение приоритетов.
Например, загрузка\сохранение карты это важнее чем красивое окошко с кистью для рисования.
Аноним 13/06/21 Вск 12:21:51 748177 41
image.png 59Кб, 919x838
919x838
image.png 66Кб, 904x838
904x838
>>748165
>а как освещение делали?
Это очень простое освещение по тайлам. Для каждого тайла просчитывается color. Есть глобальное освещение. И есть источники света, которые распространяют свет по кругу. Сущности берут освещение из тайлов. Тени на краях тайлов рисуются спрайтами отдельно простым алгоритмом (если тайл сплошной и снизу нет другого сплошного тайла, то рисуем снизу тень, и так далее).

>свет распространяется и угасает постепенно, как вода течёт
В террарии вроде такой. Можешь посмотреть их исходники. У меня освещение примитивнее.
Аноним 13/06/21 Вск 22:26:38 748236 42
Меня вдохновляет разработчик из Facepunch. Он уже давно работает на кодом идейного продолжения Garry's Mod. У него получается простой и элегантный код. И этим кодом потом будут пользоваться сотни сторонних разработчиков. Эх...

https://sbox.facepunch.com/news/jan2021
https://sbox.facepunch.com/news/march2021
https://sbox.facepunch.com/news/feb2021
Аноним 13/06/21 Вск 22:35:27 748240 43
>>748236
>И этим кодом потом будут пользоваться сотни сторонних разработчиков.
Или не будут.
Аноним 13/06/21 Вск 23:11:02 748248 44
>>747811 (OP)
Я страдаю.
Джва года переписывал код с нуля, потому что предыдущий код не был ПЕРРРФЕКТО. Так и сижу без игор.
Аноним 18/06/21 Птн 16:11:40 749237 45
Всю ночь просидел над бессмысленной мелочевкой, которая не влияет на игру. Проснулся с подгорелой жопой.
Аноним 19/06/21 Суб 09:24:40 749411 46
Не страдаю
Аноним 21/06/21 Пнд 09:48:48 749782 47
Была рабочая игра. Да, код хреновый, но он работал и в коде довольно много связей. Нужно было всего лишь добавить новый функционал. Но вместо этого я начал глобальные изменения. А они привели к тому, что мне ВЕСЬ код нужно переписывать. Дороги назад уже нет. Загнал себя в угол. Ну хоть остановился вовремя. Попробую сильно не заморачиваться.
Аноним 21/06/21 Пнд 13:48:42 749804 48
>>749800
>по специальным методикам
А можно где-то об этом почитать?
Аноним 21/06/21 Пнд 15:32:32 749827 49
>>747887
Блядь, вот с этого кода я вообще пиздец чуть сознание не потерял, еп твою мать как же хорошо что флеш все таки прикрыли...
Аноним 21/06/21 Пнд 16:40:14 749842 50
>>747811 (OP)
Перфекционизм еще разный бывает.
Я иногда стопорюсь, если первое представляемое решение мне не нравится. Оно обычно громоздкое, трудоемкое, мне просто лень кодить всю эту лапшу.
В итоге могу несколько дней вынашивать мысль, пока не придет в голову более элегантное решение. Я осознаю, что какие-то вещи на самом деле не надо делать, что-то можно сделать проще. И в таком случае уже с более спокойной душой и некоторым энтузиазмом сажусь за написание кода.

Иногда специально задаюсь целью сделать какую-то фичу проще, с минимальными изменениями, на существующем коде, не ломая ничего. И зачастую код получается изящным в своем роде, он прост, минимален, логичен. Нет ничего лишнего, только решение конкретной задачи на своем законном месте.

Периодически делаю рефакторинг, чтобы подчистить код. Все тоже в минималистичной манере. Выделение переменных или констант где надо, потом от этого проще выделять куски в отдельные функции. Когда собирается ряд специфичных методов, тогда можно подумать над выделением их в какой-то новый файл или класс.
Но к рефакторингу приступаю обычно с подходящим настроением, просто знаю, что один вечер надо заняться черной работой по коду, максимально сконцентрироваться, сделать все внимательно, чтобы не потерять ничего. И конечно же дроблю все на маленькие кусочки и сразу тестирую, чтобы сразу локализовать поломку.
Аноним 22/06/21 Втр 01:20:51 750012 51
a88e55db1391094[...].jpg 110Кб, 674x899
674x899
39113892.jpg 36Кб, 415x586
415x586
>>750010
От души душа в душу. Куплю эти книги.
Аноним 22/06/21 Втр 02:59:39 750028 52
image.png 66Кб, 729x987
729x987
image.png 75Кб, 723x1117
723x1117
Есть два вот таких класса, которые реализуют определённую логику. Если бегло посмотреть, то вам понятно что они вообще делают?
https://pastebin.com/vpj6n6SD
https://pastebin.com/bZFhaaix

И второй момент. В первом классе есть метод UpdateNotifiers (пик-1). По сути его можно разбить на дополнительные методы (пик-2). Но стоит ли? Интуиция подсказывает, что таки стоит.
Аноним 22/06/21 Втр 12:44:06 750070 53
>>750010
Ноунейм погромист с ютуба говорит что знает что нужно бизнесу
@
А бизнес-то и не знал, что ему нужен хороший код завтра, а не прибыль вчера

Алсо топовый коммент:
>хотел посмотреть видос как стать хорошим программистом, а в итоге посмотрел пару очевидных советов и остальное реклама супер мега крутого курса, где в прямом эфире Роман распродал все места.

Ящитаю, самые главные перфекционисты - это те, кто вместо разработки своих программ сидят на ютубе и смотрят многочасовые лекции про "хороший код", в которых говорят о банальных вещах, которые можно прочитать за 5 минут на Википедии. Серьёзно, программисту должно быть стыдно смотреть ютуб на темы, хотя бы немного касающиеся разработки софта.
Аноним 22/06/21 Втр 13:45:08 750078 54
>>750040
>Прост можно сразу в свичах фильтр задавать
Да, пожалуй. Просто изначально я хотел отображать кол-во новых предметов.

>>750041
Ну, мне кажется это только усложнит код. Смысл так сокращать.
Аноним 22/06/21 Втр 14:30:53 750088 55
>>750085
Точно. Спасибо. Там надо написать:
inventoryFilter.HasFlag(notifier.Filter)
Аноним 22/06/21 Втр 15:28:29 750098 56
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов