| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Реализация многопользовательской онлайн-игры |
| Автор: Qu1nt 29.12.2008, 20:01 |
| Доброго времени суток! Все-таки решился(?) познакомиться с Java поближе. Для этого поставил цель - реализовать MMOG (многопользовательская онлайн-игра). Нет, убийцу WoW я писать не собираюсь, преследую иные цели: - создание пользовательского интерфейса (swing) - графика (canvas) - работа с БД (mysql) - сеть (sockets) В принципе, по отдельности с этими компонентами я работать умею. Но как грамотно собрать это в клиент-сервер приложение не знаю. Интересны любые советы, спасибо! |
| Автор: Platon 29.12.2008, 20:19 |
| Если с ООП всё в порядке, то могу посоветовать только движок для многопоточной работы IM сервера - http://mina.apache.org/, даже в отзывах где-то видел, что команда геймдевов хвалила этот проект. |
| Автор: Qu1nt 29.12.2008, 20:56 |
| Вашу статью прочитал. Хотелось бы обойтись без использования сторонних компонентов и попытаться реализовать все на довольно низком уровне. Целью является даже не завершение проекта, а опыт решения подзадач и обход подводных камней в процессе разработки. Например, сейчас стал вопрос как наиболее гибко организовать передачу пакетов между клиентом и сервером. |
| Автор: ecologist 30.12.2008, 10:32 |
| Ну если без всяких посторонних, то получаем: - клиентская часть, писана на Swing. Информация по Swing более подробно ищется и спрашивается на форуме. - серверная часть. которая принимает запросы от клиентов, как-то это обрабатывает и отдает обратно что-то - протокол обмена по TCP/IP - или вместо TCP/IP надо подумать об RMI, потому как это будет проще и правильнее. Вообщем-то все - дпльше уже надо разработать саму игру. |
| Автор: Platon 30.12.2008, 11:42 |
ужели? RMI в корпоратиф, юзерам чистый, экономный траф! |
| Автор: SoulKeeper 30.12.2008, 14:28 |
| Чистый экономный траф это хорошо, но не средствами мины. Достаточно печальный опыт общения с ней у меня. Да и своя библиотека конкретно под свои задачи будет удобнее. |
| Автор: Platon 30.12.2008, 14:33 |
| Оо, а можно поподробней, что печального случилось? Я использую ее (не в производственных масштабах), и нареканий пока не было. |
| Автор: SoulKeeper 30.12.2008, 15:43 |
| Да пробовал заменить на Мину стороннюю либу, т.к. были проблемы с лицензией (GPL не катит под коммерческий продукт :(), а свое писать было лень. Данные к Мине приходили нормальные, отсылались, но не принимались вообще. Такое чуство будто клиент молчит. Дебажить внутренности мины было лень, поэтому таки написал свою либу. Все заработало. |
| Автор: powerOn 30.12.2008, 16:42 |
| Модератор: Тема была разделена. Продолжение тут: http://forum.vingrad.ru/index.php?show_type=forum&showtopic=242264 |
| Автор: Qu1nt 30.12.2008, 20:05 |
| Вот набросал: http://img233.imageshack.us/my.php?image=systemez7.jpg Наверное, начну потихонечку писать код, т.к. вопросов становится все больше |
| Автор: AntonSaburov 31.12.2008, 12:30 |
Если честно, то схема слабо напоминает понятную архитектуру. Конечно у тебя есть свои резоны и мысли, правда мы о них не знаем. Но если что надо конкретное - спрашивай. |
| Автор: Qu1nt 5.1.2009, 02:42 |
| AntonSaburov, безусловно. Никак не могу с UML подружиться Сейчас встал вопрос - что использовать для разработки сервера: IO или NIO? |
| Автор: v2v 5.1.2009, 13:12 |
| Есть такой проект, называется DarkStar, вот посмотрите в его сторону , как минимум удасться постороить более правильную архитектуру. |