среда, 29 мая 2013 г.

kinect и unity

На днях на работе начал свой первый проект на kinect + unity. Учитывая, что я разрабатываю server-side на python и android приложения на java, то задачка не совсем по моей части (c# я знаю довольно не плохо). Однако новый опыт никогда не бывает лишним.
Что могу сказать тем, кто не решается учить unity, но хочет этого. Собственно порог вхождения в unity довольно низкий, огромное количество уроков ( к сожалению видео, терпеть их не могу. Но конечно без видео создание уроков было бы очень трудозатратным), если, что-то не можете сделать сами есть куча плагинов. Конечно как и везде нужен опыт и набивка рук, но что-то простое можно сделать уже за 1 день. Тонкостей хватает и вообще unity довольно капризен, но в пределах нормы.
С kinect всё тоже не плохо, есть много библиотек, которые берут основные задачи на себя, главная проблема, что у них не всегда хорошая документация. Но как только поймёте принцип работы, задачи покажутся довольно простыми (конечно те, что решены в рамках библиотек)) ).
Советую начинающим пару плагинов NGUI (для интерфейсов) и zigfu (для работы с kinect).
p.s.
В своё время, когда только начинал программировать хотели с одногрупниками сделать свою игру, но не нашли хорошего простого движка (времени много тратить не могли на это, работа и все дела...). Теперь есть unity и все желающие могут попробовать создать игру своей мечты) Удачи!

понедельник, 20 мая 2013 г.

angelhack moscow

Вчера закончился angelhack moscow. Феерическое мероприятие, которое принесло много позитива и опыта. Оказывается можно кодить 24 часов подряд, правда лучше так не делать))) Проектов было представлено аж 54 штуки и были даже иностранные гости. Организация приятно порадовала, была и еда и место, и даже интернет был вполне приличный. Вообщем организаторы просто красавцы.

Единственное, что огорчило, что оценка проектов была чисто по их понятности для инвестиций, те просто крутые с технической стороны проекты не производили впечатления, а банальные агрегаторы имели большой успех. Ну и конечно не понимание того, что такое github и как его используют программисты среди членов жюри очень огорчило.

В целом великолепное мероприятие, побольше бы таких в нашей стране! Надеюсь не последнее мероприятие с такой хорошей организацией. И побольше программистов в жюри)

среда, 15 мая 2013 г.

xcom enemy unknown

Данная игра попала ко мне случайно, ну или почти, это был подарок. Даже после этого я не устанавливал её несколько месяцев, просто мне никогда не нравились игры подобного жанра. На майских праздниках захотелось чего-то нового и xcom был установлен.

Нет смысла описывать сюжет графику и прочие нюансы. Скажу только, что на мой взгляд всё очень круто. Игра очень интересна и достаточно сложна, особенно если играть в первый раз. Конечно некоторые мелочи раздражают по ходу игры, но они не мешают получению удовольствия. Игру описывать слишком долго, да и смысла нет есть куча обзоров.
Оценка 9 из 10, всем советую.

понедельник, 6 мая 2013 г.

Python установка exe пакетов в virtual environment в windows

На работе большую часть времени приходиться работать на windows 7, поэтому часто возникает задача ставить exe пакеты в virtual environment. Делается это очень просто:

easy_install file://c:/.../mysql-python.exe

Все пакет установлен и готов к использованию. Удачи.

Железный человек 3. Снова без эмоций

Я думаю многие уже успели посмотреть новый фильм о железном человеке и судя по оценкам на кинопоиске фильм нравится почти всем. Чтож фильм на самом деле смотрится легко, спецэффекты на хорошем уровне, взрывы, огонь, перестрелки... Всё есть, всё здорово, но... Количество бреда в некоторых местах просто зашкаливает, но на самом деле это наверное даже не минус. А минус в том, что снова мы видим картонных персонажей, которым не сопереживаешь, слабый сюжет в котором примерно понятно, что произойдёт и ничего кроме экшена. Да фильм стоит того, чтобы посмотреть его в кинотеатре, но не более того. Тем печальнее, что "Обливион" получил довольно сдержанные отзывы, но создатели хотя-бы пытались сделать что-то(да много ляпов, да где-то сюжет рваный, но это на самом деле хорошая научная фантастика, которую сейчас так мало снимают, и да герои там проработаны лучше). Видимо с каждым годом кино будет всё больше скатываться в яму спецэффектов ради спецэффектов.

Bioshock infinite. С третьей попытки

День назад запустил всё-таки новый bioshock infinite и несколько часов не мог оторваться от неё. Игра очень приятно удивила, играя в неё совсем не замечаешь сколько времени прошло.

Первые две игры из вселенной Bioshock оставили очень унылое впечатление, по крайней мере больше часа ни на одну из них я не потратил. Тем удивительнее, что новая игра смогла меня поразить. Потому что в общем ничего нового по сравнению с первыми играми нет, но все детали выглядят очень гармонично и выверено. Очень радует сюжет (конечно он  не оригинален, но всё равно наблюдать за его развитием очень увлекательно). И самое главное это ваш напарник в игре. Наконец-то он очень полезен и его не могут убить! А это значит, что вы можете сосредоточиться на процессе игры, а не спасению плохо написанного бота.

В этой игре всё сделано на хорошем уровне: отличная графика, интересный сюжет, увлекательный геймплей, игра очень атмосферна и конечно хорошо подобрана музыка. Хорошо проработаны персонажи  которым в итоге начинаешь сопереживать.  Вообщем, советую всем для прохождения. Моя оценка 9 из 10.

суббота, 4 мая 2013 г.

Django сериализация одиночного объекта

Для работы часто бывает нужно производить сериализацию данных для отправки на клиент. В django, однако можно сериализовать только массив объектов. Например:

result = serializers.serialize('json', Job.objects.all()).

Но если мы хотим передать одну работу придётся передавать это так:

result = serializers.serialize('json', [Job.objects.get(pk=pk)])

Если вы работаете в команде, то скорее всего услышите много лестных слов от верстальщиков или бекендеров (потому что в более сложных случаях это будет завставлять их делать не мало лишней работы руками). Решается это просто:

result = serializers.serialize('json', [Job.objects.get(pk=pk)]) 
object_result = array_result[1:-1]