Инструменты, которые помогают облегчить жизнь и ускорить решение повседневных задач это слабость многих разработчиков. Этот рассказ, как раз про такие штуки. Несколько месяцев назад для комментария на хабре записал видео своего рабочего процесса разработки игры.
После чего я пообещал расписать, как там все устроено. Время пришло.
Вот то видео процесса разработки
Livereload
На видео решается задача быстрых итераций при разработке flash игры. Нам надо видеть результат для отладки игрового процесса. Для этого я использую инструмент livereload (livereload). Детище русского разработчика к слову. Его можно собрать бесплатно своими силами или заплатить автору.
Итак, нам надо словить событие сохранения исходников и затем на это событие собрать flash файл. Для этого ставим галочку на “Run a custom command after processing changes” и пишем ваш скрипт для сборки flash файла. В моем случае это haxe, haxenme и сборка делается очень просто —
“nme build MyGame.nmml flash -web
”.
Haxenme создает папку Export/flash/bin, где есть index.html, в котором лежит уже наш flash файл. Теперь дабы вывести флешку в браузер достаточно запустить простой http сервер —
“python -m SimpleHTTPServer 8000
”.
В браузере(chrome || firefox) — 127.0.0.1:8000/ и кликаем на виджет livereload, который будет ловить изменения и перегружать страницу.
Tmux, Teamocil
На самом деле действий много в самом начале, но их можно автоматизировать. Для этого я использую tmux, teamocil (http://remiprev.github.com/teamocil/).
Для игры я создал teamocil yml файл для первоначальных действий —
Config File GIST
Я работаю сразу над несколькими проектами. Каждый проект требует своей консоли и определенных шагов для начала разработки.
Вот к примеру хочу продолжить писать игру. Для этого я закрываю сессию tmux — ctrl-b + d. Снова запускаю tmux. Выполняю teamocil game --here. И вуаля все готово, осталось открыть браузер и набрать 127.0.0.1:8000.
Vim
Для разработки чего угодно я использую vim. Если проект большой и там много ооп, то иногда пользуюсь ide, но это частный случай. Vim это общий случай для разработки на всем и везде. Вот пример разрабоки одного моего проекта —
В этом видео хорошо видны шаги: tmux, teamocil, vim и браузер на ваш вкус.
Мои настройки для vim лежат в github.com/Partysun/.dotfiles
Основной проект сейчас это totallicks.com — сервис для музыкального обучения. Проект большой и я делаю сразу несколько различных сессий tmux для него. Отдельно фронтенд и отдельно бэкенд. В бэкенд виде я разрезаю консоль, как настояющую ide. Отдельно окно для тестов и для vim, и отдельное для сервера и логов.
В vim основной рабочий процесс строится на cmd-T. Быстрый переход к файлу, если надо открываю несколько вкладок и прыгаю между ними. Часто использую gi для прыжка к последнему изменению. Еще ctrl-o и ctrl-i для прыжков к последним измениям прям между файлами.
На этом я сделаю паузу. Если вам будет интересно, то запишу видео с эффективной работой в vim/tmux стиле с подробностями.
Автор: Partysun