Фото Артура Фёдорова Photo of Artur Fiodarav

Фёдоров Артур Arthur Fiodarav

Technical Artist

"Играл в игры, писал про игры, продавал игры, продвигал игры — теперь их создаю!" "Played games, wrote about games, sold games, promoted games - now I create them!"

Опыт работы Work Experience

  1. Freelance 3D/2D Generalist & Tech Artist Freelance 3D/2D Generalist & Tech Artist

    VFX, шейдеры, материалы, SFX, подготовка к релизам на Steam/PS Store, организация тестирований. VFX, shaders, materials, SFX, preparing for Steam/PS Store releases, organizing testing sessions.

  2. Руководитель видеоигрового отдела, OZ.by Head of Video Game Department, OZ.by

    Управлял полным циклом игрового направления: от переговоров с Nintendo и Blizzard до организации национальных киберспортивных турниров. Получил глубокое понимание рынка и жизненного цикла продукта. Managed the full cycle of the gaming division: from negotiations with Nintendo and Blizzard to organizing national esports tournaments. Gained a deep understanding of the market and product lifecycle.

  3. Копирайтер, Etxt Copywriter, Etxt

    Начинал путь в индустрии с написания обзоров и гайдов, глубоко изучая игровые механики и то, что цепляет игроков. Started my journey in the industry by writing reviews and guides, deeply studying game mechanics and what engages players.

Обо мне About Me

Увлеченный специалист, который верит, что элегантные технические решения и креативный подход — ключ к созданию незабываемого игрового опыта. А ещё: An enthusiastic specialist who believes that elegant technical solutions and a creative approach are the key to creating an unforgettable gaming experience. Also:

I like nodes gif I like nodes gif

Ключевые навыки Key Skills

Основное Core

Unity C# C++ (basic) ShaderGraph VFXGraph SFX

Арт-инструменты Art Tools

Substance Designer Blender Photoshop Krita PixelCreator Aseprite

Аудио Audio

FMOD Adobe Audition FLStudio

Языки Languages

Русский (Родной) English B2

Образование и Обучение Education & Training

БГЭУ, Экономист-информатик BSEU, Economist-Informatics

Сильная база в математике, статистике и аналитике, помогающая в программировании и оптимизации. Strong foundation in mathematics, statistics, and analytics, which aids in programming and optimization.

Специализированные курсы Specialized Courses

Множество углубленных курсов по Blender, Unity, C#, написанию шейдеров, VFX, работе со светом и FMOD. Numerous in-depth courses on Blender, Unity, C#, shader writing, VFX, lighting, and FMOD.

Версия для печати Printable Version

Для вашего удобства я подготовил краткую версию этого портфолио в формате PDF. For your convenience, I have prepared a brief version of this portfolio in PDF format.

Скачать PDF Download PDF
okamisen@yandex.ru | LinkedIn | Telegram | Беларусь, Минск Minsk, Belarus

Личные проекты Personal Projects

Too Late for Valhalla

Ключевая задача: Core Task: Создать аудио-центричную архитектуру, где музыкальный трек в FMOD является "дирижером", управляющим геймплеем, генерацией уровней, шейдерами и UI. To create an audio-centric architecture where the FMOD music track acts as a "conductor," controlling gameplay, level generation, shaders, and UI.

Too Late for Valhalla Preview

1. Аудио-реактивность на DSP 1. DSP-Based Audio Reactivity

Система анализа звука в реальном времени через DSP с FFT. "Энергия" музыки управляет Post-FX, тряской камеры и параметрами шейдеров. A real-time audio analysis system using DSP with FFT. The music's "energy" controls Post-FX, camera shake, and shader parameters.

2. Процедурная анимация караоке 2. Procedural Karaoke Animation

Полноценный аниматор текста, управляемый из FMOD через timeline-маркеры. Анимирует десятки параметров материала (`AnimationCurve`). A full-fledged text animator controlled by FMOD via timeline markers, animating dozens of material parameters with `AnimationCurve`.

3. Динамическая генерация уровней 3. Dynamic Level Generation

Бесконечный раннер, где структура и сложность уровня полностью синхронизированы с FMOD-маркерами в музыкальной композиции. An endless runner where the level structure and difficulty are fully synchronized with FMOD markers in the music track.

4. Комплексный процедурный шейдер воды 4. Complex Procedural Water Shader

Шейдер воды, управляемый через систему состояний. Плавно переключается между состояниями ("меню", "геймплей"), меняя десятки параметров. A state-driven water shader that smoothly transitions between states ("menu," "gameplay"), changing dozens of parameters.

5. Кастомный Post-Processing в URP 5. Custom Post-Processing in URP

Собственный `ScriptableRendererFeature`, который инъецирует полноэкранный шейдер в URP. Параметры контролируются состоянием игрока, событиями и музыкой. A custom `ScriptableRendererFeature` that injects a fullscreen shader into URP. Parameters are controlled by player state, events, and music.

6. Глубокая интеграция камеры и UI 6. Deep Camera & UI Integration

Живая, отзывчивая система обратной связи. Камера использует стейт-машину Cinemachine и `Impulse`, а UI — объект с кастомным шейдером. A living, responsive feedback system. The camera uses a Cinemachine state machine and `Impulse`, while the UI is an object with a custom shader.

7. Динамический саундтрек и процедурная генерация SFX 7. Dynamic Soundtrack & Procedural SFX

Продвинутая звуковая система. В реальном времени управляет количеством музыкальных слоев. SFX урона и подбора еды генерируются процедурно через фильтры и наложение слоев, что гарантирует уникальность каждого звука. An advanced sound system. It controls the number of music layers in real-time. Damage and item pickup SFX are generated procedurally via filters and layer blending, ensuring each sound is unique.

Шейдеры Shaders

Shader Preview 1
Shader Preview 2
Shader Preview 3

HOLODOG

Ключевая задача: Core Task: Создать полностью модульную, управляемую физикой систему процедурной анимации для 2D-меха, позволяющую "собирать" персонажа из независимых частей по рецепту. To create a fully modular, physics-driven procedural animation system for a 2D mech, allowing character assembly from independent parts based on a recipe.

HOLODOG Preview

1. Модульная процедурная анимация 1. Modular Procedural Animation

Создана система, позволяющая собирать мех "по рецепту". Ядро `ChassisController` через события управляет модулями: процедурной локомоцией, кастомным IK для рук, физикой отдачи и `JiggleBone`. A system for assembling a mech "by recipe". The `ChassisController` core manages modules via events: procedural locomotion, custom arm IK, physics-based kickback, and `JiggleBone`.

2. Продвинутый 2D-шейдер освещения 2. Advanced 2D Lighting Shader

Разработан шейдер, формирующий собственную систему освещения, смешивая до двух источников света через режимы Overlay, Hard Light и Burn для создания сложного стилизованного 2D-освещения. A custom shader that forms its own lighting system, blending up to two light sources using Overlay, Hard Light, and Burn modes to create complex, stylized 2D lighting.

3. Эффективная кастомизация 3. Efficient Customization

Реализована система `MaterialOverrideController`, позволяющая на лету через `MaterialPropertyBlock` изменять параметры шейдера для отдельных частей, не создавая новых экземпляров материала. Implemented `MaterialOverrideController` to change shader parameters on-the-fly for individual parts via `MaterialPropertyBlock`, avoiding new material instances.

4. Динамический шейдерный щит 4. Dynamic Shader Shield

Эффект энергетического щита с имитацией объема на 2D-спрайте. Шейдер анализирует карту глубины и процедурно рассчитывает нормали, позволяя щиту корректно реагировать на свет. An energy shield effect that fakes volume on a 2D sprite. The shader analyzes the depth map and procedurally calculates normals, allowing it to react correctly to light.

5. Архитектура, управляемая событиями 5. Event-Driven Architecture

В основе проекта лежит гибкая архитектура, где компоненты общаются через систему событий (`Action`). Это обеспечивает низкую связанность кода и упрощает добавление новых механик. The project is based on a flexible architecture where components communicate via an event system (`Action`), ensuring low code coupling and easy addition of new mechanics.

6. Физически-корректное взаимодействие 6. Physics-Based Interaction

Особое внимание уделено ощущению "веса". Движение управляется через `Rigidbody2D` с инерцией, а оружие генерирует физический импульс (`blowbackForce`), который толкает персонажа назад. Special attention is paid to the feeling of "weight". Movement is controlled via `Rigidbody2D` with inertia, and weapons generate a physical impulse (`blowbackForce`) that pushes the character back.

Шейдеры Shaders

Holodog Shader Preview

Галерея Gallery

Album Art Background
Album Cover


Контрактная работа Contract Work

Bit Blast Zero Preview

Blast Bit ZeroBlast Bit Zero

Разработал бесконечный shoot 'em up. Ключевой особенностью проекта является кастомная система на базе Scriptable Objects, которая значительно упрощает и ускоряет создание новых волн противников и боссов.Developed an endless shoot 'em up. The project's core feature is a custom system based on Scriptable Objects, designed to significantly simplify and accelerate the creation of new enemy waves and bosses.

Temple of Patience Preview

Temple of PatienceTemple of Patience

Создал сингл-скрин платформер. Основной задачей была разработка архитектуры на основе тайловых карт и префабов, позволяющей собирать новые уровни прямо в редакторе Unity за считанные минуты.Created a single-screen platformer. The main goal was to develop an architecture using tilemaps and nested prefabs, enabling the assembly of new levels directly in the Unity editor in minutes.

Argon Flight Preview

Argon FlightArgon Flight

Разработал короткий рельсовый шутер, стилистически вдохновлённый техно-демо 90-х. В основе проекта лежит система событий, привязанных к таймлайну, которая управляет всеми игровыми моментами.Developed a short on-rails shooter, stylistically inspired by 90s tech demos. The project is built upon a timeline-based event system that drives all in-game moments.

Don't press X Preview

Don't press X to free the pirateDon't press X to free the pirate

Создал сатирическую мета-игру, построенную вокруг простой концепции: не нажимать кнопку Х. Основной технической задачей стала разработка гибкой системы ветвящихся диалогов на Scriptable Objects, включающей озвучку каждого печатаемого символа.Created a satirical meta-game built around a simple concept: don't press X. The main technical challenge was developing a flexible, branching dialogue system using Scriptable Objects, which included per-character audio feedback as text is typed.

Dissolve Feature Preview

Рендер-фича: Dissolve EffectRender Feature: Dissolve Effect

Разработал кастомную рендер-фичу (URP Render Feature) для создания эффекта, имитирующего датамошинг, который "распыляет" пиксели предыдущего кадра на текущий. Дополнительно реализовал ряд других шейдерных эффектов.Developed a custom URP Render Feature to create a datamoshing-inspired effect that "atomizes" pixels from the previous frame onto the current one. Additionally implemented several other shader effects.

Mobile Game Effects Preview

Эффекты для мобильной игрыEffects for a Mobile Game

Разработал серию эффектов частиц, оптимизированных для работы без VFX Graph. Управление параметрами Shuriken реализовано через передачу данных в кастомных UV-каналах для высокой производительности.Developed a series of particle effects optimized to run without VFX Graph. Instead, Shuriken parameters are controlled by passing data through custom UV channels, ensuring high performance.

VR Features Preview

Разработка фичей для VRVR Feature Development

Реализовал комплекс фичей для VR-проекта: высокооптимизированные шейдеры, кастомную физическую систему для интерактивных объектов (двери, ящики) и ивентовую систему SFX на Scriptable Objects.Implemented a suite of features for a VR project: highly-optimized shaders, a custom physics-based interaction system for objects like doors and drawers, and an event-driven SFX management system using Scriptable Objects.

VFX Graph Explosion Preview

Настраиваемый взрыв (VFX Graph)Configurable Explosion (VFX Graph)

Создал конфигурируемый эффект взрыва при помощи VFX Graph как гибкий ассет с множеством вынесенных параметров (цвет, размер, интенсивность) для легкой кастомизации.Created a configurable explosion effect using VFX Graph, designed as a flexible asset with numerous exposed parameters (e.g., color, size, intensity) for easy customization.


Пока вы думаете... While you're thinking...

Счет: Score: 0

Нажмите Пробел или тапните, чтобы прыгнуть Press Space or tap to jump