The ExtremeCode Times
41K subscribers
570 photos
47 videos
5 files
515 links
IT punks.

❤️ YouTube
https://youtube.com/ExtremeCode

💸 Реклама
@Mshvyag / [email protected]

Для РКН: № 5025353650
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Навайбкодил движок за месяц до такого состояния. Я ввязался в это, не потому что это легко, а потому что я ДУМАЛ, что это будет легко.

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

Че, как на счет N-часового видоса в котором поэтапно раскрываются все нюансики производства такого движка?

P.S.
Но в любом случае, нужно сначала докодить, тут еще месяц на допиливание оставшихся функций и полировку, как минимум.
547🔥163👍45🗿2020🌚7💅5❤‍🔥4🤓2🆒1
Специально для неслишком умных чуваков из каментов: Я воссоздаю движок уже готовой игры, а не пилю игру с нуля. Где вы тут смогли увидеть противоречие в принципе? Игра называется Scratches / Шорох.

1. Игра Abandonware; в правовом аду, она не может продаваться
2. Оригинальный движок игры максимально хреново сохранился:
2.1 SCream это скриптовый хост, который работает, как стейт машина, т.е. обрабатывает команды подающиеся в него последовательно, в зависимости от текущего стека состояний.
2.2 Вся игра написана на Lua, байткод легко декомпилируется — но он содержит в себе только игровую логику, а не стек состояний / рендеринг / звук / интеракцию с предметами / etc

Пример создания кубмапа на Lua в игре, который обрабатывает движок:
  scCreate(SC_ROOM, "house-guest")
scBegin(SC_ROOM)
scCreate(SC_NODE, "n1")
scBegin(SC_NODE)
scTexture(SC_FRONT, "hs-guest_n1f.jpg")
scTexture(SC_BACK, "hs-guest_n1b.jpg")
scTexture(SC_LEFT, "hs-guest_n1l.jpg")
scTexture(SC_RIGHT, "hs-guest_n1r.jpg")
scTexture(SC_UP, "hs-guest_n1u.jpg")
scTexture(SC_DOWN, "hs-guest_n1d.jpg")
scFootstep("fx-foot_hollow1.ogg")


И вот подобной хуйни там на 23к строк кода. Как воссоздать движок по таким наскальным рисункам? Загадка Жака Фреско. Очевидно по названию функции и передаваемым аргументам. Вот в инициализации кубамапа все очевидно. Но есть места и неочевидные, вроде
  scFXPlayEx(SC_3DD, "fx-hammer_hall.ogg", 0, 1)


2.3 Игра захардкожена в разрешении 1024х768, из-за оригинальной реализации движка она не может рендерить картинку в большем разрешении, т.к. все hotspot'ы (интерактивные области) имеют абсолютные координаты. В моей реализации я конвертирую все входные координаты в относительные, под любое разрешение.

1 скриншот — оригинальное разрешение
2 скриншот — оригинальная игра, растянутая на полный экран
3 скриншот — моя реализация двигла, с относительными хотспотами

Скриншоты мартовские, сейчас я уже далеко вперед продвинулся.
👏23148👍32🔥2316🌚9🤓3❤‍🔥2🤣1
!string.IsNullOrEmpty(str)


Или

string.IsNullOrEmpty(str) == false


???

Встречаю популярное мнение, что АРЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ МЕНЬШЕ БУКАВ ЛУЧШЕ, ПОТОМУ ЧТО МНОГА БУКАВ ЭТО ПЛОХА, БУКАВЫ ЧИТАТЬ ТЯЖЕЛО, а в первом варианте буковок меньше. Но ведь == false читается легче, потому что мы читаем сначала, а не с конца.

Первый вариант читается: "Не строка пустая или null".
Вторая читается: "Строка пустая или null - ложное утверждение"

В первом варианте тебе надо держать в голове, что там в начале есть отрицание и не забыть про это. Во втором варианте ты можешь читать бегло не запоминая, что там есть какие-то дополнительные операторы, которые надо применить.

!string.IsNullOrEmpty(str) - трахает по читаемости, если только ты читаешь справа налево.
👍350🗿77🤨361711😁9🆒8🤓6🤯4🍌4
Считаю == вообще не очевидным, что за двойное присваивание, кто это придумал вообще? Абсолютно не читабельно.

String.IsNullOrEmpty(str) is false


Единственно верный вариант.

P.S.
Если я что-то утверждаю, я не обязан представлять доказательства, если вы утверждаете обратное, опровергая меня, это вы должны доказательства представлять 🤯
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤣470👍79🥴3725💯22🗿15🥰3😁3🤝3🤯1
Работа фронтендера сложнее и это математически доказуемо.

Сколько времени вам нужно чтобы написать свой фотошоп? Я полагаю, что где-то примерно X часов. Сколько времени вам нужно будет, чтобы написать АБСОЛЮТНО точно такой же фотошоп, но в условиях, когда вы ограничены ресурсами браузера + ваш код работает в разных браузерах по разному.

Это же будет X + ((организация кроссбраузерности + пердолинг по овероптимизации)/скилуха).

Как вы понимаете X + ((Y + Z) / S) > X. Чем меньше S(скилл), тем больше пердолинга, но при это насколько бы большой не был скилл, (Y + Z) / S Никогда не будет равен 0.

P.S. Я не говорю, что бекендеры хуже. Да и большинство фронтендеров не осилят написать фотошоп в браузере, потому что от фронтендеров в основном требуют делать margin-left:10px;. Просто во фронтенде на тех же задачах больше пердолинга.
😁297🤣84👍52🐳17🤨161414💯9🦄6🥰1
Как попердолит IT в будущем?

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

Исходя из этой логики, мой план развития выглядит так:

> Становлюсь тестировщиком
> Осваиваю бэкенд
> Развиваюсь в фронтенд
> Дрочу PM
> Вырастаю в продакт-овнера
> Перекатываюсь в DevOps

Я хочу уметь обеспечивать полный цикл разработки приложения в одну ебучку. Возникающие пробелы буду закрывать с помощью нейросетей (пока они на это не способны, но к моменту их развития я уже буду готов).
🤝309124💅41😁13🤔10🗿8🏆76🥴6🔥4
А Я ВАМ ГОВОРИЛ, ГОВОРИЛ! Ну что, кто нибудь из хейтерков скажет Флёнову (пост ниже), что он дерьмовый программист? Просто намекаю: https://www.youtube.com/watch?v=RhLy26sZD_E&ab_channel=ExtremeCode

Когда нибудь вам с монитора и Линус Торвальдс скажет, что кодить пяткой это норма.
60🤣19👍5
ВНИМАНИЕ! Не воспринимайте это видео, как призыв писать плохой код. Просто не стоит зацикливаться на чистом коде. Пишите так, чтобы вам было удобно, особенно в игровой индустрии. А потом всё легко переписывается, переделывается так, чтобы работало долго и без проблем.

Ютуб / ВК / Рутуб
116👍24🥴1010🥰6🍌3🎃2🗿1
Когда только начинал программировать, каждый раз удивлялся, почему во всех гайдах работа с файлами выглядит как херня из под коня.

Сначала открой поток. Потом оберни его в StreamReader. Потом какой-нибудь буфер добавь. Потом подумай о том, как всё это всё подиспоузить. А зачем? Есть же File.ReadAllLines — вызвал, прочитал, пошёл играть в варкрафт.

Прошло время. И до меня начало доходить, что работа с файлами — это целый сраный квест:

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

> Платформозависимость. Windows, Linux, Android, холодильник, тапочек твоего бати — у всех свои приколы.

> Файл может быть занят. Какая-нибудь другая прога уже с ним работает. Всё, облом (или не облом 🤨).

> Файл может быть гигантским. Читать его целиком — ОЗУ не хватит. Надо по частям (подписчики из Питера на месте?).

> Кодировки. UTF-8, ANSI, CP1251, древний шумерский — угадай, попробуй, приятного аппетита.

> Параллельный доступ. Попробуй-ка из двух потоков одновременно туда что-то записать. Увидишь, что бывает 🚫.

И вот тогда ты понимаешь, почему нормальные люди делают эту всратую обёртку из стримов и ридеров. Это не из вредности, а из-за здравой анальности.
Please open Telegram to view this post
VIEW IN TELEGRAM
6🥴321👍135🤣512614😁9🔥4🎃2🍌1🤨1
👉 Новое видео на канале: https://youtu.be/Yrt9Q9Rzl_U

P.S.
Ну и если я какой-то текст дочитываю до конца, то никогда не поленюсь поставить лайк и в комменте написать что-то типа: "Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?"
🤓6619👍14😁6😴4💘2
С штеудовским x87 есть еще мемная история — Nvidia PhysX может работать в двух режимах — на GPU и на CPU; Естественно и там и там упор в расчет большого объема данных для симуляции физики.

Только вот прикол в том, что код для CPU был СПЕЦИАЛЬНО написан под устаревший x87 (обратная совместимость ёпта, даже в 2025-ом году под неё можно бахать код), который работает В РАЗЫ медленнее SSE; Буквально, SSE расшифровывается как Streaming SIMD Extensions, т.е. он хорош для векторизации и операций с матрицами.

Конечно-же из-за таких муток, CPUшный PhysX показывал отвратительную производительность, в сравнении с SIMD на видеокарте, что хорошо работало в маркетинге этой технологии.

Да и прямо сейчас можно в панели управления Nvidia переключить режим и насладиться производительностью в старых игрульках (с датой релиза до 2010-го года). Процессоры с тех пор кратно нарастили вычислительную мощь, а вот игрульки эпохи ~2008 года тупо проседают до 1 FPS 🙂

После того, как обман вскрылся, Nvidia потихонечку переписала весь код под SSE и оптимизировала его под многопоток. Оказывается, не так уж и сильно процессор просасывает у GPU в подобных вычислениях 🤟
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19391🥴36107🔥7🤔7🤣2
А знаете в чём хороши нейросети? В цензуре. Можно просто дать цензурируемым правильную нейросеть для поиска и выдавать им всю информацию с нужным посылом. Саму информацию при этом изменять не обязательно. Очень удобно получается.

Не будет поисковиков больше. Вместо них будет интерфейс поисковой нейросети, который будет знать на какие сайты вам выдавать ссылку и какой информацией кормить.
😁293🎃37😱26👍23🐳19🥴14💯12🗿8😢5🤨5
Всем привет, я сеньор-помидор-айтишник. Соответственно и интересы у меня сеньоро-помидорско-айтишные. Я хочу погрибовать в компудахтере, походить по всяким айтишным эвентам и научпоп лекциям.

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

Ну и как мне находить друзей-подруг? Только в дота 2 на телеге подкатывать к игрокам с женскими никами.

Ну или скачать приложение Кавёр. Оно объединяет в себе дейтинг и афишу необычных событий. Там-то я точно смогу найти с кем сходить на какой нибудь андеграундный стендап и необычно провести время вместе.

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

Ну а если нужно просто новых людей встретить, то можно воспользоваться разделом «Знакомства» – там без свайпов и алгоритмов можно найти интересные знакомства, отфильтровав анкеты в соответствии со своими предпочтениями

Во всяком случае это будет интерейсней, чем наворчаивать круги в парке или прикармливаться в кофейне. Вот такой вот лайфках для поиска друзей, а возможно и пары. Пользуйся.
2🤓13349🥴38🌭21🤣16🍌1513👍4🌚4👨‍💻1
Какая же тряска у начинающих разработчиков из-за ИИ. У меня для вас новость: стажёров и джунов берут не для того, чтобы они там что-то полезное делали.

Их берут для того, чтобы:
> Вырастить из них норм кадры (вариант для бигтехов)
> Продать как синьёров, а маржу соскрести себе в карман (вариант для аутсорс, аутстаф галер)
> Надежда на бесплатную, но нормальную разработку (вариант для дебилов)

Как будто до ИИ хайпа кто-то горел желанием укомплектоваться джунами, которые будут напидоривать юнит-тесты до блеска. Начинающим будет срать в тарелку высокая конкуренция, а не ИИ.
320😁89🍾2421💯5🆒3👍2👏2🤔2
Как же мне нравятся выпуски блогеров с "локальными IT знаменитостями", которые "типа" известны в узких кругах (Этот круг состоит, как правило, из мамы гостя и его коллег). Всё по одной схеме. Название: ИМЯ-ФАМИЛИЯ ПРО НЕНУЖНУЮ ХРЕНЬ, КОТОРУЮ ДРОЧАТ ТОЛЬКО ОНИ.

На превью ебучка блоггера и ебучка эксперта. В исключительных случаях просто ебучка эксперта. А внутри какой-то кринж про какую-то ненужную никому не интересную хуетятину. Обожаю такие выпуски, сразу их скипаю. Кто вообще, блять, это включает целенаправленно? Я уверен, что все просмотры там исключительно от людей, которые случайно кликнули по видосу, потому что руки с бодуна дрожат.
😁394🥴41💯2928👍1513🌚7😈1
Ну что, работяги, я то знаю, что вы только спите и видите как залетаете в бигтех. Но вот проблемка-то в том, что не всегда хватает времени на са-само-самообразование, да и стек технологий, приемов и прочих хард скиллов не всегда пересекается в маленьких компашках, с этими самыми бигтехами, что есессно повышает порог вхождения.

Чуваки из Яндекс Практикума совместно с профильными специалистами разработали специальный тест, который позволяет качественно оценить твою квалификацию, и тем самым определить свои слабые и сильные стороны в хард/софт скиллах. А задачки там близки к тем, что даются на собеседованиях в бигтехах. По завершению теста, тебе будет показана шкала твоей готовности по врыву в бигтех.

А еще, помимо прочего, в Яндекс Практикуме разработчики, тестировщики, инженеры и аналитики могут не только учиться с нуля, но и повышать собственную квалификацию.

В общем, залетай в тест →

Реклама, АНО ДПО «Образовательные технологии Яндекса», ИНН 7704282033
erid: 2Vtzqx5DsUi
🗿137🤣77🥴2510🌭7🦄7🐳6🌚3💋1🎄1
СЕО GitHub, Томас Домке: "Худшая альтернатива — пытаться придумать, как составить промпт или подсказывать на естественном языке то, что я уже умею делать на языке программирования"

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

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

Вот когда я экспериментировал с opengl — это было практически идеально, описываешь желаемый эффект и конкретно китайский иван иваныч выдавал качественный результат на основе длиннющего чата (про код такое-же сказать сложно, но ёпта, вы посмотрите на любую поделку с opengl/vulkan — там говнокод это норма жизни). Ну это такое, скорее исключение из правил и тоже начинает дико буксовать, когда уходишь в глубь. В конечном счете все сводится к тому, что ты сам уже дописываешь/переписываешь весь код.
278👍82💯3812🙏4🤓4🌚3🎅3🤝2💋1
Блин, никогда бы не подумал, что Джон Кармак такой говнокодер. СОБРАЛ ТУТ СЕБЕ КОМПИК НА ЛЕТО, аутентичный по меркам 2004-го, чисто в думчик 3 погонять в разрешении 320x240, так сказать, стряхнуть пыль с костей.

ТАК ЭТА ШЛЯПА РАБОТАЕТ В 20 ФПС БЛЯТЬ. Но это только, когда враги появляются, без них — в черных коридорах, в которых нихрена не видно, есть стабильные 60 кадров... на GeForce 6600. Это буквально предтоп своего времени (лучше только 6800 и GT версии, т.е. 97% видеокарт покажут результаты еще ХУЖЕ). В 2к25-ом веке за такое, разработчиков с говном смешивают, а раньше было норм 👽
Please open Telegram to view this post
VIEW IN TELEGRAM
💘165😈41😁37🫡2913🥴108🦄5😴3👍2