Pull to refresh
1
Сергей@lastpx

Сделал Last Pixel — игру на выносливость.

Send message

Два вопроса по внутренностям, если не сложно.

Про собственную рефлексию. Как она реализована — макросы, кодогенерация на этапе сборки, парсинг через clang? Меня интересует не столько сам механизм, сколько цена сопровождения: рефлексия в C++ обычно упирается в то, что при каждом изменении структуры её надо где-то продублировать, и рано или поздно это расходится. У вас на ней держатся и сериализация, и редактор, то есть расхождение будет стоить дорого. Как вы от этого страхуетесь?

Про веб. Меньше 3 МБ на hello world — это про нативную сборку. А что получается в вебе: какой тулчейн, какой реальный размер бандла и сколько занимает первый старт? Для 2D это обычно решающая цифра, и её почти никогда не публикуют.

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

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

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

А потом ботов не стало — и стало видно, что живых-то и не было. Настоящий вопрос всё это время стоял другой: не «как отбиться», а «зачем сюда вообще приходить». И я его не трогал ровно потому, что он не решается кодом, а значит не выглядит как работа. Две недели отладки ощущаются продуктивнее, чем один честный вечер с вопросом, на который у тебя нет метода.

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

Information

Rating
4,540-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик
Node.js
PostgreSQL
JavaScript
Информационная безопасность
Защита информации