?

Log in

No account? Create an account
CadEditor v5.0 Changelog
totoro
spiiin
Обновления редактора CadEditor за год с версии 4.1

- Почти для всех игр описан способ построения блоков из данных ROM-файла вместо картинок. Фактически, реализована наконец идея создания универсального редактора блоков, когда новые форматы могут быть добавлены с помощью файлов настроек, без изменения кода редактора.

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

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

- Добавлено редактирование игры со сжатием для NES (Felix the Cat), пока с примером ручного пережатия отредактированных данных с помощью скрипта на Python.

- Проект JupyterCadEditor (использование CadEditord в качестве библиотеки для Python в ноутбуках Jupyter) вынесен в отдельный репозиторий. Добавлены скрипты, позволяющие по конфигу игры для одного региона находить такие же данные для версии игры другого региона, что позволяет легко добавлять поддержку игр для разных регионов.

- Упрощён и улучшен рендер панелей и редакторов, убраны лишние масштабирования и "замыливание" при отрисовке.

- Добавлен плагин экспорта карты в формат TMX, для последующего использования её в редакторе Tiled. Улучшены плагины экпорта блоков и экранов в картинки и бинарные файлы.

- Добавлено множество lua-скриптов для упрощения исследования игр и добавления  их в редактор. Переписаны с Python на Lua скрипты автоматического поиска блоков различных форматов в видеопамяти - теперь они позволяют находить блоки прямо во время прохождения игры, без необходимости делать дампы памяти вручную.

- Добавлены lua-скрипты для эмулятора Mesen, позволяющие исследовать спецэффекты в NES-играх, а также расширяющие возможности эмулятора в отладке.

- Добавлены утилиты для проверки целостности конфигов при обновлении версии редактора и исследования функций конфига без запуска самого редактора.

- Добавлен плагин, позволяющий пережимать данные и запаковывать их в ROM - компрессор для игры Contra Hard Corps.

- Плагин для запуска пользовательских скриптов из редактора и примеры его использования (экспорт скриншотов, экспорт блоков из игры для использования в демо-проектах)

- Проект перешагнул первую тысячу коммитов, а также переведён на .NET Framework 4.0. Редактор содержит более 1500 конфигов блоков и экранов различных уровней для 128 игр. Большая часть этих конфигов добавлена пользователями редактора, так что проект частично стал продуктом сообщества ромхакеров.

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




This entry was originally posted at https://spiiin.dreamwidth.org/119809.html. Please comment there using OpenID.
Tags: , ,

Castlevania HD Pack
totoro
spiiin
Очень здоровская затея в современных эмуляторах - вытащить всю графику, улучшить её качество, и включить в эмуляторе использование этой улучшенной графики.

Улучшенный пак графики и музыки для первой Castlevania под эмулятор Mesen.



Записал прохождение, с помощью самописного скрипта для перезаписи прохождений, надеюсь автор эмулятора наконец добавит нормальную реализацию перезаписи в ближайших обновлениях.
This entry was originally posted at https://spiiin.dreamwidth.org/119717.html. Please comment there using OpenID.
Tags: , ,

Шейдеры для NES игр
totoro
spiiin
Продолжаю изучать возможности lua-скриптов в эмуляторе Mesen. Функции getScreenBuffer/setScreenBuffer позволяют каждый кадр (или чаще) модифицировать содержимое экранного буфера. Так можно добавлять простые шейдеры постэффектов (да и сложные тоже).

Скрипт
с эффектами красного экрана, мерцания, черезстрочного вывода и построчного "двоения экрана":
Возможны также и более сложные эффекты (размытие движения, дождик, выделение контуров и т.п.), правда, не сильно удобно писать такое на Lua. This entry was originally posted at https://spiiin.dreamwidth.org/119164.html. Please comment there using OpenID.
Tags: ,

No
totoro
spiiin
Отслеживание количества актуальных IP адресов из выгрузки Роскомнадзора
This entry was originally posted at https://spiiin.dreamwidth.org/118570.html. Please comment there using OpenID.
Tags:

Ещё о криптокартинах
totoro
spiiin
Несколько месяцев назад я писал о художнице, шифрующей в картинках приватные ключи от кошельков с биткоинами. Она делала многоуровневые загадки, обсуждение которых в итоге перенесла на закрытый форум, чтобы не решившие первые этапы задачи не могли пользоваться результатами других. А вот Andy Bauch поступил проще - сделал несколько картин с отдельными задачками и призами. Картинки выложено из кубиков Лего.

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

КДПВ



This entry was originally posted at https://spiiin.dreamwidth.org/118282.html. Please comment there using OpenID.

Как за*бать программиста вопросом про скалярное произведение векторов
totoro
spiiin
Read more...Collapse ) This entry was originally posted at https://spiiin.dreamwidth.org/118156.html. Please comment there using OpenID.

Into the breach
totoro
spiiin
Очень, очень интересная тактика. Давненько не встречал такого, чтобы над каждым ходом необходимо было думать, иногда одного неправильного действия достаточно для проигрыша всей глобальной партии. Разработчики добились этого за счёт того, что всегда огневой мощи отряда игрока не хватает для обезвреживания всех врагов, поэтому их чаще надо не уничтожать, а переставлять по полю так, чтобы они промахивались, а ещё лучше били друг друга. При этом враги угрожают не юнитам игрока, а беззащитным зданиям, которые приходится прикрывать юнитами, так как потеря нескольких зданий сразу ведёт к поражению не только в битве, но и во всей игре.

Интересно, что помимо основных 2 уровней планирования - тактического в битвах и стратегического на глобальной карте, присутствует ещё  уровень метапланирования действий между играми - возможно пожертвовать целой игрой, ради того, чтобы получить достижение за игру и за очки достижений открыть более мощный отряд юнитов для следующей партии. Подобный ход, в совокупности с генерируемыми островами добавляет игре реиграбельности на десяток прохождений.

This entry was originally posted at https://spiiin.dreamwidth.org/117993.html. Please comment there using OpenID.
Tags:

TMNT: Tournament Fighters [NES] Lua-скрипт для выполнения суперударов
totoro
spiiin
Скрипт, позволяющий выполнять суперудары нажатием одной кнопки в лучшем файтинге на NES - TMNT: Tournament Fighters. Упрощает игру с клавиатуры.

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

Детальное объяснение игровой механики.

Видео:

This entry was originally posted at https://spiiin.dreamwidth.org/117720.html. Please comment there using OpenID.
Tags: ,

Супер Марио в супер сломо
totoro
spiiin
This entry was originally posted at https://spiiin.dreamwidth.org/117216.html. Please comment there using OpenID.
Tags: ,

Криптовалюты. За и против.
totoro
spiiin
ЗА

- Не существует ни одной идеальной национальной валюты для международных рассчётов. Доллар не идеален и не вечен. От бреттон-вудской системы отказались именно из-за недостатков обмена доллара на золото и обратно. После этого все старательно делают вид, что проблемы нет (ямайская система). Из альтернатив - возврат к золоту или разделение стран по на несколько групп с доминированием различных валют/систем, причём группы должны быть полностью изолированы друг от друга, иначе вновь возникает вопрос об общей системе обмена между разными группами.

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

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

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

- Устойчивость к санкциям, запретам и попыткам конфискации. Данный плюс очевиден только для тех, кто сталкивался с тем, что у него что-то отбирали или запрещали использовать какую-либо систему. Те, кто не сталкивался с подобным, почему-то думают, что такое случается только со злобными нарушителями правил, и никогда не коснётся их самих. Пока государства не захватят контроль над кодом криптовалют и не зашьют туда необходимость соблюдение своих законов (спойлер - никогда), криптовалюты останутся "серой зоной" для тех, кому она нужна (это не только те, кто финансируют терроризм, покупают наркотики, отмывают деньги и распространяют детскую порнографию).

ПРОТИВ

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

- Анонимность. Её нет. При нынешней ситуации, соблюдать анонимность практически невозможно - одна мелкая ошибка (возможно, даже не лично ваша) может привести к потере анонимности большой группы пользователей. Уже сейчас есть тенденции на полный запрет анонимости в точках ввода/вывода валюты в фиат (KYС). Технически, соблюдая все правила безопасности, можно оставаться анонимным, но это требует множества усилий. Кроме того, человечество ещё не привыкло к анонимный личностям, и считает их чем-то мистическим. Для примера, сложно представить себе анонимного Сатоши Накамото, который существовал как личность в интернете (публиковал сообщения на форумах, коммитил код в репозитории), но не существует конкретного человека с таким именем, которому принадлежит самое большое количество биткоинов в мире.

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

- Революционность. Сейчас криптовалюты существуют параллельно фиатным валютам, причем их курс медленно, но верно растёт (когда начинает расти быстро - я думаю, все это замечают). Происходит это не из-за пирамидности, как кажется тем, кто слышал про пирамиды, а из базовых определений инфлятора и дефлятора - биткоинов всегда будет существовать 21 миллион, а денежная масса M0 рублей, долларов и других валют постоянно становится больше. Очевидно, что при неизменном уровне спроса  и предложения один биткоин будет стоить со временем дороже и дороже. Такая позиция не будет утраивать ни одно государство, которое хочет контролировать оборот денег на своей территории (то есть, вообще ни одно государство), поэтому законы против криптовалют будут становиться всё строже и строже. Пока мир находится на стадии, "обложим криптовалюты налогом, а там видно будет", но при развитии ситуации криптовалюты начнут создавать угрозу фиатным валютам - тогда должно будет остаться что-то одно. Кроме того, если немного разобраться в идеологии шифропанков, то станет понятно, что причина, по которой создавались биткоины - не нажиться на них создателям, а попытка изменить общество.

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


На всякий случай, сразу ответы "для чайников" на вопрос - как заработать на криптовалютах?

- Купить каких-нибудь криптомонет через ICO (вроде, это не запрещено ещё). Забудьте о них на год-два и продайте. Если проект, выпускащий ICO станет успешным, заработаете. Иначе - потеряете деньги.
- Найдите работу с оплатой криптовалютой, и продавайте зарплату. Примеры проектов - steemit, gems, можно найти специализированные биржи фриланса.
- Изучить технологии блокчейна и писать программы для работы с криптовалютами, в ближайшие годы программисты, умеющие это, будут цениться.

Как не стоит пытаться заработать на криптовалютах (возможно, но намного сложнее, чем кажется):
- Майнинг и тем более покупка виртуальных ресурсов для майнинга.
- Игра на биржах и арбитраж.
- Купить биткоинов на все имеющиеся деньги.
- Продажа тренингов "как заработать миллион на биткоинах".

(всё спорно, конечно)

This entry was originally posted at https://spiiin.dreamwidth.org/116802.html. Please comment there using OpenID.