PDA

Просмотр полной версии : Выбор серверной технологии при создании мультиюзер игры


VovkaMorkovka
07.02.2008, 14:27
Привет всем. В продолжении темы о мультипользовательских играх, скажите плиз, какую технологию Вы использовали и с какими проблемами столкнулись при реализации?
На работе предлагают использовать Flash media server и PHP - скрипты для логики.
Мне кажется что, при сколько нибудь ощутимом трафике и организации логики такое решение будет безбожно тупить и не позволит создать расширяемую архитектуру.


p.s. Просьба не флудить и высказываться по сути

CrazyFlasher
07.02.2008, 14:29
да пхп для больших проектов как сам язык дурацкий...никакой типизации, какие-то левые классы...наверное лучше Java

VovkaMorkovka
07.02.2008, 15:13
да пхп для больших проектов как сам язык дурацкий...никакой типизации, какие-то левые классы...наверное лучше Java
Ну мой начальник, как человек всю жизнь пишущий на PHP, думает по другому. Есть Зенд фраймворк, он много улучшает жизнь программиста.
Вопрос скорее в производительности и возможности расширений, например включения в код вставок на Си

Давайте сформулируем вопрос по другому - кто какую платформу уже ИСПОЛЬЗУЕТ?

Chas
07.02.2008, 16:39
пхп + оптимизатор + кешер
пхп дурацкий язык??? счас начну холивар. правда ООП в пхп действительно дурацкий.
в ganjawars - перл.
в бк и tz, тоже, как я понимаю, перл, но точно не знаю.

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

Badim
07.02.2008, 17:19
smartfox лучше всех.
особенно с недавним обновлением,
где юзеры одновреммено и через сокеты и через хттп играют вместе.

zurmansor
07.02.2008, 17:45
А вот скажем C#? Вообще технология .NET? Просто я про ПХП слышал много плохого, особенно с точки зрения безопасности. Сам я закончил знакомство с ПХП написанием гостевой книги, и дальше заниматся этим языком желания нет. Даже если юзать фреймворки.

BlooDHounD
07.02.2008, 18:16
интересно сколько у вас ПХП сервер выдержит "демонов" :)

etc
07.02.2008, 18:18
Полштучки.

BlooDHounD
07.02.2008, 18:20
бк - перл.
а вот в ТЗ интерсно как вы себе представляете перл, я не знаю :) форум у нас на перле, это да.

VovkaMorkovka
07.02.2008, 18:42
бк - перл.
а вот в ТЗ интерсно как вы себе представляете перл, я не знаю :) форум у нас на перле, это да.

Ну вполне можно написать сокет - сервер на PHP. А кстати, какой сервер вы используете? Флеш медиа, red5, или иное что? Просто мне кажется, что Flash Media Server не самое лучшее решение для сервера и вот почему - игры требуют довольно большого объема вычислений и сложной логики, а ActionScript не лучшее средство для реализации логики, так мне кажется. Если - же проблем особых нет, то тоже прошу об этом сказать

etc
07.02.2008, 18:50
У нас сервер — собственная разработка.

BlooDHounD
07.02.2008, 19:03
и сколько ваш могучий ПХП-Сокет-сервер выдержит содинений? %)

VovkaMorkovka
07.02.2008, 19:11
У нас сервер — собственная разработка.

А на каком ЯП если не секрет и почему отказались от использования специализированных серверов для flash?

Chas
07.02.2008, 19:34
пхп-сокет сервер - нереально вообще.
а вот на cgi-скрипт вполне хватает.

FlexOkeks
07.02.2008, 19:40
Ну вполне можно написать сокет - сервер на PHP Угу, а еще код вполне можно и в Notepad написать, особенно если начальник любит Notepad, то это как раз то что нужно! :quiet:

VovkaMorkovka
07.02.2008, 19:45
Угу, а еще код вполне можно и в Notepad написать, особенно если начальник любит Notepad, то это как раз то что нужно! :quiet:

Вопрос не в том, что любит начальник, а в том, какую технологию выбрать. Лично я - бы предпочел red5 и писать код на java.
Но возможны и другие решения, вот о плюсах и минусах этих других я и хочу узнать и желательно от тех, кто уже имеет работающую игру и сталкивался с проблемами :)

Chas
07.02.2008, 20:16
блин. слишком много болтавни. сядь и сделай. выбор технологии по-большому счету ничего не значит. если это только не очевидная глупость типа взять пхп для написания сокета (с другой стороны, если игрушке достаточно http-запросов к серверу на xml, то пхп - отличный выбор). все равно, все что написано - будет переписано не раз и не два. в ereality чат например был переписан на си, когда количество юзеров онлайн перевалило за 4000, ибо чат на пхп умирал.

VovkaMorkovka
07.02.2008, 21:00
Выбор технологии по-большому счету ничего не значит.
Смотри, мой начальник предлагает реализовать логику с использованием PHP. Логику, а не собственно сайт для игры. Я жопой чувствую, что это порочная практика потому, что PHP никак не предназначен для игр. Но чтобы это утверждение аргументировать или опровергнуть нужны доводы.
Ну вот поэтому я и спрашиваю есть - ли такие люди, которые имеют коммерчески успешную мультипользовательскую стратегию или РПГ с логикой на PHP или все пишут свои движки на жабе скажем или на C++

Chas
07.02.2008, 21:13
я не вижу тз игры => не могу сказать какую технологию выбрать.
если игра будет чистокровным клоном БК, но с флеш или аякс-клиентом (как легенды или дозоры) - пхп вам за глаза хватит.
зря вы все таки меня не слушаете. вы точно уверены, что вы выживете в свете более чем 20 существующих конкурентов?? или это не на русский рынок?

†‡Paladin‡†
07.02.2008, 21:26
FMS юзать однозначно некошерно. По мне так лучше на c++ писать или на жаве(лучше конечно на жаве, т.к. флэш на нее постоянно озирается).

VovkaMorkovka
07.02.2008, 21:35
я не вижу тз игры => не могу сказать какую технологию выбрать.
если игра будет чистокровным клоном БК, но с флеш или аякс-клиентом (как легенды или дозоры) - пхп вам за глаза хватит.
зря вы все таки меня не слушаете. вы точно уверены, что вы выживете в свете более чем 20 существующих конкурентов?? или это не на русский рынок?

Я не начальник, что делать/не делать решаю не я. Я считаю, что делать фигню "лишь бы работало, а пользователь дурак - все схавает" глупо, поэтому нужно проанализировать рынок и добавить в свой проект нечто такое, что будет выгодно отличать его от конкурентов.
Но я не решаю что нужно делать

p.s. А ссылку на БК можно?

†‡Paladin‡†
07.02.2008, 21:36
www.combats.ru/ На гугле забанили?

etc
07.02.2008, 22:39
А на каком ЯП если не секрет и почему отказались от использования специализированных серверов для flash?
Java/C/etc.
Отказались, потому что готовые решения не удовлетворяют условиям.

wvxvw
07.02.2008, 22:59
Не особо в этом разбираясь, скажу только, что люди имевшие удовольствие делать что-то более сложное чем примеры идущие в комплекте с FMS ругались нецензурной бранью =)

VovkaMorkovka
08.02.2008, 02:25
Java/C/etc.
Отказались, потому что готовые решения не удовлетворяют условиям.

А какие условия, можно немного поподробнее? Дело в том, что подобной инфы в инете мало довольно, а аргументы для разговора с начальством нужны

etc
08.02.2008, 02:27
Подробнее не будет. FMS/Red5 — это несерьезно.

BlooDHounD
08.02.2008, 02:38
нужны не аргументы а специалисты

Скрипун
08.02.2008, 16:50
сколько будет стоить хостинг для сервера на Java в месяц? (извиняюсь если не правильно выразил вопрос)

Amon Duul
08.02.2008, 20:02
Привет всем. В продолжении темы о мультипользовательских играх, скажите плиз, какую технологию Вы использовали и с какими проблемами столкнулись при реализации?
Использовали Java: Tapestry + Hibernate. Работало. Проблем особых на моей памяти не было.

Стоимость Java хостинга сейчас: от $8/месяц.

VovkaMorkovka
08.02.2008, 20:23
Использовали Java: Tapestry + Hibernate. Работало. Проблем особых на моей памяти не было.

Стоимость Java хостинга сейчас: от $8/месяц.

А почему не, скажем red5. Только не надо, плиз, говорить, что это "несерьезно" - я знаю. Вопрос почему именно несерьезно или где почитать

Скрипун
08.02.2008, 22:48
а что скажите про SmartFox?

Badim
08.02.2008, 23:29
а что скажите про SmartFox?
а что хотите знать?
1. лучше фреймфорка нету на данный момент, особенно судя по showcase.
2. производительность можно позырить здесь:
http://www.smartfoxserver.com/whitepapers/benchmarks/

вообще имхо, смартфокс вне конкуренции.
я бы добавил имхо, но посмотрите на пингвинов =)
дисней думает также =))))

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

щас пара настольных игр на нем сделал. и опять класно что логика игровая, в оффлайн режиме, и в мультиплеерном одни и теже файлики =)

Amon Duul
09.02.2008, 02:05
А почему не, скажем red5.
Это было не мое решение.
Только не надо, плиз, говорить, что это "несерьезно" - я знаю. Вопрос почему именно несерьезно или где почитать
Я слабо понимаю, что понимается в данном случае под противопоставлением "серьезно"/"несерьезно".

Для меня ключевыми аспектами выбора было бы "работает"/"не работает", "имею опыт"/"не имею опыта", "нравится"/"не нравится", "платят много"/"платят мало".

Исходя из этого, если бы это мне нужно было выбирать, и не было бы никаких дополнительных условий и обстоятельств, возможно я бы выбрал Java для разработки абстрактной многопользовательской игры просто потому, что:
1) "работает" - надежно и быстро, есть достаточно широкий выбор библиотек.
2) "имею опыт" - потому что таки да, имею.
3) "умеренно нравится" - как минимум, отторжения не вызывает в отличие от многого другого.
4) "платят много" - в среднем, программистам на Java предлагают сейчас не то что бы плохие деньги.

В зависимости от обстоятельств (скажем, конкретного ТЗ) вес и оценка каждого из этих пунктов для каждой технологии может изменятся в достаточно широких пределах, в том числе и с "работает"/"не работает" может быть очень неочевидно.