Python

Quickpong — онлайн версия игры Pong

Submitted by Ромка on Чт, 16/05/2013 - 23:17

Ромка аватар

Разработал и запустил на домене quickpong.com онлайн версию игры Pong. В игре (by design) реализован только режим мультиплейера, то есть игра идет не против искусственного интеллекта, а против другого человека.

Игра представляет из себя клиент-серверное приложение, серверная часть написана на питоновском фреймворке Twisted, клиентская — на флэшовом фреймворке FlashPunk.

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

Гусеничная платформа на Arduino, управляемая с Android-смартфона

Submitted by Ромка on Сб, 30/06/2012 - 12:13

Ромка аватар

Я никогда не имел опыта в программировании микроконтроллеров, по этому давно хотел сделать какую-нибудь поделку на Arduino. Ардуино — это очень простая в освоении платформа, к которой легко подключить внешние датчики (дальномеры, гироскопы, акселерометры, датчики температуры и освещенности и т.п.) и устройства: моторчики/сервоприводы и т.п.

Профессионалы электронщики не любят эту платформу, так как она во-первых слишком дорогая: зачастую устройство собранное на Ардуино, можно пересобрать на других компонентах и в разы его таким образом удешевить. Во вторых, она дает слишком высокий уровень абстракции от используемых микросхем и затем перейти к изучению более низкоуровневых компонент становится очень сложно. Тем не менее, для хобби-проекта для людей с нулевым опытом в области работы с железом эта платформа, по моему мнению, подходит идеально.

Катализатором, который заставил меня перейти от мыслей к делу стала вот эта серия статей на Хабре: http://habrahabr.ru/post/133414/, http://habrahabr.ru/blogs/DIY/135371/, http://habrahabr.ru/post/136224/. Я решил собрать аналогичную платформу, только управляемую не джойстиком, а Python-приложением с компьютера и с Android-смартфона. В дальнейшем хочу дописать серверный софт, который позволит управлять платформой через браузер и видеть в нем изображение с камеры. Именно для этого первая версия приложения для компа пишется на Питоне, чтобы проще было перенести код в веб.

Работу над первой версией платформы я закончил еще в апреле, думал написать подробный пост о процессе разработки с фотками и видео, но, к сожалению, потерял свой телефон, на который были сделаны все фотографии процесса, по этому сейчас похвастаться могу только тремя видеороликами.

Результат

Это самая первая версия под кодовым названием "На соплях, резинках и двустороннем скотче". Пока нет ни камеры, ни аккумулятора, платформа разваливается на ходу :) Но уже управляется с компьютера. Впервые я написал программу, которая манипулирует не какими-то данными и пикселями, а объектами в реальном мире. Чувствовал себя покорителем космоса :)

Далее еще два видео и список используемых деталей.

Upd 29.12.2013
Исходники скетча для Ардуино, Андроид/десктоп-приложения выложил на Гитхаб: https://github.com/romka/arduino-bluetooth-crawler.

Subscribe to RSS - Python