Information
- Rating
- 1,544-th
- Location
- Россия
- Registered
- Activity
Specialization
Десктоп разработчик, Разработчик приложений
HTML
CSS
JavaScript
Windows API
C++
UI/UX дизайн
Разработка интерфейсов
Дизайн продукта
Adobe Photoshop
Проектирование интерфейсов
Потому, что научные эксперименты надо ставить в таком порядке, чтобы более ранние не исключили проведение более поздних. Если на повестке дня два эксперимента: взвесить гирьку и устроить ядерный взрыв, который разнесёт лабораторию, разумно начать с первого. Сначала надо посмотреть, где и как возникла жизнь в Солнечной системе, а уже потом можно смотреть, приживётся ли наша земная на других планетах. А в обратном порядке уже не получится.
Я не понимаю, почему противопоставляются шахматы и сюжет. В шахматах есть место сюжету!
Сэр Троглодит, знаменитый геройный летсплейщик, высказался как-то в том духе, что можно играть как задрот — вызубрить все правила и перед каждым ходом считать урон на калькуляторе. Но это уже будет не игра, а работа. Играть надо по наитию, это признают даже такие крутые игроки, как он.
Вот вы сели поиграть в «Героев». Вместо того, чтобы заранее зубрить все правила и все характеристики, вы просто запустили игру и увидели впереди пустыню, а на краю пустыни — палатку кочевников. И тут вас осеняет: о, наверно, кочевники как-то дружат с пустыней! (Так и есть, они снимают штрафные очки за путешествие по ней). Видите, сюжет органично вплетается в «шахматные» правила. Можно дополнить это коротким диалогом для непонятливых. К сожалению, большинство сценаристов — графоманы, которых хватает только на то, чтобы показать подряд десять экранов, плотно набитых вторичным текстом (или, что ещё хуже, отсылками и йумаром). В HotA сюжет… не могу, сказать, что гениальный, но и не отстойный. Нормальный добротный сюжет для пошаговой стратегии. Без графоманства.
Что касается пятых, ничего про сюжет там сказать не могу — раз пять начинал, но так и не смог в них играть из-за дурацкого управления с ненужной свободой камеры и, кстати, ещё и из-за атмосферы. Атмосфера там такая: низкополигональные модели, размытые текстуры и ужасные шрифты. Если технологии не позволяют дать качественную картинку через рантаймовое 3D, нечего было и пытаться. Взяли бы изометрию, как хотели изначально, и пререндерили высокополигональные модели, а не безногое нечто.
Удивительнее всего, что та же компания примерно в то же время выпустила «Ночной дозор», где рантаймовое 3D со свободной камерой было нужно для геймплея и картинка на выходе получалась очень неплохой. («НД» вообще одна из лучших российских игр, если не лучшая).
Герои — это шахматы, только клетки шестиугольные, фигурок много, и игра идёт на двух досках поочерёдно. Чтобы удобно во всё это играть, нужен хороший и приятный UI. Такой он в HotA, где и так отличный интерфейс трёшки отполировали до идеала (понавесив функций на мышку +
Alt/Shift/Ctrlи т.д.). Зачем шахматам 3D я понимать отказываюсь. Всё равно, что приделать 3D к редактору кода. Или к муравью.Вдобавок, когда это программировали, видеокарты были слабыми, со всеми вытекающими: все модели рублено-треугольные, анимации довольно вырвиглазные, текстуры и надписи размытые.
Вот именно: казалось бы. Я одно время увлёкся
consteval, потому что люблю препроцессить. Но очень быстро обломился. Мало того, что он сырой и обрезанный, и толком на нём не развернёшься, так ещё и плохо продуманный. Как раз в вопросах контроля кода. Мне попался однажды чужой фрагмент, гдеconsteval-функция делалаthrow "Invalid blahblahblah";. Я подумал: ага, эта семантика мне знакома. Так, например, делает LESS/WebCompiler 2022+. Кидаем строку под видом исключения в compile-time — видим эту строку в списке ошибок компиляции. Щаззз! Сообщение при компиляции было: «Бида-бида, вылетело исключение, а почему — сам разберись». Почему нельзя было в стандарте закрепить требование превращать такие строки в ошибки компиляции?Ладно, стал искать, чем заменить. Посоветовали попробовать
static_assert. Ну, я попробовал и теперь имею вопрос: его вообще в принципе можно заставить делать что-то полезное? Потому что на практике ты пишешь какой-нибудь высокоуровневый валидатор, а ошибка происходит на пятом уровне вложенности, среди строительных кубиков, из которых состоят все валидаторы (DRY же). И понять, что́ именно не так, просто НЕВОЗМОЖНО.Как всегда в таких случаях, буду рад узнать, что ошибаюсь. Что я просто не умею готовить это «море инструментов для контроля кода».
Может, хоть так люди научатся показывать поворотники за-ра-не-е. А не из левой полосы налево, сразу после того, как зажёгся зелёный и машина наполовину вывернула колёсики.
Это классический leopards ate my face moment. Недальновидные люди радуются началу процесса, потому что уверены, что их он не затронет.
Я бы не стал писать этот комментарий, если бы только что не прочитал историю, и теперь меня распирает желание ею поделиться. Гражданин ЕС пишет: захожу я сегодня на Реддит, и меня, уважающего себя крота с пятилетним экканутом, вдруг попросили загрузить скан id document (говоря по-русски, паспорта) или дать доступ к фронталке и подставить обе щеки (как учили древние гуманисты). Что ж это деется-то! А деется то, что такие сейчас нравы в Интернете. Выраженные в соответствующих законах. Ирония в том, что последние несколько лет эти же самые люди изо всех сил разрушали экстерриториальность Интернета. Они же не думали, что потом придётся доказывать, давая доступ к фронталке, что леопарды не объели ИХ лица!
В этом комментарии я написал слово «экстерриториальность» и решил сначала про неё почитать, чтобы не лажануться. Вроде не лажанулся, это именно то, что я имел в виду. Но помимо этого я узнал, что штаб-квартира ООН — это хрестоматийный пример экстерриториальности. Так вот, страна, в которой находится штаб-квартира ООН, недавно не выдала визы некоторым дипломатам для посещения штаб-квартиры ООН (речь не про россиян, если что). С такими замашками мы как раз лет за десять и придём к описанному выше сценарию. После чего, наконец (я оптимист!), люди задумаются, так ли это хорошо, когда леопарды едят чьи-то лица.
А буква X в слове AJAX означает XML, только об этом уже никто не помнит. Боюсь, даже то, что человек помнит само слово AJAX, уже выдаёт в нём не первую молодость. «Говорю об этом со всей молодёжной прямотой!» Короче, JSON это де-факто стандартный язык разметки данных, независимо от ЯП.
Но заменить на что-нибудь экзотическое будет как раз в духе C++.И будет два кода, которые надо синхронизировать. И по отдельности отлаживать. И написать генератор (желательно без ошибок).
Я бы предпочёл что-то вроде следующего. Пишем… за отсутствием у меня фантазии — ключевое слово
concept, а именноconcept CharacterConcept, в нём указываем маппинг полей JSON на поля структуры и остальные настройки, например, сортировку. Этот концепт можно скормить шаблонному загрузчику из стандартной библиотеки, и он, руководствуясь им через рефлексию (или ещё как-нибудь), произведёт загрузку. А можно просто написать:и получить готовый массив прямо при компиляции. Кроме того, этот массив можно скормить полноценной функции (без ограничений
consteval), которая сделает всё, что только хочется, независимо от того, вызвана она при загрузке или препроцессинге.Возможно, синтаксически это несколько наивно, но суть вы поняли. Мне бы хотелось брать всё лучшее из обоих миров: ресурсных дата-файлов и компайл-таймовых возможностей. Причём, даже не для игры. Разве не круто, когда компилятор (линкер) проверяет, что ни в одной локализации не забыт используемый ресурс, но сам ресурс лежит в таблице и вы его правите удобным табличным редактором?
Рассказ про фазу-1 напомнил мне, как Эрик Липперт сошёл с ума и начал ругать DDD. Поскольку ругать DDD без передёргиваний бесперспективно, он взял то, что в терминах статьи можно назвать гипотетическим кодом движка фазы-1 и начал смаковать все проблемы этого подхода (когда отношения между героем и его мечом описываются наследованием). Хотя описываемая им RPG’шка это оцифровка настолки, и применение DDD даёт классы «таблица с карточкой персонажа», «таблица с карточкой оружия», «игровой мастер» и «кубик». Короче, ему в комментариях
насовалинаписали, что нормальные люди так игры не пишут.Что касается фазы-3, мне кажется интересной одной идейка. (Я, возможно, стучусь в открытую дверь). Помню, моё первое детское впечатление, когда я читал код Duke’а и Doom’а: боже, сколько таблиц! Там, по-моему, даже ГСЧ был таблицей-массивом. Так вот, с одной стороны, вынос всего и вся в джейсончик это, конечно, хорошо, поскольку код не надо перекомпилировать каждый раз, когда Ваня-Джон-Вапур решает поменять баланс. С другой стороны, зачем в рантайме тратить время на загрузку, валидацию, удаление дубликатов, сортировки, сборку и т.п.? Это всё можно было бы написать кодом. Если бы
constevalподдерживал крутые штуки, хе-хе. В общем: было бы круто писать так, чтобы весь период разработки данные шли в конфигах, писались дизайнерами в редакторе JSON’а, и грузились в рантайме со всеми проверками-сборками-сортировками-нормализациями. Но потом, перед релизом, переключаешь конфиг проекта, и тот же код выполняется при сборке, типа, на этапе препроцессинга, над полученными тяжким трудом внешними файлами с конфигами и даёт аналог встроенных массивов и вызовов конструкторов. А затем компилятор уже это всё оптимизирует. Может даже, генерирует одинmemcpyBLOB’а.Вот как-то бы универсально переключаться, чтобы один и тот же код мог выполняться и как рантаймовый загрузчик-обработчик дата-файлов, и как часть препроцессинга. Тут, наверно, нужно специально заточенный ЯП? Или идея полная хрень?
Человек написал про блокировку Телеграма — я показал, как американцы с этим его Телеграмом обращались задолго до нынешней блокировки.
Хотите пример про блокировку целой страны? Пожалуйста: ТикТок. Эти бессовестные из Конгресса США взяли самое популярное приложение… как там жалостливо написано было… среди своих же собственных сограждан… и 19 января 2025 года удалили из американского App Store и Google Play. Причём, чтобы вернуться назад, владельцам ТикТока не предлагали просто «заземлить» компанию, открыв Ltd. в США и начав выполнять американские законы. Нет,
рейдерыпардон, бароны-разбойники сказали им: хотите вернуться — продавайте нам весь ваш бизнес на наших условиях, точка.«Не банят целую страну…» Ну кому вы это рассказываете? Это всё здесь же в новостях освещалось.
Уже много лет и по сей день за любую ссылку на t.me (про домены в зоне .ru даже не говорю) на каком-нибудь Реддите мгновенно отлетаешь в шадоубан. Так что, да: «такая же цензура, только еще хуже» и «ни стыда, ни совести ни у кого не осталось».
Не уверен, что они надолго останутся. Иначе в чём смысл этой сертификации.
Давайте считать, что мне ума не хватает понять. (Я даже не особо кокетничаю). Где брать «телефон без дурацких экониш» после грядущей обязательной сертификации разрабов под Андроид? Дело тут не в политике, а в том, что я вырос на IBM PC, и для меня противоестественно иметь компьютер, на котором нельзя просто запускать программы, без сторов и сертификаций¹. Даже если это «4-й айфон» (или правильнее сказать: «особенно, если…»?).
Пока я абстрактно утешаюсь тем, что вода дырочку найдёт. Не может не найтись 100 миллионов человек на планете Земля, которым не нужен такой телефон. Если найдётся, будет и телефон. А если нет, отсутствие телефона станет не самой большой проблемой для выживания.
¹ Кстати, это буквально значит: «без СМС и регистраций». Дожили, блин.
Ненадолго же.
С другой стороны, вскоре какая-нибудь Убунта Тач, возможно, получит импульс
255.Это не лучший ответ на вопрос «Почему?». Правильный ответ должен быть: «Потому, что лодка может перевернуться, и это может привести к жертвам». Или: «Потому, что пассажиры не должны причинять друг другу дискомфорт». Во втором случае можно забить, раз все четверо знакомые.
По этой причине составителям правил лучше всего так и писать: «Не пересаживаться — лодка перевернётся!», а не лепить стену текста (я такие часто вижу возле аттракционов — мелкий текст на табличке А4). Желательно с пиктограммами, как в «Идиократии».
В BIOS’е помнится была опция именно включения. Я бы протестировал, но смысла не вижу. Спячка просто лучше, а выключать компьютер — удел пенсионеров.
Кстати, занесло меня однажды в контору, которая наполовину принадлежала пенсионеру (в буквальном смысле), и он, да, требовал уходя выключать электроприборы. Как же это было неудобно. Но в остальном человек был неплохой, надо признать.
Это неверная постановка вопроса. Клавиатура не знает, что своим сигналом она будит компьютер, а компьютер не знает, что́ с той стороны USB — донгл или провод. Но раз вы требуете названий: беспроводную клавиатуру Logitech я в этом кейсе тестировал лично. Модель могу завтра написать, а то сейчас я разбужу не только компьютер, но и того человека, у которого в комнате она лежит.
Вот так вот живёшь, годами пробуждая комп от спячки нажатием кнопки на клавиатуре (Steam Controller это клавиатура), а для кого-то это маленькое чудо.
У Эллочки (Елены) Щукиной, если вы про «12 стульев».
Нет, про это я ничего не слышал.
А в чём сюр-то? Я для себя давно заметил, что открытая система (open system) и система с открытыми исходниками (open source system) — далеко не одно и то же. Помните, когда на каждом телефоне стояла Винда? Исходников не было, официальной документации — тоже (МС ещё судили за это, требуя задокументировать API). Но можно было взять Remote Spy++, оттрассировать сообщения и, например, перенести часы справа влево. При этом, они оставались часами, система реагировала на смену локали и формата времени. На этой открытости компании типа Spb Mobile неплохие деньги поднимали.
А потом появился Андроид с открытыми исходниками. Попробуйте передвинуть часы в Андроиде. Для этого надо всего лишь найти место в исходниках, отвечающее за вёрстку строки заголовка, внести изменения, перекомпилировать ОС, разблокировать загрузчик, получить добро от производителя телефона, решить вопрос с драйверами и интеграцией и накатить полученный образ через командную строку со своего компьютера через какие-то полуофициальные прошивальщики. Не то, что раньше мучаться — поставить .cab от Spb Mobile.
Поэтому, когда я вижу, как Майкрософт становится всё более закрытой и авторитарной и при этом чаще (с ваших слов) коммитит в open source, у меня не возникает ощущения сюрреализма.
В папке с Windows SDK’еями разных версий вчера искал
windowsx.h(точный текст запроса). FAR нашёл за секунду все три вхождения. Explorer пыхтел полминуты и нашёл одно (и кучу левых, где встречались подстрокиwin,.hи дажеx). Не знаю, смеяться или плакать.