All streams
Search
Write a publication
Pull to refresh
28
0
16tomatotonns @16tomatotonns

Lua, python, прочие скрипты, сишка. Чутка GLSL.

Send message
Или капать дистиллятом/спиртом/жидким азотом.
Можно сэмплировать несколько текстур, пусть даже небольшого разрешения. В данном примере, в качестве бекграунда зациклено пять текстур, которые смещаются с разной скоростью. Если смотреть на звёзды одинакового размера — можно заметить что они повторяются, но общая картина — нет.
14мб гифка
image

Ну, на фреймворке можно как раз без особого обучения вызвать несколько функций:
— загрузить картинку;
— нарисовать её на таких-то координатах;
— в игровом цикле проверить, если на него кликнули мышкой (aabb) или нажали
какую-то кнопку, то вызвать какую-то логику.
И на этом же простейшем aabb или чём-то аналогичном — сделать маленькую top-down-стрелялку вжжж-пиу-пиу, обновляем координаты пуль из массива пуль и коллидируем с противниками из массива противников (например). Очень просто, вся внутренняя кухня прямо перед глазами и есть позитивные подкрепления. Я так на баловстве с Love2d вылез в программисты :)
Тут весьма двоякое отношение. В первую очередь, для обучения, стоит именно что всё перепробовать. Начать с какого-нибудь фреймворка (без редакторов сцен и даже понятия игровой сущности) типа LibGDX/Love2d/PyGame, и мутить на нём крошечные прототипы игрушек типа змеек/3-в-ряд/тетрисов или уже чего посложнее (но ненамного). Навелосипедить на нём себе основных инструментов, поглядывая на движки, чтобы понять как это работает в движках. А после этого, начать ковырять сами сторонние движки. В таком случае, объём знаний получается более-менее полным, появляется знание проблем тех или иных движков, и когда можно — получается сэкономить время-деньги воспользовавшись движком, а когда не нужно — можно и руками всё накатать на фреймворке/наборе библиотек.

У того же Джоэла Сполски есть статья про дыры в абстракциях, и подобный подход позволяет их заранее изучить.
Не совсем, там чутка сложнее. Во-первых, к гайдзину (работающему в стране) обычно приставлен японец, который работает ментором, тыкает гайдзина палочкой за неподобающее поведение и извиняется перед окружающими, но с другой стороны, можно внезапно оказаться уволенным и выселенным за то что несколько раз сделал какую-то казалось бы незначительную фигню, которую ментор не заметил (или решил что простят недотёпу), но на тебя пожаловались. Само давление ниже и оно незаметно для среднестатистического гайдзина (который по умолчанию не умеет читать атмосферу и считывать это самое давление), но последствия те же самые. Во-вторых, изначальное отношение на другом уровне, просто меньше возможностей, а те что есть — гораздо сложнее реализуются. А туристы просто мало кого волнуют и никому не нужны. Я же сказал: можно написать целый большой и красивый пост на этот счёт.
Есть такое дело, тут можно написать целый пост на 1192 слов: «Почему никому не стоит иммигрировать в Японию», и расписать во всех прелестях ужасы и кошмары социального взаимодействия, отношение к гайдзинам, к тем кто не может «читать атмосферу» или как-то прямо или косвенно вызывает неудобства или не оправдывает желания окружающих, и ещё много чего. Лично я просто не очень понимаю как это стыкуется с постом, тема которого не привязывается к конкретной стране, просто описывает «пользовательские» и визуальные фичи данной.
В некоторых условиях и программист должен быть доступен 24х7, чтобы предельно быстро пофиксить баг. С доплатой и поблажками, разумеется.
Подтверждаю, испортил себе зубы и волосы на неуёмном питье воды из обратного осмоса, активно кушая при этом творог и прочую молочку. И если нормальные волосы отрасли, после курса глюконата, то буквально за неделю разваливающиеся при мизерной нагрузке зубы уже нет, только задорого у стоматолога.
Хм. Я как раз довольно активно думал на тему «как добавить в ОС нативные макросы-расширители», и под венду, например, ничего не нарыл. Остаётся только AHK.
… Или просто закрыться в душевой комнате, потому что там обычно пыли меньше, и поток воздуха практически отсутствует :)
Сам обычно меняю стёкла у телефонов в гараже у знакомого, он там не машину держит, а мастерскую, но пыль можно быстро выдуть, закрыться и подождать пока основная взвесь осядет.
Хм. Есть абсолютно аналогичный по цене и ттх (45-55к) HP OMEN 15-ax216ur, с TFT-IPS (матовой) матрицей. Как раз с пару недель его взял, как самое дешёвое и нормальное по железке. Даже клавиатура — точно такая же! Или матовое — не то?
Несколько вещей относятся к стандартным библиотекам Python (вроде парсинга XML/YAML).
То что некоторые пункты относятся сразу ко множеству языков — не значит что оно не относится к Python, соответственно название валидно: как уточнение, что у питона вот эти штуки точно так же не пофикшены, как и у остальных языков.

Сам довольно активно применяю в работе язык Lua, к нему множество вещей из статьи тоже подходит, а что-то — нет, например, сторонние библиотеки зачастую далеко не такие умные как питоновые (большинство библиотек для парсинга XML не упадёт из-за lol/не будет грузить XML-включения по причине собственной тупости), но те же SQL/Shell-инъекции — замечательно срабатывают.
Обычное вредоносно-рекламное расширение браузера будет встраивать произвольное количество рекламы в абсолютно любую страничку. И даже раз в пять секунд открывать страничку с рекламным видео. Видел «вирусы на питоне», которые мониторят открытые браузеры и через аналог драйверов selenium'а подменяют контент и заставляют тыкать на нужные автору расширения кнопки и регулярно открывать рекламные вкладки, с вопящим видео. Очень выгодно. А если сидящий за компьютером — разработчик, то в процессах он просто увидит запущеный питон, и не факт что среагирует, потому что «своя софтина привычная», получается натуральная мимикрия.
Исключения отсутствуют, но наличествует «безопасный вызов функций» через pcall/xpcall, можно использовать вместо исключений. Ну, и изначально писать чистый код через фильтрацию нежелательных случаев.
Тема интересная, но очень коротко и без конкретики. Была бы тут статистика графики и технические подробности — было бы значительно лучше (хотя не факт что возможно: банковая отрасль же).

Плюс действительно, у нас сейчас много устройств, и при пересадке с обычной клавиатуры на резиновую (такие используются довольно часто, как ни странно) — рисунок изменится кардинально, ибо такая клавиатура сильно мешает печатать. и как это переложить на мобильные устройства не очень понятно: там «рисунок» есть у свайп-клавиатур, результат которых проблематично снимать.
Разработчик замечательно пишет и выкладывает много интересностей/статистики, можно посмотреть в его блоге разработки cogmind. Да и в целом, разработка коммерчески успешных рогаликов — нетривиальная задача, слишком маленькая ЦА, а тут прямо описание «что, как и почему», хотя выглядит как будто «ваяется для себя».
Что-то похожее на npm/pip/gem — luarocks, ставится отдельно, и заточен под Linux (с windows — некоторые проблемы первоначальной настройки, вроде прописывания всяких путей до компиляторов/стандартной библиотеки окружения/переменных в PATH). Лично в моём случае, есть сравнительно небольшой комплект библиотек: всякая почти стандартная шушера, типа cjson/luasocket/lanes — уже собрана под все архитектуры популярных ОС, или их можно выгрести с luapower/luaforwindows.

Менеджер который управляет подключением библиотек в текущий проект — отсутствует, ты копируешь скрипты куда тебе нужно, или прописываешь пути внутрь Lua(package.path/package.cpath) или внутрь переменных окружения LUA_PATH/LUA_CPATH. Очевидно, при конечной сборке стоит скомпоновать все используемые библиотеки в одном проекте (папке), из которой они друг друга начинают подтягивать.

Lua не шибко богата на всякие фичи, некоторые инструменты к которым все давно привыкли на своих ЯП — отсутствуют. Если есть желание — можно написать/дописать и выложить, но тут суть ЯП немножко другая.
Ух ты, фантастически. Сам хотел писать туториал «для не таких уж новичков», без такого обилия графики и со «своими библиотеками», т.е. значительно проще и объёмнее по тексту.
Ещё товарищ не рассказал как именно он имплементировал Steam в Love2d (тема для отдельной статьи, я этим довольно плотно занимался как через ffi, так и динамической библиотекой).

Но для тех кто пробовал Love2d и хочет сделать что-то законченное — самое то.

Математика, в данном случае, работает мозгообразующей структурой. Объективно, в значительном количестве задач она не нужна, но тем не менее, она тянет за собой логику и доказательные методики проектирования, а не 'по общим соображениям'. Да и 'общие соображения' матанников отличаются повышенной точностью и рациональностью.

Когда начинал — использовал google drive для автосинхронизации скриптов между кучей машинок, и сейчас использую, когда нет групповой разработки (90% кода не-для-работы).
Проблемы отсутствуют. Сотню предыдущих версий файла (нажатий ctrl + s) он хранит, и т.п.
Гит в данном случае — оверинжиниринг и лишние неудобства в виде постоянных ручных синхронизаций, что особенно неудобно когда начинаешь писать один и тот же метод на телефоне, продолжаешь на ПК и заканчиваешь — на ноутбуке.

Information

Rating
Does not participate
Registered
Activity