Effective game development and more

    Tools that help make life easier and speed up everyday tasks are a weakness of many developers. This story is about such things. A few months ago, for comment on a hub, I recorded a video of my game development workflow.
    After which I promised to paint how everything is arranged there. The time has come.

    Here is a video of the development process




    Livereload

    The video solves the problem of fast iterations when developing a flash game. We need to see the result for debugging the gameplay. For this, I use the livereload tool ( livereload ). The brainchild of a Russian developer by the way. You can collect it for free on your own or pay the author.

    So, we need to catch the source saving event and then collect the flash file for this event. To do this, check “Run a custom command after processing changes” and write your script to build a flash file. In my case, it is haxe, haxenme and the assembly is very simple -
    nme build MyGame.nmml flash -web”.
    Haxenme creates the folder Export / flash / bin, where there is index.html, which already contains our flash file. Now, in order to display the USB flash drive in the browser, it is enough to start a simple http server -
    python -m SimpleHTTPServer 8000"
    In the browser (chrome || firefox) - 127.0.0.1:8000/ and click on the livereload widget, which will catch the changes and reload the page.

    Tmux, Teamocil

    In fact, there are many actions at the very beginning, but they can be automated. For this I use tmux, teamocil (http://remiprev.github.com/teamocil/).
    For the game, I created a teamocil yml file for initial actions -
    Config File GIST

    I work on several projects at once. Each project requires its own console and certain steps to start development.
    For example, I want to continue writing the game. To do this, I close the tmux session - ctrl-b + d. Running tmux again. Running teamocil game --here. And voila, everything is ready, it remains to open the browser and dial 127.0.0.1:8000.

    Vim

    For development of anything I use vim. If the project is large and there are a lot of OOPs, then sometimes I use ide, but this is a special case. Vim is a common development case for everything and everywhere. Here is an example of the development of one of my project -


    The steps are clearly visible in this video: tmux, teamocil, vim and a browser of your choice.

    My settings for vim are in github.com/Partysun/.dotfiles

    The main project now is totallicks.com - a service for music learning. The project is large and I am doing several different tmux sessions for him at once. Separately frontend and separately backend. In the backend view, I cut the console as a real ide. Separate window for tests for vim, and separate for server and logs.
    In vim, the main workflow is built on cmd-T. A quick transition to the file, if necessary, open several tabs and jump between them. Often use gi to jump to the last change. Also ctrl-o and ctrl-i for jumping to the latest changes directly between files.

    On this I will pause. If you are interested, I will record a video with effective work in vim / tmux style with details.

    Also popular now: