Булфлийт смуче, Геймфордж – по-малко

Или – Bulfleet sucks, Gameforge – less. GF са по-известни с масовата онлайн php базирана игра ogame, но конкретното сега ще ги насоля заради ikariam. Булфа е на XS Software. Само че германците най-вероятно ще прокопсат, за разлика от нашенците. Защо ли .. чети нататък ;).

Има още

Най-подходящия (скриптов, динамичен?) език за програмиране на MMORPG?

Чудя се, донякъде абстрактно … седя, и си мисля … (по някое време осъзнавам, че само седя; оказва се обаче, че всъщност джуркам все пак някаква висша мисловна дейност, но на друго, различно от съзнателното ниво, егати изречението в скоби, както и да е) кой ли ще да е тоя най-подходящ за масова онлайн игра динамичен език за програмиране?

Искам да подчертая, че тук не визирам такива бездушни маркетингови машини за пари от сорта на УоУ, нито подобни собственически формати както тъпото диабло, примерно.

Имам в предвид игри от сорта на Ogame, Bulfleet, Omerta, Eve Online, Runescape, Ultima Online, Lineage 2, и т.н. в този дух.

В този вид игри има редица особености – който е имал повечко време вземане-даване с тях, знае. Като начало, имаме хиляди играчи на един сървър/свят/вселена или каквато е там мерната единица на съответната игра. В някои случаи десетки хиляди. За стотици хиляди не съм чувал, но нищо чудно просто да не съм достатъчно информиран. Дори и в момента да няма, в недалечно бъдеще тази цифра обаче си е съвсем реална. Проблеми се появяват, когато всичките се изсипят онлайн в кратък, много близък интервал от време, и започнат активно да цъкат по строежи, конструкции, изследвания, войни, бойни единици, търговии, разузнавания, организации и комуникации … Това генерира огромен, трудно компресиращ се и кофти за управляване и разпределяне трафик. Освен това, натоварва страшно и самият софтуер, както и машините, дето се грижат за игрите. И на последно място създава работа на хората, дето се предполага, че трябва да се грижат цялата галимация да не се смърънгяса тотално :).

Грубо опростяване и обобщение, но върши работа, май. Сега – за хардуера – не е голям проблем. Винаги може да се добавят още памет, процесори, клъстери, нови машини дори. За някои от дейностите хора също ще се намерят – дори и за без пари, буквално! Най-големи ядове обаче в един момент започва да създава софтуера. Избора на среда, скриптов/динамичен език за програмиране. Сървърна технология.

Какво става в най-натоварените часове? 5 000 потребителя, които са едновременно онлайн, и като цъкнат нещо, в зависимост от върнатия резултат пак цъкат, за да стане нещо друго, и това го правят по 20 пъти в минута. Ако данните са само текст – има си трикове. Ако има и изображения – тегаво, но все пак и там има заобиколни решения. А ако всичко това е свързано в динамична триизмерна координатна система? Бр-р-р- … не ми се мисли :).

Изброявам няколко по-популярни, без да се задълбочавам в достоверни изследвания.

PHP – върши работа, но не е подходящ за НАИСТИНА ГОЛЕМИ натоварвания. Колкото ще да е бърз хардуера, и да е фино тунинговано апачито, и оптимизиран самият код – при няколко хиляди човека издъхва.

Perl – по-добро, особено, що се отнася до текст. Но и той си има кусури, не знам как би се оправил в примерната ситуация … трудно ще е, вероятно.

Python – това не знам, може ли да се използва ефективно с такава цел?

JavaScript – не, не е шега – само че не смея да предвиждам резултатите при такива натоварвания …

Ruby (on Rails, or without them) – това веднъж като зареди, и ако не му се подават глупости, може и да се справи … или не?

Други?

Осъзнавам, че има прекалено други фактори, които влияят – много важен е избора на структурата и формата на база данните, чистотата и оптимизацията на самият писан код, конфигурацията на сървърите, платформите, много са. Разбира се, винаги го има фактора пари – даже е още по-важен на фона на световната финансова криза. Да приемем, че в случая няма чак такова значение. Нека все пак разходите да бъдат … разумни? Бива, разбрахме се. Много неща са навързани, отговора не може да бъде прост и елементарен … но все пак, може да се опита с нещо семпло.

Искам да попитам всички – седящите, четящите, мислещите, знаещите, можещите, предполагащите и съмняващите се – кой според вас е най-подходящият език за програмиране на масова онлайн игра и защо?