А я пользуюсь абсолютно бесплатным и довольно простым сервисом уже несколько лет. Обещают скоро выпустить также бесплатную версию на айфон. По мне так нормально. Они постоянно чего-то добавляют новенькое и совершенно бесплатно. + нет никакой рекламы. Не знаю, как они там живут, но меня устраивает.
P.S. ИМХО, чем дольше ведешь такой бюджет, тем больше можно строить точных отчетов и прогнозов на будущее.
P.S. Для синхронизации с пользователем ранее использовались таймеры, но теперь этот механизм переделан на дуплексный WCF сервис, использующий PollingDuplexHttpBinding.
Да, workflow — это мощная тема. Особенно здесь хорошо бы подошел Workflow с Flowchart, где были бы обозначены состояния игры, и происходила бы смена состояний. А если игрок отключался, то все бы сохранялось с помощью Persistence, а потом бы возвращалось на то место, где он вышел. Но, к сожалению, все на хостинге, а там так сделать нельзя, да и еще постоянно все перезагружается.
Я, наверно, минут 40 выкладывал тут статью =( множество тегов вырезается редактором, и еще картинки нельзя тут загружать. треуг.скобкавлево — это <. У меня от нее вообще текст далее не отображался… Про дуплексный режим в сильверлайт я знаю. Ожидается это сделать в следующих версиях.
Спасибо за комментарии! Рад, что вы заценили мои старания. Обещаю, что в понедельник начну писать более подробную статью о том, как я это все сделал. Вот тестовый аккаунт: test@mail.ru, а пароль 123456.
P.S. ИМХО, чем дольше ведешь такой бюджет, тем больше можно строить точных отчетов и прогнозов на будущее.
Подробнее об этом можно прочитать тут: msdn.microsoft.com/en-us/library/cc645027%28v=VS.95%29.aspx
Также я сделал, чтобы в игру могли играть незарегистрированные пользователи.
Если интересуют подробности, то спрашивайте =)
string jsCode = String.Format(" selectId= '{0}' ", DropDownList1.ClientID);
Page.ClientScript.RegisterStartupScript(typeof(Page), "clientId_including", jsCode);