|
|
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
Сабж! Интересует архитектура серверной части. Взаимодействие игроков с игроками. Протоколы передачи данных. На каком языке лучше писать. Хочется, чтоб и для андройда работал. Библиотеки, фрейвморки etc ... Посоветуйте соответствующую литературу и на что стоит обратить внимание. Вообщем цель такая - изучить java и т.д. повышение уровня знаний Модератор: Тема перенесена из форума "Программирование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2012, 11:12:42 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
интересно, подпишусь...автору ап ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 08:39:13 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
Высокопроизводительный сокет сервер - MINA, Netty. Быстрые протоколы - hessian, protobuf. Здесь нужно уже смотреть на то что лучше поддерживается клиентами и быстрее парситься. Писать лучше на Java + Spring IoC. Базу данных выбирать опять же в зависимости от требований. Скорее всего NoSQL хранилище. Кому-то нужна максимальная скорость. А кому-то гарантии целостных транзакций. Тут уже нужно смотреть по обстоятельствам. Обязательно необходимо высокопроизводительное логирование - slf4j/logback, либо другие ориентированые на скорость альтернативы. Горизонтальное масштабирование нужно продумать. Брать ли готовую кластеризацию какого-либо сервера. Или самому строить на базе Terracotta, JBoss Cache и т.п. Нагрузочное тестиронивание - JMeter На счет почитать ищите статьи об архитектуре конкретных систем. Архитектура того же Eve Online на stackless python подробно описана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 11:08:08 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
Если опыт не очень большой, то очень сомневаюсь, что потянешь корректно работающий и функциональный сервер на MINA. С учетом соединения нескольких платформ - и подавно. Столкнулся с тем же. Месяца 2 реализовывал свое ... стало просто жаль времени. Есть специальные игровые сервера - классический Red5, Wowza, SmartFoxServer, еще парочка. Все на Java. Первый совершенно открытый и бесплатный, но жутко глючный, остальные истоками из него, но коммерческие и доделанные до ума. После сравнения остановился на SFS. Функционал в сравнении с собственной разработкой, конечно, ограничен, но от самой разработки онлайн-игры в реальном времени я просто в восторге. Возможности встроенной админки на высоте. Сделан на Apache MINA и имеет встроенный веб-сервер Jetty, поддерживает платформы, включая java-клиент, flash, андроид-клиент, iOS-клиент и несколько других (причем, одновременно играющих!). Тестовая версия на 100 игроков, может быть коммерческим продуктом с указанием лейбла сервера (не помню какая лицензия). Через плагин можно подключать видео/аудио-поток для видео в реальном времени. Через загрузку конфигов подключал к нему Спринг и Хибернейт для удобства работы с контекстом, но это необязательно - что-то у них есть свое. Но можно подключать любые либы, а свой проект выкладывается в виде jar-ника. Все построено на событийной модели. Поддержка меня порадовала - несколько человек из команды всегда на форуме и вопросы долго не висят. Один человек подобный игровой сервер, пусть даже "под себя", за 2-3-6 месяцев не сделает, поэтому покупка подобного сервера (кажется, чуть за штуку) - это неплохой выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 15:12:20 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
IDVsbruckЕсли опыт не очень большой, то очень сомневаюсь, что потянешь корректно работающий и функциональный сервер на MINA. А на Netty? :) Мы тут однажды всем офисом ржали: http://habrahabr.ru/post/136456/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 15:21:21 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
Э-э-э, а что смешного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 15:32:56 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
автор Высокопроизводительный NIO-сервер ... на больше чем 40 человек ... при 300 игроках онлайн работает более 980 потоков ... В руки совершенно случайно попала библиотека ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 15:38:32 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
А, ну да. Вкупе со вторым предложением текста - и вовсе каламбур. Кстати, зашел на сайт SFS, не был у них с полгода. Интересные данные: Benchmark 1 - Discard message. Server machine Intel Core2 Duo, 2.2Ghz 4GB RAM Linux Ubuntu 9.04 OpenJDK Server VM 1.6.0_0-b12 Round 1 Msg Size: 1024 bytes | Rate: 1 msg/s | Clients: 2000 | Target traffic = 16Mbit/s CPU %RAM %IN (MB/s)OUT(MB/s)BitSwarm4-5%2.2%2.10Netty6-7%2.1%2.10Mina14-15%2.5%2.10 Round 2 Msg Size: 8192 bytes | Rate: 1 msg/s | Clients: 2000 | Target traffic = 128Mbit/s CPU %RAM %IN (MB/s)OUT(MB/s)BitSwarm22-23%7%16.30Netty33-36%6.9%16.20Mina80-82%7.2%16.20 Round 3 Msg Size: 16384 bytes | Rate: 1 msg/s | Clients: 4000 | Target traffic = 512Mbit/s CPU %RAM %IN (MB/s)OUT(MB/s)BitSwarm97%17%650Netty135% (for a while then crashes) N/A~80Mina(crashed before reaching target traffic)N/AN/A0 Benchmark 2 - Echo message. Server machine Intel Core2 Duo, 2.2Ghz 4GB RAM Linux Ubuntu 9.04 OpenJDK Server VM 1.6.0_0-b12 Round 1 Msg Size: 1024 bytes | Rate: 1 msg/s | Clients: 2000 | Target traffic = 16Mbit/s CPU %RAM %IN (MB/s)OUT(MB/s)BitSwarm11-12%4.2%2.22.1Netty13-14%4%2.22.1Mina23-24%4.9%2.22.1 Round 2 Msg Size: 2048 bytes | Rate: 1 msg/s | Clients: 3000 | Target traffic = 50Mbit/s CPU %RAM %IN (MB/s)OUT(MB/s)BitSwarm25%5%6.76.5Netty30%5.8%6.76.5Mina65%5.9%6.76.5 Round 3 Msg Size: 2048 bytes | Rate: 1 msg/s | Clients: 6000 | Target traffic = 100Mbit/s CPU %RAM %IN (MB/s)OUT(MB/s)BitSwarm52%7.2%13.513.1Netty62-64%7.5%13.513.1Mina145-150% (*)8.9%13.313 Benchmark 3 - Broadcast echo message. Server machine Intel Core 2 Duo, 2.2Ghz 4GB RAM Linux Ubuntu 9.04 OpenJDK Server VM 1.6.0_0-b12 BandwidthBitSwarmBitSwarmMinaMinaNettyNettyCPURAMCPURAMCPURAM80 Mbit/s14%1.40%55%N/A50%4.60%320 Mbit/s45%1.30%139%3.50%crashedN/A840 Mbit/s91%2.20%crashedN/AN/AN/A И не вполне объективная инфа (хотя и приятная): Client API Server machine MBPro dual-core i7@2.6Ghz, 8GB Ram Java Runtime: 1.6.0_20 Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode) Client machine iMac Core2 Duo @3.0Ghz 4GB Ram Flash Player standalone version 10.0.2.54 Single Message test The test shows a typical real-time game scenario where lots of messages arrive each second to the client. One message is sent to the client every <interval> amount of milliseconds as specified in the table. IntervalMsg countBandwidthServer CPUClient CPU10 ms100 msg/s33KB / 38KB3% - 4%6% - 22%5 ms200 msg/s66KB / 78KB4.7% - 7%8% - 40%2 ms500 msg/s167KB / 190KB8% - 14%12% - 90% 1 ms 1000 msg/s 332KB / FAIL13% - 58%13% - FAIL In red (первая колонка) are the values obtained with SmartFoxServer 2X and related API. In blue (вторая колонка) are the values obtained with the other game-server and related API. At 200msg/sec you can already see how the alternative product is eating 40% of the client resources just to deal with the network traffic, while the SFS API have a very light impact (less than 10%). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2012, 16:08:11 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
maratossСабж! Интересует архитектура серверной части. Взаимодействие игроков с игроками. Протоколы передачи данных. На каком языке лучше писать. Хочется, чтоб и для андройда работал. Библиотеки, фрейвморки etc ... Посоветуйте соответствующую литературу и на что стоит обратить внимание. Вообщем цель такая - изучить java и т.д. повышение уровня знаний Модератор: Тема перенесена из форума "Программирование". Опишите примерно, будет реалтайм, пошаговая, или что вообще? А то я например выбрал Google App Engine, потому-что для моих требований вполне подходит. Но не уверен что у них там со скоростью реагирования, подойдёт ли для реалтайма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 09:31:43 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
IDVsbruckЕсли опыт не очень большой, то очень сомневаюсь, что потянешь корректно работающий и функциональный сервер на MINA. С учетом соединения нескольких платформ - и подавно. Столкнулся с тем же. Месяца 2 реализовывал свое ... стало просто жаль времени. Один человек подобный игровой сервер, пусть даже "под себя", за 2-3-6 месяцев не сделает, поэтому покупка подобного сервера (кажется, чуть за штуку) - это неплохой выбор. Чушь, при чем полная. 1. Mina уже несколько лет не обновлялась и полностью заброшена. Так что не эту библиотеку вообще нет смысла смотреть. 2. Что там 6 месцев писать?? в SFS 1 мб исходников всего. При чем на java. 3и. Я свой сервер написал за 2 недели. Использовал Netty и Protobuf. Это рабочий вариант. На моем не самом новом ноуте (2010 год, coreduo) порядка 30000 сообщ/сек обрабатывает. при этом проц почти не напрягается. С админкой и прочими плюшками ушло 2 месяца. Но SFS даже рядом не валялся по удобству работы. Так что все зависит от человека. Ну и по SFS, загляните в исходники, там тихий ужас. как был сервер написан лет 10 назад, так он и не менялся. Все их бенчмарки и сравнения с netty полная лажа. Любой человек работавший с обоими продуктами вам это скажет. ИМХО Если есть возможность, то своеи решение всегда предпочтительнее стороннего. Тем более закрытого и без исходников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 12:09:36 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
tumblerrr, потише с выводами ... для тестов на коленке тоже за день делал "сокет-сервер". Но речь идет об уже настроенном игровом сервере с набором "фич": организована структура "зон и "комнат" (с динамическим добавлением), введена классификация на "бадди" и "недругов", журналирование всего процесса, произведена балансировка нагрузок (пожалуй, главное достоинство, "свой" сервер с большой нагрузкой "с тычка" не заработает), замечательная административная часть с фильтрами на добавление/удаление игроков, фильтрацию речевого трафика на предмет нежелательных слов, почтовая поддержка, возможность работы с базой без своей надстройки, возможность подключения мультимедийного UDP-контента (видео- и аудиочаты - это серьезная штука). Наверняка еще много что не указал - полгода в глаза не видел. То, что свое решение со всеми "плюшками" ты сделал за 2 месяца и SFS "рядом с твоим решением не валялся" - вот это действительно чушь, такое даже вслух должно быть стыдно сказать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 16:31:44 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
ктонибудь из советчиков участвовал а написании высокопроизводительных он-лайн игр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 16:34:10 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
1024ктонибудь из советчиков участвовал а написании высокопроизводительных он-лайн игр? Заочно. Коллеги рядом пишут. Переодически интересуюсь архитектурными изысками и интересными багами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 16:39:30 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
1024ктонибудь из советчиков участвовал а написании высокопроизводительных он-лайн игр? И ещё в одном участвовал - не игра. Но очень близко по логике взаимодействия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 16:41:08 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
IDVsbrucktumblerrr, потише с выводами ... Ну, вы за день делали "на коленке" и для тестов, а я не задень и не для тестов. Так что разница есть )) Походы вы ничего серьезнее крестиков ноликов не писали. Иначе как объяснить выдачу за крутую "фичу" динамических комнат?? Это же элементарщина... На всякий случай, у меня в сервере есть: комнаты, журналирование всего, различные фильтры пакетов, админка с большей функциональностью чем в SFS. Нету только мультимедиа потоков ибо это нахер не надо в игровом сервере. С такой нагрузкой должны отдельные сервера работать. Но в любом случае, все эти "фичи" никак не влияют на тестирование сетевой части ибо просто в ней не участвуют. И вообще, вы хоть сами понимаете какую ерунду пишете? Что такое "произведена балансировка нагрузок (пожалуй, главное достоинство, "свой" сервер с большой нагрузкой "с тычка" не заработает)" что и с чем там сбалансировано? "возможность работы с базой без своей надстройки" это что за ересь вообще? SFS уже не стребует драйвера для конткретной БД и работает с любой ? Вы в глаза пол года не видели, я очень подробно с ним разбирался. Во внутрях копался. SFS не стоит своих денег... P.S. И да, по поводу 2-х месяцев. Если вы не состоянии давать быстро результат, то это не означает, что другие тоже не могут ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 17:31:21 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
1024ктонибудь из советчиков участвовал а написании высокопроизводительных он-лайн игр? Что есть "высокопроизводительная он-лайн игра" ?? Батлфилд тут вряд ли кто писал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 17:34:54 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
tumblerrr, тупые аргументы и тупой пост - похоже на "слышал звон, не знаю где он". Если тебе надо объяснять про ДАО, который этому серверу в дефолте не требуется ... И смахивает, что ты имел дело с SFSPro, который они много лет тянули и толком не знают что с ним делать. SFSX2 значительно моложе и перспективнее. Насчет Мины действительно погорячился - они сделали его не на нем и не на Нетти, а на custom network engine BitSwarm, который и активно проталкивают. Тесты привел, хотя они их и поэтому совершенно необъективны, но внимания заслуживают. P.S. Уважаю умных людей: толпа людей "10 лет" клепает свой сервер, толпа N лет разрабатывает ту же Wowza, туева хуча людей уже, пожалуй, полтора десятилетия слепить до кучи не могут Red5, тот же Адоби свой FMS почти за десятку зелени продает и продолжает развивать (а ведь он только под флеш!), потратив на разработку годы, а Кулибины (ака тумблеры) за 2 месяца создают сервера, возле которых остальные "даже рядом не валяются по удобству работы". Уважаю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 18:46:07 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
maratossСабж! Интересует архитектура серверной части. Взаимодействие игроков с игроками. Протоколы передачи данных. На каком языке лучше писать. Хочется, чтоб и для андройда работал. Библиотеки, фрейвморки etc ... Посоветуйте соответствующую литературу и на что стоит обратить внимание. Вообщем цель такая - изучить java и т.д. повышение уровня знаний Модератор: Тема перенесена из форума "Программирование". Вам не серверную часть смотреть надо, а клиентскую. Вполне достаточно (выше крыши) свинг. А серверную часть сделайте через JDBC, например. ПС. Какая нахрен литература? ХеллоВорлд писать не умеете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 18:53:46 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
IDVsbrucktumblerrr, Если тебе надо объяснять про ДАО, который этому серверу в дефолте не требуется ... Да, ты походу вообще не понимаешь о чем пишешь ))) Что за ДАО котрый серверу не требуется? Что за чушь? Как твой сервак без ничего будет с БД общаться? Ты хоть понимаешь какой ты бред пишешь? IDVsbruck И смахивает, что ты имел дело с SFSPro, который они много лет тянули и толком не знают что с ним делать. SFSX2 значительно моложе и перспективнее. На надо "самахивать" )) Я ковырял SFSX2. закончил ковыряться примерно месяц назад. Если они за этот месяц сделали невмахательский прорыв, то приношу извинения, я был не прав. Но этого не было... IDVsbruck P.S. Уважаю умных людей: толпа людей "10 лет" клепает свой сервер, толпа N лет разрабатывает ту же Wowza, туева хуча людей уже, пожалуй, полтора десятилетия слепить до кучи не могут Red5, тот же Адоби свой FMS почти за десятку зелени продает и продолжает развивать (а ведь он только под флеш!), потратив на разработку годы, а Кулибины (ака тумблеры) за 2 месяца создают сервера, возле которых остальные "даже рядом не валяются по удобству работы". Уважаю! [/quot] И что доказывают эти тупые аргументы? То, что автоваз неимоверно крутой, только потому, что 15 лет выпускал ВАЗ2106? Не смешите мои тапочки... Red5 древний как говно мамонта и никому уже не нужен... его периодически пытаются как-то подкрутить, но уже все... да и не для гр он предназначен был изначально. Адоби может свое подели хоть за лярд продавать , это не делает продукт неимоверно крутым, удобным и т.д. И да, хорошие продукты делают обычные люди если вы не в курсе. Не боги. Обычные люди которые работают в разных конторах. Примеров когда N лет крутые ребята делают что-то, бюджет измеряется в лямах зелени, а на деле оно проваливается полностью - масса. Так что не надо тут тупить... разберитесь сначала в вопросе, а потом выеживайтесь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 19:30:52 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
ShSergeВам не серверную часть смотреть надо, а клиентскую. Вполне достаточно (выше крыши) свинг. А серверную часть сделайте через JDBC, например. Ой, а можно пример серверной части для игры на JDBC. Очень интересно, прямо заинтриговали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 19:40:15 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
tumblerrrShSergeВам не серверную часть смотреть надо, а клиентскую. Вполне достаточно (выше крыши) свинг. А серверную часть сделайте через JDBC, например. Ой, а можно пример серверной части для игры на JDBC. Очень интересно, прямо заинтриговали... а чем сервер игры отличается от сервера биржевых котировок, скажем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 21:04:22 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВысокопроизводительный сокет сервер - MINA, Netty. Быстрые протоколы - hessian, protobuf. Здесь нужно уже смотреть на то что лучше поддерживается клиентами и быстрее парситься. Писать лучше на Java + Spring IoC. Базу данных выбирать опять же в зависимости от требований. Скорее всего NoSQL хранилище. Кому-то нужна максимальная скорость. А кому-то гарантии целостных транзакций. Тут уже нужно смотреть по обстоятельствам. Обязательно необходимо высокопроизводительное логирование - slf4j/logback, либо другие ориентированые на скорость альтернативы. Горизонтальное масштабирование нужно продумать. Брать ли готовую кластеризацию какого-либо сервера. Или самому строить на базе Terracotta, JBoss Cache и т.п. Нагрузочное тестиронивание - JMeter На счет почитать ищите статьи об архитектуре конкретных систем. Архитектура того же Eve Online на stackless python подробно описана. Ок, благодарю. Буду курить. XDiaBLoОпишите примерно, будет реалтайм, пошаговая, или что вообще? А то я например выбрал Google App Engine, потому-что для моих требований вполне подходит. Но не уверен что у них там со скоростью реагирования, подойдёт ли для реалтайма. Игру хочу простенькую, как в фильме "Трон" (сцена где на мотаках по арене гоняют) - получается риалтайм. В голове такая каша с чего начать не знаю) Есть просьба небольшая - если не трудно накидайте по пунктикам с чего вообще начать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 21:10:57 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
maratossЕсть просьба небольшая - если не трудно накидайте по пунктикам с чего вообще начать? С vision. И какого-нибудь проектного решения. Пусть самого простого, на одной бумажке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 21:12:54 |
|
||
|
Литература по созданию online игр
|
|||
|---|---|---|---|
|
#18+
А есть ли готовые серверные игровые движки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2012, 21:22:21 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=281&tid=2131447]: |
0ms |
get settings: |
15ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
63ms |
get topic data: |
24ms |
get forum data: |
6ms |
get page messages: |
108ms |
get tp. blocked users: |
3ms |
| others: | 322ms |
| total: | 582ms |

| 0 / 0 |
