tag:blogger.com,1999:blog-58566730910247652412024-03-13T04:09:41.572+02:00Платформа RunServer для MMO проектовБлог Nomad'a, разработчика серверной платформы для MMO - RunServer. Описываются проблемы разработки масштабных сетевых приложений, а также сопутствующие проблемы разработки онлайн-игр.Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-5856673091024765241.post-14725228804882601662012-12-27T17:10:00.001+02:002012-12-27T17:14:12.359+02:00Cowboy Jed: Zombie Apocalypse [Windows 8/RT]Наконец закончены работы над Windows 8 версией нашей игры Cowboy Jed: Zombie Apocalypse. До этого осенью были выпущены версии под iOS и Android.
В отличие от других платформ, издателем выступаю я лично от лица Jed Games. Заодно сделал перевод на русский, доработал графику, улучшил разрешение задников, зомби и пр. Редизайн затронул и оружейную, и таланты.
Обзор игры: http://wp7forum.ru/Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-36380006468006185742012-12-13T11:12:00.000+02:002012-12-13T11:29:43.596+02:00Classic Solitaire HD in Windows 8 StoreSome time ago I tried to port C# version Classic Solitaire HD from iOS/Mac to Windows 8. There were some issues with absence of System.Drawing namespace and not 100% compatible rendering pipeline (no frame-by-frame operations, only regular XAML objects) but overall porting came surprisingly easy.
That was mostly possible because of multi-layered architecture where game core was written in Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-69027414469397614282012-06-07T00:00:00.000+03:002012-06-07T09:14:36.276+03:00Как отключить iAD не меняя кодВ приложениях для iOS довольно логично использовать рекламу от Apple - iAD. Нюансы начинаются, если хочется провести акцию "неделя без рекламы", или вообще отключить ее навсегда, чтобы не досаждала пользователям, или вообще реклама работает в паре с AdMob и показы iAD уменьшают доходы AdMob, а ничего существенного не приносят.
В моем случае была вот такая картина:
Вкратце эта табличка означаетAnonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-13407800912070783202012-05-19T01:11:00.002+03:002012-05-19T01:11:50.534+03:00СканвордыКогда выпадает свободная минутка многие обращаются к смартфону или планшету в поисках развлечений: кто раскладывает косынку, кто борется с зомби или форумными троллями, а пытливые умы могут попытать счастья в разгадывании кроссвордов и сканвордов. Программа "Сканворды" появилась почти год назад под Андроид, а недавно еще и была портирована под iOS.
Технические требования: Android 2.1 и выше, Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com1tag:blogger.com,1999:blog-5856673091024765241.post-44431567200151459502012-05-14T16:15:00.002+03:002012-05-14T16:27:47.159+03:00Классическая КосынкаНе так давно я столкнулся с тем, что пасьянсы под Android все сделаны с «изюминкой» – у многих необычные картинки, разные навороченные функции, собственная таблица очков и пр. Это прекрасно, но мне долгое время не хватало именно минималистической «Косынки», в которой бы так же работал подсчет очков и был привычный внешний вид.
В результате родилась на свет очередная инкарнация пасьяна «Косынка»Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-53754002610111834992012-05-14T16:06:00.000+03:002012-05-14T16:06:04.090+03:00Минувший год
Вот уже больше года прошло с последнего сообщения..
Особо не было времени писать, хотя и прозошло много разного.
Вкратце: поменял работу, перешел полностью на Мак, довел MMT 2 до стадии законченного прототипа и заморозил, сделал универсальный рут/анбрик для Nook 1st, на время забросил ридер, потом вернулся к нему. Побывал в Нидерландах, Доминикане. Последние месяцы пишу игры и программы для Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-57104065782012511812011-04-08T11:08:00.005+03:002011-04-08T11:21:45.779+03:00MMT Online won Project Bossanova contestMMT is a MMORPG game prototype developed using bleeding-edge Ungine 3D engine and RunServer middleware. First presented at GDC 2009 in Moscow on Windows, MMT is being reborn on Linux. We have set out to develop a full-featured MMORPG in a fantasy setting with traditional third-view camera and ASWD control.When Project Bossanova contest began we got only a rough demo of the game available for Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com2tag:blogger.com,1999:blog-5856673091024765241.post-43829832434202038722011-03-28T11:55:00.005+03:002011-03-28T12:22:13.532+03:00MMT Demo entered Project Bossanova Contest!Two years ago our company created MMORPG game prototype called MMT in medieval fantasy setting. Demo used bleeding-edge Unigine 3D engine and RunServer middleware. It was presented on Moscow GDC 2009 (KRI) and then suspended. While the project were rather proff of concept than real game, it had a lot of functionality including rich gameplay, combat, magic system, leveling, classes, items, loot, Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-70303618660373655132011-03-27T13:15:00.005+03:002011-03-27T14:21:27.943+03:00Дебрикинг НукРасстановкаРешил написать историю о том, как я дебрикал Нук (восстанавливал убитый прошивкой до версии 1.0.0), дабы не было мыслей вроде "гад Номад нашел какие кнопки надо зажать для дебрика, а делиться не хочет".Далее следует стена текста, интересная только железячникам и линуксоидам. Нормальным людям лучше не читать :)ДебютНачалось все с того, что приехал мне брикнутый девайс с просьбой Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com3tag:blogger.com,1999:blog-5856673091024765241.post-91595953884206477352010-12-23T17:36:00.024+02:002010-12-24T13:42:11.965+02:00Эвристика в поиске путиКогда наша команда впервые столкнулась с задачей поиска пути, мы не смогли удержаться от попытки изобрести собственный "велосипед". Путь был тупиковым, что стало ясно уже через несколько недель экспериментов и поиск пути отложили почти на год. И вот через год задачу снова подняли и решили использовать обычный A*. Его описаний в интернете достаточно и в 99% случаев достаточно просто реализовать Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com1tag:blogger.com,1999:blog-5856673091024765241.post-51518927204345331732010-11-27T11:19:00.003+02:002010-11-27T12:15:43.209+02:00Как сделать невозможное?Ответ на вопрос прост - не останавливаться, какой бы сложной не была задача. Даже если все вокруг говорят, что это невозможно.Моя задача была заменить драйвер устройства в Linux, вшитый намертво в ядро. Были бы исходники этого ядра - все решалось бы сравнительно просто, но в нашем случае (ядро читалки Nook) исходники были не рабочие и годичной давности. На x86 я бы дизассемблировал место Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-75916274710126805092010-11-23T15:57:00.006+02:002010-11-23T16:19:59.712+02:00Книжкая полка для NookНекоторое время назад я написал для Nook простенький менеджер файлов, без возможности удаления, копирования и пр. Потом этот браузер научился фильтровать файлы по типу, а затем и извлекать описания из книг, показывать обложки и пр. Сейчас это полноценная книжкая полка с Cover Flow (листанием обложек), которая при необходимости показывает все файлы устройства, позволяет устанавливать программы, Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-74342329602063068292010-10-19T18:35:00.006+03:002010-10-19T19:26:22.100+03:00Создание патча из двух директорийЗадача сравнения двух директорий возникает более-менее часто и стандартные diff+patch под Unix позволяют с ней справиться довольно хорошо, но в моем случае надо было сделать именно архив изменений. На C++/C# программу можно было бы написать за несколько минут, но я задался целью использовать полноценное Unix решение.Сначала я довольно долго ковырялся с diff, KDiff3 и похожими программами, но Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-72069756557360866082010-10-16T11:45:00.010+03:002010-10-18T16:19:07.764+03:00Рутинг Nook любой версииКамрад cdump нашел метод записать произвольный файл на нук любой верии, в т.ч. и 1.4.1/1.4.2, которые ранее считались не рутабельными. Это значит, что реально "руссифицировать", т.е. залить свои программы на любое устройство. Детальное описание есть на сайте mynook.ru, а я же попробую описать как именно это делать в домашних условиях.Подмена данныхДля рутинга нужно иметь WiFi сеть и доступ к Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com3tag:blogger.com,1999:blog-5856673091024765241.post-50153211778388570612010-10-15T11:43:00.002+03:002010-10-23T18:30:22.797+03:00Не канонический взгляд на NookПредысторияМое общение с электронными книгами началось в 2006м году с LBook V8; этим ридером я пользуюсь и по сей день, не смотря на разваливающий корпус и темноватый экран. Когда же товарищ попросил совета по выбору читалки, оказалось, что аналогичные PocketBook, Sony и пр. стоят чуть ли не больше, чем было уплачено тогда, а изменился по-сути только экран. Бонусы вроде "более быстрое листание" Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-20872886872366532632010-10-12T11:15:00.006+03:002010-10-12T12:13:30.459+03:00Информация о системе в .NetЭтот пост скорее просто памятка .Net программистам о том, как получать некоторые важные свойства системы - версию Runtime, 64 или 32-битная система, сколько используется процессоров и пр. Все эти проверки можно найти в интернете или копанием в классах вроде System.Environment, но лично мне удобно держать все в одном вспомогательном классе.Класс целиком из ядра RunServer:/// <summary>/// Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-19926326127128603262010-10-08T17:44:00.003+03:002010-10-08T17:48:33.541+03:00Tips for Geeks. Часть 2Оптимизация строковых операций - чуть ли не первое, что делает среднестатистический гик-оптимизатор. Эти оптимизации и собственные классы идут по популярности сразу после собственных коллекций. Впрочем, и программисты со стажем зачастую не прочь побаловаться со стрингами :) В этой статье я рассмотрю довольно распостраненный случай - множественную конкатенацию константных строк в С++.Представим, Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-71827342310688877132010-10-06T19:43:00.006+03:002010-10-08T21:54:29.126+03:00Треугольники и памятьВ эру гига- и терабайтов как-то стало не принято заботиться о том, сколько памяти потребляют данные в памяти. Работы по оптимизации зачастую намного дороже дополнительной ОЗУ и программисты чувствуют себя вольготно, пока не происходит что-то экстраординарное, вроде достижения лимита памяти на процесс на x86 ОС. В такие моменты мы хватаемся за голову (или профайлер) и смотрим, что же поглотило Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-37050825135103893712010-09-16T12:08:00.002+03:002010-10-14T00:50:58.400+03:00Модификации программ для Nook. Часть 3Оригинальный инструмент The Daily от B&N не очень часто используется русскоязычными пользователями, по причине полной бесполензности фидов, которые в нем отображаются. Суть этого проекта - модификация The Daily для чтения любых RSS фидов.Преймущество такой модификации перед альтернативными читалками (Trook) и web-based аггрегаторами в доступе к нужным фидам буквально в два клика. Программа Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-29786771348137727582010-09-15T05:01:00.001+03:002010-10-14T00:20:24.779+03:00Модификации программ для Nook. Часть 2Не смотря на свои явные достоинства, браузер от NookDevs не распологает к ежедневному пользованию, а браузер от B&N довольно хорош, но не качает файлы. Я не Android-разработчик, потому с нуля писать браузер просто не взялся бы, как и портировать что-то существующее, вроде Opera Mini for Android. На счастье, декомпилированый код браузера B&N показал наличие некоторых огрызков Download Manager, Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-62368711462590426812010-09-14T11:27:00.001+03:002010-10-23T18:34:32.032+03:00Модификации программ для Nook. Часть 1Став обладателем ридера B&N Nook, столкнулся с тем, что программы под него довольно неплохи, но изредка могли бы стать еще лучше с парой минимальных изменений. Сами разработчики часто об этом слышат (топик с пожеланиями на официальном форуме перевалил за 800 постов), но последние 3 месяца не было даже намека на новую прошивку и ожидаемые фиксы.Самая первая модификация затрагивает приложение Home Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-1319804173512093292010-07-19T18:22:00.002+03:002010-07-19T19:07:50.140+03:00Что делать, если не хватает памяти?Ситуация редкая, но, к сожалению, очень актуальная для тех, кто еще не перешел на x64 архитектуру: имеется x86 программа, требовательная к памяти, установлено достаточно ОЗУ (4-8 Гб), но процесс хоть и должен получать порядка 2 ГБ останавливается на 1.7 Гб и дальше либо активно свопит (мучает GC в случае .Net), либо падает с ошибками OOM.Конечно, можно потратить сколько-то времени и сделать Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-69816939127027039862010-07-05T13:05:00.005+03:002010-07-05T13:53:44.827+03:00Tips for Geeks. Часть 1Периодически буду выкладывать тут различные советы для любителей оптимизировать все, что можно и что нельзя. :) Нередко прирост производительности от подобных решений минимален, но иногда встречаются задачи, где важен каждый такт процессорного времени. Большая часть типсов связана с программированием на C++, но могут встречаться и алгоритмические нюансы, применимые к любому языку.Итого, первый Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-58879809570512131182010-03-30T23:29:00.000+03:002010-03-31T00:36:47.389+03:00SOS.dll в .Net Framework 4.0На днях обнаружил, что любимый инструмент отладки в .Net 4.0 несколько изменился. Кто не в курсе, что оно такое - читайте на MSDN.Самое неприятное изменение оказалось в том, что SOS.dll намертво привязан к версии ядра .Net Framework и нельзя использовать эту библиотеку от 4.0 Beta 2 на версии RC 1, да и вообще смешивать библиотеки разных архитектур.На помощь пришла видоизмененная команда .loadby:Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0tag:blogger.com,1999:blog-5856673091024765241.post-44728286585490006202010-02-09T17:05:00.003+02:002010-02-09T17:19:16.724+02:00.Net Framework 4.0 beta 2Небольшой пост про знакомство с новым фреймворком.Бета 2 оказалась довольно юзабельной, потому RunServer теперь поддерживает и ее. Из явных преимуществ я увидел более корректную работу с ThreadPool - меньше спаунится потоков, меньше переключений; также заметно меньше стали потреблять потоки Server GC. Новые возможности C# 4.0 и в целом CLR 4.0 я не трогал - нам важнее совместимость с .Net Anonymoushttp://www.blogger.com/profile/05734934795143690634noreply@blogger.com0