Обо мне
Начинал с Lua-скрипта для полицейских на Advance RP, дошёл до собственного мультиплеера, а теперь занимаюсь веб-сервисами.
Я Pakulichev, разработчик. Сейчас пишу веб-сервисы, а до этого много лет делал моды и серверы для GTA: San Andreas. В этом сообществе меня знают ещё как ImPasha (так сейчас называется мой аккаунт на BLAST.HK) и Pavel_Garson: под этим ником я играл на Advance RP.
Я автор или соавтор SL:MP, Police Tools, ImGUI Editor и SNET, бывший модератор форума BLAST.HK и спонсор конкурса The SA:MP Coder.
Как я пришёл в разработку
Началось всё с ролевых серверов SA:MP. Я играл за полицию на Advance RP, рутины там было много, и в конце 2017 года я сел писать Police Tools. Это был мой первый большой скрипт на Lua, а сам Lua я тогда только начинал осваивать. Через год в проекте было около 10 000 строк кода, и на него переходили даже пользователи платных конкурентов.
Примерно тогда же, 28 октября 2017 года, я зарегистрировался на BLAST.HK. Выкладывал исходники, отвечал на вопросы и со временем стал модератором форума.
От скриптов к сетям и серверам
К 2019–2020 годам меня больше занимали архитектура и сети, чем отдельные скрипты. За это время я:
- написал интерпретатор собственного языка «Simple Language»;
- вместе с SEVEN сделал SL:MP, мультиплеер для GTA: San Andreas целиком на Lua, с сервером на LuaJIT под Windows и Linux и своим UDP-протоколом;
- вынес сетевую часть в отдельную библиотеку SNET;
- написал на C++ визуальный редактор интерфейсов ImGUI Editor.
KITTEN DEV TEAM
В сообществе SA:MP у меня было своё объединение разработчиков – KITTEN DEV TEAM. Отсюда и кот на логотипе этого сайта: глаза у него – два текстовых курсора.
Веб-разработка
Со временем основной работой стал веб: бэкенд на Node.js и PHP, API, боты для мессенджеров, базы данных, серверы на Linux. Ближе к вебу были динамическая карта SA:MP в браузере, которую мы сделали с ca4tuk и Conradk10, и PHP-библиотека BlastPHP для форума.
Навыки
| Область | Технологии |
|---|---|
| Бэкенд | Node.js, Express, PHP, Python (FastAPI) |
| Фронтенд | HTML, CSS, JavaScript |
| Игровой моддинг | Lua, LuaJIT FFI, MoonLoader, mimgui / Dear ImGui, CLEO, Pawn |
| Сеть | UDP, LuaSocket, собственные бинарные протоколы, HTTP API |
| Десктоп | C++ (Dear ImGui, DirectX 9), Java, AutoHotkey |
| Инфраструктура | Linux, nginx, pm2, VPS, базы данных |
| Языки | русский, английский |
Открытый код
Исходники Police Tools, ImGUI Editor и SL:MP я публиковал открыто, чтобы на них можно было учиться.
Частые вопросы
На каких языках программирует Pakulichev?
Основные языки Pakulichev – JavaScript (Node.js), Lua (LuaJIT, MoonLoader) и PHP. В отдельных проектах он писал на Pawn, Python, C++ и Java.
Чем Pakulichev занимается сейчас?
Сейчас Pakulichev занимается в основном веб-сервисами: бэкенд на Node.js и Express, боты, базы данных, серверная инфраструктура на Linux с nginx.