вторник, 29 декабря 2009 г.

Запуск "Наемники : Карты судьбы"

Не так давно наступил день, который я так долго ждал. 25 декабря был запущен проект для ВКонтакте - игра "Наемники : Карты судьбы", над которым я трудился последние 2,5 месяца. Серверная часть проекта была реализована полностью мной, что называется "своими руками". Давненько мечтал о таком маленьком проекте, в котором я смогу применить все свои знания и опыт в области разработки.

Использовались следующие java-технологии:

  • Spring
  • Spring security
  • Spring BlazeDS Integration
  • BlazeDS
  • Hibernate
  • JBoss Cache
  • Unitils
  • Jmockit
  • DBUnit
  • TestNG

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

Теперь, когда проект запущен, я могу снова начинать писать статьи, освещая некоторые проблемы с которыми я столкнулся при разработке.

Отмечу также и тот факт, что более 80% кода было покрыто тестами. Хотя этот процесс и занимал у меня до 50% времени, я считаю, что именно благодаря тестам удалось выйти в релиз с минимальным кол-вом багов на серверной стороне. Без тестов был бы невозможен безболезненный рефакторинг и быстрое добавление новой функциональности.

13 комментариев:

dimka комментирует...

Поздравляю! Очень интересно будет почитать, жду!

Andrey комментирует...

Да, здорово. Особенно интересна тема упомянутого тестирования. Например, какие были трудности, как решались.
Почему testNG а не сами-знаете-rто(Junit)? Ну и в общем.
Я почему об этом - большинство понимают что тесты это хорошо, это полезно, но вот грамотно писать их оказывается не так просто.

Slavig комментирует...

Больше всего интересует BlazeDS. Если будете описівать данный аспект, то укажите на трудности которые возникли

TheMalkolm комментирует...

"Кто то применил запрещенную магию. Чтобы избежать мирового коллапса мы перезагрузим приложение. (getCurrentPlayer)"

Вот это в скобочках как то не очень понятно русскому человеку :)

Никита Кокшаров комментирует...

В скобочках - место где произошла ошибка :)

Andrey комментирует...

Круто. Читаю с интересом, жду с предвкушением новых постов (щас больше интересует spring security) :)

Анонимный комментирует...

По игре могу сказать что фигово рабоет. К примеру бой равных карт,противник наносит в конце почему по несколько ударов сразу,иногда даже 3! Думаю это не совсем нормально) Потом при добавлении друзей часто не досчитывет очки,к примеру пригласил 22 друга,дало 10 очков всего...( Ну и чисто от геймерского колектива просьба увеличить деньги за уровень или чаще в боях дают! Думаю многие будут благодарны) Посижу ище посмотрю мб что то плохо работающие найду... ( За граматические ошыбки прошу прощения,Руский язык не учил в школе..)

Никита Кокшаров комментирует...

Сообщите мне пожалуйста ваш id вконтакте, чтобы можно было проверить информацию по начислению реферальных очков.

Анонимный комментирует...

Очень прикольная игра, засел по-полной, но сильно огорчает что карта мага воды "РУСАЛКА" не может иметь 3 уровень(( Пожалуйста сделайте для нее 3 уровень, так будет интересней играть))

21528265 комментирует...

В общем игра понравилась, что то вроде упрощённого Берсерка)) Но вот только мной были выявленные следующие ошибки за последние 2 дня:
1.зачитались реферальные очки не за всех пользователей
2.во время турнира я был на 1 месте, потом ПОБЕДИЛ (уверен на 100%) ещё последний раз, но баллы мне списали и я в итоге проиграл. Очень обидно проиграть из-за ошибки на сервере, т.к. теперь клинически не хватает денег(((((
3.Нужно больше монет за голоса давать, ну хоть раза в 2…

sinnus комментирует...

Игра просто супер! Мне нравится!

grigorievs комментирует...

Очень грамотное решение - использовать TestNG. Я тоже считаю что JUnit незаслуженно является самым популярным фреймворком для тестирования, TestNG намного лучше.

Анонимный комментирует...

Не начислились реферальные очки, что делать?