1. Куча / Говнокод #26986

    0

    1. 1
    Пиздец-оффтоп #6

    #1: https://govnokod.ru/26503 https://govnokod.xyz/_26503
    #2: https://govnokod.ru/26541 https://govnokod.xyz/_26541
    #3: https://govnokod.ru/26583 https://govnokod.xyz/_26583
    #4: https://govnokod.ru/26689 https://govnokod.xyz/_26689
    #5: https://govnokod.ru/26784 https://govnokod.xyz/_26784
    #5: https://govnokod.ru/26839 https://govnokod.xyz/_26839

    Запостил: nepeKamHblu_nemyx, 28 Сентября 2020

    Комментарии (479) RSS

    • Добрый вечер.

      Этот оффтоп сгенерирован автоматически.

      Индекс оффтопов: https://index.gcode.space/.
      Зеркала Говнокода и полезные ресурсы:
      * https://govnokod.xyz/ (альтернативный Говнокод)
      * https://gcode.space/ (read-only зеркало Говнокода)
      * @GovnokodBot в «Telegram»
      * https://vorec.space/ (глоссарий Говнокода)
      Ответить
    • > Кстати, здесь кто-нибудь был бабой в соцсетях?
      Бывал несколько раз, правда, недолго и не в соцсетях. Заодно отточил навыки автоматического исправления рода: теперь могу спокойно писать и говорить в любом роде без ошибок.

      P.S., ротоёб, поубавь пыл минусатора, из-за тебя ГК тормозит и в эксцепшон складывается.
      Ответить
      • я был в онлайн игре месяц наверное
        в той же онлайн игре я взрослым прикидывался
        это нормально для детей я думаю
        Ответить
        • я себе пару лет добавлял тоже, когда был совсем мелким пиздюком, и только попал в инет

          правда, это было не в онлайн играх
          Ответить
      • Бабой — это слишком банально. Я вот лопатой был, правда, недолго и не в соцсетях.
        Ответить
      • >Бывал несколько раз, правда, недолго и не в соцсетях.
        стесняюсь спросить -- где?
        Ответить
      • Куда сложнее писать текст таким образом, чтобы невозможно было определить пол автора. Некоторое время назад мною осуществлялся троллинг на женском форуме (в основном, на тему того, что многодетным надо платить больше и давать квартиры), и было необходимо соблюдать в отношении себя гендерную неопределённость, так как это создавало специфический эффект - хомячки на форуме бурлили гораздо мощнее, чем под ветками других троллей, которые постили конкретно от имени баб или мужиков.
        Ответить
        • Подтверждаю. Для этого требуются изобретательность и хорошее владение русским языком.

          То ли дело «английский»: в первом лице хуй разберёшь, баба пишет, или мужик.
          Ответить
          • > Некоторое время назад мною осуществлялся троллинг
            какое владение русским языком ))
            Ответить
            • Да, звучит грубо. Но там, в ходе жарких дискуссий, мне как-то удавалось подбирать менее топорные способы скрыть свой пол в тайне. На любой троллинг обязательно надо настраиваться и быть готовым выделить под него не менее двух-трёх часов.
              Ответить
            • Да, в этом деле прошедшее время — главный враг. Приходится менять либо подлежащее («Вчера я видел птичку» — «Вчера мимо меня пролетела птичка»), либо время («Я всегда считал, что PHP — говно» — «Я считаю, что PHP — говно»).
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • Для лулзов. Ещё можно в графе «Имя» написать «Саша» и потечь.
                  Ответить
                  • Или "Женя".
                    Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • потому что лучше восемь часов смотреть на низкополигональную женскую жопу, чем на низкополигональную мужскую

                      ещё спроси, почему в каждой второй игре женские персонажи выглядят как секс-куклы
                      Ответить
                      • какой пиздец

                        именно по этому я за супер марио 1986, там пол персонажа не важен
                        Ответить
                        • фигасе неважен

                          прикинь, прибегает Марио в Замок, а там вместо Принцессы или Тоуда (я специально гуглил, как эту хуйню зовут) сидит Чёрный властелин
                          Ответить
                        • Именно поэтому я за игры где нет мужских персонажей.
                          Ответить
                          • а такие есть?

                            эти хуемрази заполонили собой всё
                            Ответить
                            • Rabi Ribi к примеру, очень жёсткий платформер, несмотря на няшную графику.
                              Или вся серия jrpg'шек про Нептунию.
                              Ответить
                              • почему ты убрал про страдания?

                                я наслаждался ними
                                Ответить
                                • Потому что мне стыдно, что я её только на изи прошёл. Там боссы как в Тохо Проджекте.

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

                                    заебать игрока по хардкору это типа такая ачивка для геймдизайнера?
                                    Ответить
                                    • В выбросе дофамина когда ты наконец-то затащил этого босса. Прям как во времена приставок.

                                      А не press x to win и катсцена на 2 часа.
                                      Ответить
                                      • брр времена приставок

                                        я кстати на МегаДрайве обычно в хоккей рубился или в Пиратов Сида Мейера, платформеры уже совсем не заходили

                                        но в принципе выброс дофамина от пройденного уровня в EXAPUNKS даёт представление, о чём речь
                                        Ответить
                                      • Хер знает, откуда вы там дофамин берёте. Из относительно хардкорного играл только в Code Vein, после победы над боссами думал "наконец-то могу продвинуться ближе к завершению". Весь дофамин происходил из редактора персонажа, лол.
                                        Ответить
                                        • > относительно хардкорного

                                          - не, ну всегда можно пройти SMB на клавиатуре

                                          (я не про Марио)
                                          Ответить
                                      • я тут Oni недавно перепрошел за вечерочек и ночку на выходных

                                        до чего же охуенно, а
                                        Ответить
                                        • > Oni

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

                                наверное, есть что-то у Зактроникса

                                SOMA с оговорками (люди там всё-таки есть)

                                сраный Spore

                                Scraplands лол

                                так с ходу много и не вспомнишь
                                Ответить
                              • показать все, что скрытоvanished
                                Ответить
                              • > за игры, где вообще людей нет

                                Plague inc.
                                Ответить
                                • Точно!

                                  Сначала есть, а потом нет.
                                  Ответить
                                  • В Saints Row the Third есть миссия, в которой на город падает самолёт с бактериологическим оружием

                                    В зависимости от выбора игрока

                                    самолёт может упасть на остров и сделать всех жителей острова зомби

                                    или может упасть куда-то ещё и сделать зомби всех жителей города в принципе

                                    какой багор )))
                                    Ответить
                                • Зацени, кстати: https://www.youtube.com/watch?v=7lVAFcDX4eM. Такой-то хардкор!
                                  Ответить
                                  • Там кстати 2.0 уже есть, этим летом выкладывали.
                                    Ответить
                              • «2048», «Тетрис», «Змейка».
                                Ответить
                                • > 2048
                                  За потерянное время ты мне теперь сотню баксов должен, сволочь!
                                  Ответить
                                  • > 2048

                                    Предлагаю запилить игру 4294967296 0.
                                    Ответить
                                  • >20 минут назад
                                    >«2048»
                                    >ты мне теперь сотню баксов должен

                                    Хуясе рейты.

                                    Но вообще надо и о Страйкере подумать, прикинь сколько высокооплачиваемых кодеров просрали человекоЛЕТ сидя на ГК.
                                    Ответить
                                    • > Хуясе рейты.
                                      Дык я ж теперь не успокоюсь, пока не соберу это говно.
                                      Ответить
                                      • Я так однажды месяц по 8 часов играл в какого-то сложного сапёра с большой картой
                                        Ответить
                                        • Была же история, как парень пишет: ваша стратегия -- скучная. Если играть в нее всего по 10-11 часов в день, то за год можно пройти её за все четыре расы
                                          Ответить
                                      • https://gifyu.com/image/6KgK

                                        Это, кстати, не сложно, если знать секретную выигрышную стратегию
                                        Ответить
                                      • Ну что, собрал?
                                        Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                • В Тетрисе ж люди есть

                                  По крайней мере, в одной из классических версий

                                  Они там пляшут гопака после уровня
                                  Ответить
                    • > почему в играх некоторые выбирают женского персонажа

                      Потому что тебе потом всю игру смотреть на жопу этого перса, если от третьего лица.
                      Ответить
                    • Ну ты спросил. Это примерно как спрашивать, в чём смысл вореций.

                      > А ещё мне непонятно почему в играх некоторые выбирают женского персонажа.
                      Ну тебе во время игры на какую жопу смотреть приятнее: на женскую или на мужскую? Вот на какую приятнее — ту и делаешь.
                      Ответить
                    • Бинго, три коммента про жопу одновременно!
                      Ответить
                • очевидно, хочет познакомиться с парнем, договориться о встрече, и устроить сюрприз
                  а парню будет нечего возразить, потому что пол-то никто никогда не указывал

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

                    но конечно круче просто перестраивать предложения
                    Ответить
                    • было же целое поколение дЕфФачко
                      Ответить
                    • А художницы, как мне показалось, часто любят говорить о себе в мужском роде. Я решил, я нарисовал...
                      Ответить
              • Ещё важно много читать литературу 19-го века и начала 20-го, а если литература иностранная - только в переводе советских переводчиков с богатым словарным запасом, так как нынешние переводчики - полное говно.
                Ответить
                • А слово "ротоёб" из литературы 19-го века? Русской, или иностранной?
                  Ответить
                  • Это уже влияние нашей испорченной эпохи.
                    Ответить
                • поддерживаю это безгендерное заявление
                  Ответить
                • Полностью подтверждаю. Я бы даже сказал, что нынешняя (российская, по крайней мере) литература вообще практически полностью полное говно, написанное тупыми графоманами.
                  Ответить
                  • Любой жанр длиннее повести это графомания
                    Ответить
                    • Опровергаю. Повести и рассказы — они как закуска на один зуб: десять минут пожевал — и всё. Слишком уныло.
                      Ответить
                      • способность выразить мысль на трёх страницах вместо того, чтобы елозить её по трём томам, и есть великое искусство

                        только короткий жанр

                        эпики мастдай
                        Ответить
                        • Мономиф на три страницы — это анекдот, а не литературное произведение.
                          Ответить
                          • древние греки с тобой не согласны

                            "Царь Эдип" в сегодняшней редакции помещается в 34 страницы, а насыщен не хуже Достоевского.

                            вопрос в том, что кому нравится больше: понимать или утопать в языке.
                            Ответить
                            • Вопрос в том, что кому нравится изучать больше: мир или мысли автора.
                              Ответить
                              • мб. jedem das seine

                                мне мир интереснее по картам изучать :)
                                Ответить
                                • Ну вот, а мне не особо интересны моральные поучения автора. В романах они хоть размазываются маленько.
                                  Ответить
                                  • скажу честно, что моральные поучения мне тоже не особо интересны, потому что ну кто такой этот автор? "Несіть мені усі по три рубля. І мудрості вам дам я дохуя"

                                    но узнать про весьма нетривиальную ситуацию из before christ, которая даже сегодня морально однозначно не трактуется, это прикольно
                                    Ответить
                                    • Нет, ну древняя литература — это, конечно, совсем другой разговор. Даже самые посредственные её образцы безусловно обладают большой исторической ценностью.
                                      Ответить
                                      • Ты уверен, что некоторые её произведения не подделаны сотню лет назад?
                                        Ответить
                            • Человек-подушка тоже умещается страницах на семидесяти, а такую хуйню еще поискать, конечно
                              Ответить
                  • Дык всегда так было, имхо. Просто за века весь треш забылся, и осталось только что-то более-менее годное.
                    Ответить
                  • Правда, и среди образцов 19-го века тоже попадаются экскременты, хотя и в сотни раз реже. Это уже не к вопросу словарного запаса, а к вопросу содержательности. Например, распиаренный роман "Госпожа Бовари" просто невозможно читать - какая-то нудятина в духе "они поехали туда-то", "он сделал то", "она ненавидела его всё сильнее", "они разошлись по комнатам" и так далее. Это уже потом я узнал, что автор тупо вымучивал это произведение и по несколько раз переписывал каждый его фрагмент, так как ему самому было неинтересно писать это говно.
                    Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • >"Пелевин местами хорош"

                      Ртом и анусом?
                      Ответить
              • >> Да, в этом деле прошедшее время — главный враг.

                Прошедшее время, сохранившееся в русском языке, — это на самом деле причастие прошедшего времени, перфекта.

                «Я сделал» — это сокращение от «Аз есмь сделал», т. е. «Я есть сделавший». Отсюда и зависимость от рода: причастия изменяются как прилагательные.

                Были ещё имперфект (прошедшее несовместимое) и аорист — простые временные формы. Аорист и имперфект не зависели от рода субъекта. Аорист сохранился в выражениях типа «А он возьми да скажи».

                Ещё было давнопрошедшее время (как «past perfect» в английском или «Plusquamperfekt» в немецком): «Аз бях сделал». Здесь «бях» — это имперфект от глагола «быть». Плюсквамперфект сохранился в выражениях типа «Я было подумал» (подлинный имперфект «бях» заменили суррогатом «было»).

                *****

                В арабском языке хитрее: там глагол зависит от рода во всех временах. К счастью, на первое лицо это не распространяется.

                *****

                >>> «Я всегда считал, что PHP — говно»

                Можно сохранить время с помощью страдательного залога: «Мной было принято решение, что PHP — говно». Или с помощью возвратного глагола: «Мне всегда казалось, что PHP — говно». Или более утвердительно: «Мне всегда было ясно, что PHP — говно».
                Ответить
                • Забавно, как местоимение «Аз» (первая буква азбуки) перекочевало в «Я» (последняя буква). Интересно, когда и почему?
                  Ответить
    • > Ты против, а друзяшки всё равно выложут и подпишут. Тлен и безысходность.
      Именно поэтому я против «друзяшек».
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Коронавирус и зимой и летом очень заразный, в отличии от обычных ОРВИ, которые цепляются только к людям с ослабленным в холодное время года иммунитетом. Так что социальный, так скажем, фактор остается решающим в распространении этой питушни.
        Ответить
    • https://varlamov.me/2020/silovichok/00s.jpg
      Ответить
      • Между прочим, именно силовики защищают вас от уличных преступников, находят похищенное из ваших квартир и гибнут ради вас на войнах. Задумайтесь.
        Ответить
    • давайте про гейдев теперь.

      Я вижу игровой цикл так:
      * Считываем WM_ события. Например, не более десяти (остальные пускай полежат в очереди)
      * Понимаем по ним стейт клавиатуры (какие клавиши нажаты) и отражаем их в каком-то массиве (пусть бит это нажатая клавиша)
      * Обновляем стейт игры на оснве этих событий (UpdateState())
      * Отрисовываем фон
      * Отрисовываем персонажей на основе стейта (DrawPizduks())
      * Смотрим, сколько времени прошло с момента предыдущей отрисовки. Если менее 16ms, то бизивейтимся (ну или спим чуток чтобы дать другим подышать).
      * Флипаем буфера
      * Повторяем

      Вроде, всё верно?

      Вопрос теперь про UpdateState(). Кажется, что нужен массив акторов. Каждый актор умеет на основе нажатия клавиш и каких-то своих внутренних счетчиков обновить свое состояние (или положить какие-то события в какой-то бас, где их увидят другие акторы при следующем запуске UpdateState()).
      Он же умеет отрисовать себя на моменте DrawPizduks().

      Вроде хорошо, то получается, что все акторы реализуют интерфейс и имеют виртуальные методы. Это может в теории воткнуть. Может, их лучше захардкодить там? Или похуй?

      Верная архитектура, или говно?
      Хочу всё таки под DirectDraw написать какую-нить 2Д чушь типа арканоида, тянет меня в детство чото.
      Ответить
      • > Каждый актор умеет на основе нажатия клавиш и каких-то своих внутренних счетчиков обновить свое состояние (или положить какие-то события в какой-то бас, где их увидят другие акторы при следующем запуске UpdateState()).
        - это типа тут будут коллизии проверяться?

        фон и персонажи странно разделены

        это вообще должна быть отдельная иерархия слоёв имхо. у тебя ещё ui должен быть хоть какой-то

        по поводу событий можно подсмотреть в любом UI-фреймворке, подозреваю, что там очень всё похоже
        Ответить
        • >- это типа тут будут коллизии проверяться?
          не только. Пиздюки тут будут ходить тоже. Вообще всё состояние комнаты тут будет считаться.
          Как они будут друг друга видеть -- это вопрос.

          >фон и персонажи странно разделены
          Почему?

          >это вообще должна быть отдельная иерархия слоёв имхо. у
          Это если ты хочешь фон двигать, а я не хочу. Это 2Д игра как в 80-е.

          >по поводу событий можно подсмотреть в любом UI-фреймворке,
          Ну в классических формочках немного не так: там ОС шлет событие "перерисуйся", и ты тогда перерисовываешься.
          А если ты сам хочешь перерисоваться, то ты просишь ОС послать тебе такое сбытие (update()).

          А тут я не хочу ОС трогать, это же всё будет не быстро, и FPS собъектся, да и я буду эксклюзивно владеть экраном вообще...
          Ответить
          • > Почему?
            > Это если ты хочешь фон двигать, а я не хочу. Это 2Д игра как в 80-е.
            - нафиг тебе тогда фон вообще, задай цвет задника и теки (в opengl там будет шото типа glClearColor, в dd должна быть похожая функция)

            > Ну в классических формочках немного не так
            - нажатие кнопок тоже не так?
            Ответить
            • >задай цвет задника и теки
              хочу туда ковёр повесить. Или нескучные обои. А что не так с фоном? Я буду его в памяти видеокарты хранить, и заливать в задний буфер средствами карты, по сути скопировав кусок памяти внутри карты, быстро же.

              >- нажатие кнопок тоже не так?
              Нажатие кнопки это посылка события. У окошка есть очередь событий, и нажатие кнопки тоже туда кладет событие. Кнопка это окно обычно. А если кнопка нарисована на окне, то событие получит родительское окно. Тут я могу завернуть про лайтвейт и хевивейт в свинге, но это оффтоп.

              Формочки вообще сильно отличаются от гейдева. Им не нужно держать FPS 60. И они пассивны: сидят, и ждут, пока ОС от них чего-то захочет
              Ответить
              • не понял. а остальное ты будешь не в памяти видеокарты хранить? :-)
                Ответить
                • остальное тоже буду)
                  А актеры будут рисоваться тоже средствами карты, и она сама будет учитывать прозрачный цвет даже.

                  Кстати, интересен вопрос загрузки их в карту. При переходе в другую комнату я по идее должен буду выгрузить их из памяти. Можно даже каждый левел сделать отдельной .dll и загружать ее.

                  Будет как в старых играх, когда заходишь в комнату, а там написано "Loading..")))
                  Ответить
                  • > dll

                    Ты ещё скажи, что в ресурсах... Сложи картинки в каталог да и всё. Ты же их реюзать между уровнями захочешь, наверное. Не надо преждевременных оптимизаций.
                    Ответить
                    • не хочу в каталог, это будет не понтово. Хочу ресурсы. Я умею LoadBitmap из ресусров делать, это не сложно.
                      Ответить
                      • > LoadBitmap
                        > ресурсы
                        > DirectDraw

                        Какой олдскул )))
                        Ответить
                        • ну и кресты еще. В этом же смысл "сделать как делали раньше") Если бы я хотел просто игрушку, то взял бы юнити какое-нить.
                          Ответить
                  • ну атласы текстур делать. и выбрать формат, который на твоей целевой платформе будет лучшим с точки зрения размера (шоб бмп многометровые не тягать)

                    можешь взять TexturePacker (https://www.codeandweb.com/texturepacker), там достаточно банальный формат данных

                    для каждого уровня грузить свои атласы
                    Ответить
                    • Ну кстати то же факторио атласы на загрузке клеит и кеширует. Видимо из-за модов заранее нельзя их приготовить.
                      Ответить
                      • в смысле берёт картинки и сливает их в атласы при [первом] запуске?

                        на десктопе кстати вроде уже давно начхать на размер текстуры, это в opengl es ширина и высота должны быть кратными двойке

                        когда делаешь атласы, нужно по сути решать задачу раскроя.
                        Ответить
                        • >на десктопе кстати вроде уже давно начхать на размер текстуры
                          Я хочу поиграть в некоторую оптимизацию, и сделать так, чтобы она даже на древних компах шла) DirectDraw по идее работает даже на w98)
                          Ответить
                        • Да, при первом и после смены модов.
                          Ответить
                    • Я слишком анскилен для 3Д (там математика нужна), так что я буду делать тупое 2Д, и не уверен, что мне нужны будут текстуры.. Хотя он вроде и для обычных спрайтов подойдет.
                      Спасибо
                      Ответить
                      • я не знаю, как там в dd

                        но вообще сомневаюсь, что ты сможешь обойтись без текстур, если пишешь на достаточно низком уровне
                        Ответить
                        • в dd как в досе, примерно:

                          * загрузил картинку в память карты
                          * попросил bitblt ее в буфер указав ключевой цвет
                          * флипнул буфер
                          всё. Все картинки -- спрайты
                          Ответить
                      • Ну десктоп прав, тебе же анимации захочется. Поэтому у тебя будут десятки мелких картинок. Выгодно их слепить в один большой атлас. И просить видюху отрисовать нужный фрагмент из него. Для 2д это обычная практика. Видюхе так легче.
                        Ответить
                        • я видимо не силен в терминологии

                          разве это не спрайт, из которого я рисую кусочек?
                          Тогда
                          >. Хотя он вроде и для обычных спрайтов подойдет.

                          Я думал, что текстура, это когда я описал 3Д объект, и карта потом на него натянула текстуру эту, не?
                          Ответить
                          • лучше сходить в доку

                            https://www.khronos.org/opengl/wiki/Texture
                            https://docs.microsoft.com/en-us/windows/win32/direct3d9/basic-texturing-concepts

                            на упоминания 3D лучше особо внимания пока не обращать

                            "большие" либы разницы не делают

                            это не каиро или аллегро
                            Ответить
                            • как всё сложно, именно по этому
                              вообще я может быть тупо спижжу спрайты уже склеяные, я не умею рисовать же

                              шейдеры я точно писать пока не буду скорее всего
                              Ответить
                              • > спижжу

                                Ты чо! Будь мужиком, рисуй в паинте.
                                Ответить
                                • вот под дос как раз я рисовал чего-то в пейнтбраше и потом долго и мучительно выводил загружая верную палитру и выводя картинку задом наперед вроде.

                                  Но там ручки ножки огуречик был

                                  Хотя вообще ты прав: если запариваться на полную независимость от всего, то надо и картинки рисовать, и звуки записывать..
                                  Ответить
                              • хе-хе

                                https://www.spriters-resource.com/nes/arkanoid/

                                но тебе маловаты

                                картинки для арканоида можно в гимпе быстро накалякать на самом деле
                                Ответить
                                • А я сделаю SetDisplay(640, 480 и будет в самый раз.

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

                                    https://www.youtube.com/watch?v=zwDPx6hP_4Y

                                    240p

                                    но тебе это всё по барабану, если не собрался писать эмулятор
                                    Ответить
                              • https://www.spriteland.com/sprites/
                                Ответить
                                • да их дохуя в интернете, мы как-то потырили их для одного забавного хакатона:

                                  По экрану бегал робот. Написано было на Elm, который компилировался в JS.
                                  А к этому был подключен skulpt python -- реализация python на JS. И роботом можно было управлять скриптом на питоне.
                                  Но там всю "физику" сделал другой чувак, а я только анимировал персонажа (показывая поочередно картинки с разной позицией ног) и "верстал" консольку практически.

                                  Вдохновила нас вот такая хйня
                                  https://elm-lang.org/examples/mario
                                  Ответить
                          • Я сварщик не настоящий.

                            Спрайт это вроде одна картинка, один кадр анимации. А группа спрайтов, упакованная в одну картинку - это атлас.

                            Одна большая картинка видюхе удобнее чем 100500 мелких, легче задачи на отрисовку планируются.

                            Текстурой я это называю потому что так привычнее. Да и через современное апи это один хер реально текстура, которую напяливают на прямоугольники.
                            Ответить
                            • а, ну тогда я за атлас

                              я просто в вебе так иконки хранил еще давно, и называл это спрайтами. А потом CSSом двигал их в бекграунде. Дизайнеры любят дать все иконки в одном файле, и палитра у них общая.

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

                              > современное апи
                              DirectDraw же;))

                              В Direct2D небось все унифицировано с 3Д. Или ты имеешь ввиду, что под капотом видеокарта всё равно одинаково работает?
                              Ответить
                              • > Или ты имеешь ввиду, что под капотом видеокарта всё равно одинаково работает?
                                - емнип, разницы вообще никакой нет. 2D это просто 3D в одной плоскости.
                                Ответить
                                • Кстати не обязательно в одной. Можно z юзать чтобы не париться с порядком отрисовки.
                                  Ответить
                                  • угу

                                    только тогда придётся делать что-то такое

                                    https://www.khronos.org/opengl/wiki/Depth_Test
                                    Ответить
                              • > одинаково работает

                                Ну по сути да. Просто в случае 2д у тебя "грань" одна. И матрицы да шейдеры попроще. Но в целом то механика ничем не отличается.
                                Ответить
                                • показать все, что скрытоvanished
                                  Ответить
                                  • Да, ну для 2д они тривиальные.

                                    Если ты какие-то крутые эффекты не хочешь замутить.

                                    Ты ведь можешь для "2д" игры освещение какое-нибудь рассчитывать на шейдерах чтобы всякие подземелья красиво смотрелись.
                                    Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                      • Сначала идет вершинный шейдер. Он трансформирует инфу о вершине (да, сейчас ты сам выбираешь что у тебя о вершине хранится). Обычно там координаты умножают на матрицу. Ну и копируют цвет или текстурные координаты со входа на выход.

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

                                        И для каждого пикселя запускается твой пиксельный шейдер. Которому приходит интерполированная по грани инфа от вершинного. Здесь ты можешь считать всякое освещение, доставать пиксели из текстуры и т.п. В конце ты должен вернуть инфу о пикселе. Обычно RGB, но можно и кастомное что-то если не на экран.

                                        Как-то так.
                                        Ответить
                                        • >Сначала идет вершинный шейдер.
                                          >Потом идёт растеризация треугольника в пиксели, ты ей особо не управляешь.
                                          >И для каждого пикселя запускается твой пиксельный шейдер.

                                          Я тоже так думал. Но они всё уже там поменяли. Инфа про VS+PS устарела лет на 10 уже.

                                          Сначала они ввели понятие culling. А также геометрических и доменных шейдеров. Потом схлопнули их.

                                          >Сначала идет вершинный шейдер.
                                          Это теперь task shader.
                                          Ответить
                                          • Ну пара VS+PS по крайней мере ещё поддерживается в opengl.

                                            А так то понятно, что все это атавизмы от первых видюх с шейдерами. И сейчас видюха может любой код исполнять.
                                            Ответить
                                        • In addition to traditional pipeline (vertex shader, geometry shader, hull shader, domain shader, pixel shader and compute shader), new GPUs architecture introduces two new programmable shader types.

                                          Mesh shader and task shader.


                                          Как там в 2008, пацаны, всё понятно?
                                          Ответить
                                          • Пиздец. А сейчас ещё и RTX. Эта трассировка ведь тоже "шейдер"? Или просто новые функции для пиксельного?
                                            Ответить
                                            • >Пиздец.

                                              Ага. Вот у меня такое же чуство, когда я постоянно узнаю как мои знания в каком-то предмете устарели лет на 10-15.

                                              Из хороших новостей: в DX 12 они таки упростили: Vertex + pre Tesselation (Hull Shader) = Task Shader
                                              Tesselation + Geometry Shader = Mesh Shader.

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

                                              Пиксельные так и оставили. Там всё просто и понятно.

                                              C RTX я толком не разбирался, за неимением железа и поддержкой его только нвидией.
                                              Ответить
                                              • Кстати, а почему AMD ещё не запилило что-то подобное RTX?

                                                Фишка же интересная и красивая.
                                                Ответить
                                                • Меня больше интересуют нвидиевские Тензорные Питухи.

                                                  Как они умудрились запихать сотни терафлопс в обычные карточки?

                                                  RTX конечно тоже очень круто. Но тензорная питушня повышает скорость обучения/работы нейронок в десятки раз.
                                                  Ответить
                                                  • Ну у тензорных ядер терафлопсы же только на конкретной задаче - multiply and add для матрицы 4х4. А она неплохо параллелится. Плюс точность маленькая по сравнению с основным пайплайном.
                                                    Ответить
                                                    • >Ну у тензорных ядер терафлопсы же только на конкретной задаче - multiply and add для матрицы 4х4.

                                                      Да. Но для одной такой матрицы нужно сделать 64 MADa.

                                                      Точность FP16, не такая уж маленькая учитывая что шейдеры и раньше могли считать FP16 в два раза быстрее чем FP32.

                                                      В итоге топовая карточка выдаёт около 15-20 Терафлопс в FP16 на шейдерах.

                                                      А на тензорных питухах 70-100 терафлопс.

                                                      Это настолько МНОГО, что в нвидиа кто-то сошёл с ума и придумал DLSS в 4K.

                                                      Причём я думаю, это ещё довольно скучное применение. Теперь нейронки будут из каждой щели лезть.
                                                      Ответить
                                                • Кто-нибудь ковырял RTX, кстати? Я что-то вообще слабо представляю, как они умудрились просунуть его в существующий пайплайн. Для RTX нужно же иметь всю сцену (включая объекты вне поля зрения камеры) в 3D. А в пайплайне с растеризацией всё 3D кончается после vertex shader'а по сути, дальше уже сплошные 2D треугольники, спроецированные на таргет буфер, или как там его.
                                                  Ответить
                                                  • Вот такое пишут:

                                                    RT Cores accelerate Bounding Volume Hierarchy (BVH) traversal and ray/triangle intersection testing (ray casting) functions.

                                                    Functions such as BVH building and refitting are handled by the driver, and ray generation and shading is managed by the application through new types of shaders.

                                                    The RT Core includes two specialized units. The first unit does bounding box tests, and the second unit does ray-triangle intersection tests. The SM only has to launch a ray probe, and the RT core does the BVH traversal and ray-triangle tests, and return a hit or no hit to the SM.

                                                    SM - это обычный стриминг мультипроцессор, на котором шейдеры крутятся.
                                                    Ответить
                                              • > C RTX я толком не разбирался

                                                Хех, начитался про "новые" шейдеры и архитектуру видюх. Пиздец они наворотили технологий пока я был в анабиозе.

                                                Попробовать что-ли портануть свой древний кубик рубика на вулкан с трассировкой...
                                                Ответить
                                              • Блядь, пиздец...

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

                                                      хочу послушать, как он там шейдеры хуясить или CRTC программирует
                                                      Ответить
                                                      • > как он там шейдеры хуясить

                                                        Да тут хотя бы девайс открыть, какие шейдеры...

                                                        Короче они выкинули абсолютно все хелперы, которые ещё оставались в "новом" OpenGL. Чтобы ты мог ощутить всю боль аллокации видеопамяти, конпеляции шейдеров, настройки пайплайна и синхронизации с видюхой. Но зато всё быстро, предсказуемо и без магии.
                                                        Ответить
                                            • А вот в DX11 / OGL4 что они завезли

                                              Лет 7 назад эта тесселяция была главным баззвордом в графике.
                                              https://interplayoflight.wordpress.com/2014/12/31/rendering-fur-using-tessellation/
                                              https://interplayoflight.files.wordpress.com/2014/12/text_d3d11_pipeline.png?w=660


                                              >Кстати, а почему AMD ещё не запилило что-то подобное RTX

                                              Я в АМД к сожалению не работаю (слухи ходят что они её пилят).

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

                                    на си-подобном языке
                                    Ответить
                                  • Кстати по 2д через opengl можешь у меня демку про множество Жюлиа на гитхабе глянуть. Там нет текстур, но есть прямоугольник на весь экран и расчёты на шейдерах.
                                    Ответить
                            • не только легче задачи планируются

                              но экономится место за счёт перекрытия областей с прозрачностью

                              ну и степень двойки, да
                              Ответить
                      • на тебе для мотивации

                        https://www.youtube.com/watch?v=_qrsHqDF4BA

                        классика

                        вообще демосцена это кмк хорошее подспорье
                        Ответить
      • Ну да, вроде всё норм. Можешь даже не ждать, просто иди на флип, там само заблочится до vsync.

        Про архитектуру актёров - х.з., попробуй. Для простой игры наверное сойдёт. Но клавиши я всем подряд не стал бы передавать. Может быть пусть подписываются на них?

        И клавиши и оси, я думаю, надо сразу отрезольвить в "игровые события", чтобы игровая логика ничего не знала о кодах клавиш.
        Ответить
        • >. Можешь даже не ждать, просто иди на флип, там само заблочится до vsync.
          И скорость игры будет зависеть от частоты карты? Круто! Но это если я хочу 60. А если хочу 30, то могу попросить обновляться каждый второй vsync, DDRaw так умеет!

          А Vsync это же прерывание от карты? Шедулер поймет, и заблочит мой тред, и даст время другим?

          >Может быть пусть подписываются на них?
          Я думал просто иметь массив, и пусть кто хочет -- читает его.
          Если там стоит бит "нажата клавиша" -- пусть герой шагает. А когда пришло событие KEYUP -- я убрал бит просто.

          >И клавиши и оси, я думаю, надо сразу отрезольвить в "игровые события",
          Да, тогда можно будет скриптовать поведение героя на lua, или получать его по сети...
          Ответить
          • Ты вроде простой арканоид пилишь... Какое lua... Моды для кубиков и бонусов пилить?
            Ответить
            • ну а вдруг там из кубика выпорхнет какое-нить говно, которое надо словить?
              Хотя да, это конечно оверекил.. Если я не захочу потом 2Д бродилку делать.
              вот такую хуйню не сложно сделать вообще https://youtu.be/x7yfzCJafJM?t=203
              Ответить
              • та не, норм идея

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

                кроме луа ещё можешь посмотреть в сторону AngelScript (http://www.angelcode.com/angelscript/)
                Ответить
                • спасибо, гляну

                  луа я просто уже умею ембедить (это очень просто) и умею на нем чего-то писать несложное

                  Кресты я тоже знаю на уровне "си с классами" кстати, так что может даже прокачаюсь, хотя я не вижу тут мест для крутой метушни
                  Ответить
                  • У меня один друг писал свой движок на си++ с luabridge в итоге друг умер.
                    Ответить
                    • Движок успел дописать или завещал кому-то дописать?
                      Ответить
            • lua это не перформанс
              Только Pawn, только хардкор
              Ответить
      • Это пиздец оффтоп.
        Ответить
        • Ассистенты зомбирующего подпевают: Пиздец! Пиздец!
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • Смотрите чё я нашел:

      https://github.com/Mi7teR/mamoeb3000/blob/master/templates.json
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Huyanished.
      Ответить
    • показать все, что скрытоЗаебали оффтопить.
      Ответить
    • Порошенко получил положительный тест на коронавирус.
      Ответить
    • Ого
      Армяне с Азербаджайнцами реально воевать начали
      Ответить
    • https://sun9-8.userapi.com/TxjD7ysRfOK0v3EfEIrzNDV25b-f78Uk3z9NWw/pMUVp1WGid0.jpg
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Предъявит ли "Telegram" претензии, если кто-то спиздит имеющиеся на "GitHub" исходные коды его приложений и сделает под них своё серверное API, копирующее оригинал, но никак с ним не связанное (так сказать, локальная копия "Telegram")?
      Ответить
      • Если имя и иконку от телеги не юзаешь - вай нот?

        З.Ы. Большие конторы очень не любят когда их имя юзают для раскрутки рандомного говна. А по остальному скорее всего не будет претензий. Вряд ли у них есть патенты на протокол.
        Ответить
        • Естественно, речь не шла о фишинге. Просто смотрю, они уже дохуя всего сделали и всё, кроме серверной части, находится в открытом доступе. Грех не воспользоваться и не сделать обособленный клон этого мессенджера - ради такого можно даже подучить все вот эти вот языки, на которых написаны приложения (чтобы при необходимости вносить какие-то правки).
          Правда, вряд ли удастся осилить клонирование протокола "MTProto" - я уже год назад делал упрощённое API под "Telegram Web" для корпоративных нужд, и заебался разбираться с алгоритмом шифрования . В итоге, тупо отредактировал "JS"-код, убрав оттуда фрагменты, связанные с шифровкой.
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • Бордюрыч заебал.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • https://pbs.twimg.com/media/EjgjoidXYAI16jt.jpg
      Ответить
    • https://siberiantimes.com/other/others/news/eco-disaster-at-kamchatka-peninsula-with-mass-death-of-sea-animals-at-precious-pacific-beach/
      золотой хуй, ты с Камчатки? уже купался?
      Ответить
    • Антимоскитные сетки заебали. Бз-з-з-з-з-з-з-з-з!
      Ответить
    • О самолечении:
      https://pbs.twimg.com/media/EjgGa8zWoAYC1Gg.jpg
      Ответить
    • > В России за сутки зафиксировано 11615 новых случаев коронавируса

      Доброе утро.
      Ответить
      • хорошо, что это точно не вторая волна
        Ответить
        • Да, это уже не волна. Это просто обычный прилив/отлив
          Ответить
          • лунная сила, дай мне призму
            Ответить
            • Держи дружище
              prizma = {};
              И кстати это реально правильный вариант википедия не пиздит:
              >>Призма из 0-мерного многогранника — это отрезок, представленный пустым символом Шлефли {}.
              Ответить
      • Доброе утро!
        Ответить
      • люблю голые цифры

        а сколько было проведено тестирований всего и какой процент из них дал положительный результат?
        какова динамика изменения процентного соотношения?
        из 11615 случаев сколько тяжёлых и сколько бессимптомных?
        можем ли мы верить статистике?
        Ответить
      • да, сегодня бордюрыч охуенно придумал - надо занести в электронный сервис, который всё ещё не работает, персональные данные сотрудников, переведенных на удалёнку, в виде номера телефона, автомобиля и т.д.
        чтобы город палил, какой сотрудник не соблюдает режим "дома сиди ёпта", и продолжает кататься на работу, очевидно, а то накладно всех массово проверять
        Ответить
    • Ну что, выходим на няшную экспоненточку, судя по графику.
      Ответить
    • Anaal Nathrakh are a British extreme metal band formed in 1999 in Birmingham, England. They are currently signed to Metal Blade Records. The band's name is Irish for snake's breath (anál nathrach) and was taken from Merlin's Charm of Making in John Boorman's 1981 film Excalibur.[1] The band recorded two demos in 1999, which were later released as an album.[2]
      Ответить
    • Перекат!

      https://govnokod.ru/27007
      https://govnokod.xyz/_27007/
      Ответить

    Добавить комментарий