Обо мне

Я Тимур Гафаров, художник и программист. В Интернете я также известен под никами Gecko и gecko0307. В настоящее время я работаю баннермейкером в казанской продакшн-компании SmartHead. Увлекаюсь трехмерной графикой, занимаюсь инди-геймдевом с 2005 года. Некоторые из моих игр можно скачать на этой странице. В данный момент разрабатываю игру Atrium - фантастический шутер от первого лица с головоломками, основанными на физике - и, соответственно, 3D-движок для него. Я начал вести этот блог в 2012 году, чтобы делиться своим прогрессом.

Пишу обычно на D, Python, JavaScript. Активный пользователь и пропагандист языка D. Очень люблю изучать различные ЯП, постоянно слежу за новыми языками и пробую писать на них. Так, в разной степени имел дело с C, C++, C#, Java, Objective-C, Ruby, Perl, PHP, Bash, Lua, Lisp, Haskell, Vala, Go, Rust, Julia, Limbo, Haxe/Neko, Pascal / Object Pascal, Fortran, MATLAB, OSL, множеством вариантов Basic, ассемблером под x86. Ну и Brainfuck, само собой =)

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

Занимаюсь разработкой нескольких OpenSource-проектов - в основном, околоигровой и мультимедийной направленности. Лидер проекта dlib, автор системы сборки Cook, физического движка dmech, графического движка Dagon и скриптового языка GScript. Также написал свой собственный архиватор box, альтернативу tar с поддержкой UTF-8 для имен файлов. Имею опыт работы с OpenGL, OpenAL, OpenCL, SDL, Freetype, Ogg/Vorbis, Lua, X11, Gtk, HTML5, jQuery, GSAP.

В своей работе использую почти исключительно свободное ПО. Имел дело с различными операционными системами (Windows, Linux, DOS, Haiku, Plan 9 / Inferno / 9front), предпочитаю работать в Linux под окружением GNOME 2 / Mate, хотя болезненной ненавистью к Windows не страдаю (в последнее время все чаще работаю в Windows 10).  Считаю, что не имеет большого значения, под какую ОС писать, если она предоставляет стандартные API и позволяет писать переносимые программы. Пользователь работает не с операционкой, а с приложениями.

Любимый linux-дистрибутив - Mint, любимый веб-браузер - Firefox.

Практически не пользуюсь IDE, программы пишу при помощи терминала и текстового редактора (GEdit под Linux, Programmer's Notepad под Windows). Хотя и приходилось работать в Delphi, Lazarus, MS Visual Studio, Android Studio, PyCharm, Dev-C++ и др. Под Windows обычно работаю в PowerShell. Из систем контроля версий имею опыт работы с Git и SVN. Из других привычных инструментов - отладчик GDB, системы сборки Dub, Make и Cook.

При оформлении кода придерживаюсь стиля Phobos - то есть, отступы в 4 пробела, операторная скобка с новой строки, названия переменных и функций в lowerCamelCase, типов - в UpperCamelCase.

Люблю пробовать себя в различных областях Computer Science. Пробовал писать "ядро операционной системы" для x86 - реализовал вывод текста и поддержку Multiboot. Помимо разработки системных и прикладных программ под x86, имею небольшой опыт программирования под PlayStation (PS1) и Android, а также веб-приложений. Люблю экспериментировать с сетевыми технологиями (однажды для развлечения написал собственную удаленную командную оболочку).

Интересуюсь компьютерной графикой и обработкой изображений, пробовал писать трассировщик лучей, программный растеризатор и графический редактор на основе узлов. Пользователь Blender и GIMP с 10-летним стажем. Рисую (как мышью, так и на планшете) в GIMP, Krita и MyPaint. Есть также опыт работы с Photoshop, Corel Draw, Corel Painter, Inkscape и 3ds Max. Пишу плагины для GIMP и Blender. Для собственного удовольствия фотографирую на полупрофессиональную камеру и балуюсь с RAW-проявщиками (некоторые мои снимки см. здесь). Автор незавершенной книги "Blender. Настольная книга".

Создатель и главный редактор электронного журнала "FPS", который совместно с небольшой командой авторов выпускал на протяжении 10 лет. Автор блога о компьютерной графике CG World (ранее http://cg-world.cf). Также в 2008 году создал сайт http://xtreme3d.narod.ru, посвященный Xtreme3D и другим 3D-движкам для Game Maker (сайт впоследствии переехал на https://xtreme3d.ru).

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

Любимые игры: The Elder Scrolls (особенно Skyrim, Oblivion, а также величайший мод всех времен и народов Enderal), Eve Online, Margonem, Half-Life, Portal, Talos Principle, Quake 2, GTA 2, Myst, Spyro the Dragon (классическая трилогия на PlayStation).

Литературные предпочтения: научная фантастика и фэнтези, а также исторический роман, мистический хоррор и магический реализм. Любимые писатели: Г. Ф. Лавкрафт, Х. Л. Борхес, Р. Брэдбери, А. Азимов, С. Лем, Ф. Кафка, Дж. Р. Р. Толкиен, Дж. Мартин.

Любимое кино и сериалы: классика н/ф и космооперы (Звездные войны, Доктор Кто), фэнтези (Властелин колец, Игра престолов), некоторые фантастические боевики (Матрица, Чужой, Хищник, цикл фильмов про Риддика), некоторые аниме (Меланхолия Харухи Судзумии, Эксперименты Лейн).

Любимая музыка: Metallica, Megadeth, Tool, Pink Floyd, Ayreon, Cellar Darling, Rasmus, Майк Олдфилд, Gotthard, Hammerfall, Diesel Boy, Depeche Mode, Сплин, Пикник, Комплексные числа, Виктор Аргонов Project. В последнее время также много слушаю группы новой волны традиционного метала (NWOTHM), такие как Beast in Black, Haunt, Enforcer, Battle Beast, слежу за творчеством Greta Van Fleet - приятно видеть, что классическая рок-музыка возрождается.

2 комментария:

  1. А на youtube ты зареган? было бы прикольно, если бы ты сделал хоть какие-то видеоуроки по D, по opengl, по sfml, про свои охрененные движки и.т.д

    ОтветитьУдалить
    Ответы
    1. На YouTube я есть, я иногда выкладываю видео своих проектов: https://www.youtube.com/channel/UCVaRZr3TpAWVP_kaqBfmoew
      Что касается уроков, пока не вижу особого резона их делать, движки еще не готовы для серьезного использования - API десять раз может поменяться.

      Удалить