Ръководство за начинаещи за създаване на готини MMORPG - C, C#, C - Програмиране - Статии - GT

Ако сте отворили тази статия, очаквайки този урок за концепция, проектиране, програмиране, работа в мрежа, отстраняване на грешки, полиране, маркетинг, разпространение, управление, осигуряване и постоянно разработване на ново съдържание за вашата MMO, което ще излезе след няколко месеца, тогава може също да искате да се обадите на безплатния номер 1-800, за да поръчате невероятни хапчета за отслабване и книги за това как можете (ДА МОЖЕТЕ!) да станете милионер чрез онлайн търгове.

Ето кратък пример за типична MMO публикация:

1. Какъв език за програмиране да използвам? 2. Има ли колекции от уроци за създаване на игри и програмиране на мрежата някъде? 3. Какъв двигател да избера за MMO?

Вместо да разглеждам примера отгоре надолу, първо ще насоча вниманието ви към по-общи проблеми.

Това *обижда* нас програмистите

Игрите все още не са зряла среда и много хора не ги приемат на сериозно. Поради различни причини безброй хора смятат, че програмирането на игри е лесна работа за безделници, докато всъщност това е една от най-трудните кариери, които човек може да предприеме. Резултатът е много обнадеждаващ, но само защото е адски трудно. Този тип публикации във форума са буквално обидни за нас, защото казването „Нямам опит в програмирането, но мога лесно да направя MMO“ наистина звучи като „Това, с което се гордеете, е *много* лесно за правене.“

Вие не сте дизайнер и нямате нужда от такъв

писател? Глоба. Дизайнер на герои? Глоба. Дизайнер на нива? да Дизайнер? Не.

„Дизайнер“ е един от най-общите съществуващи термини и много малко хора знаят какво означава думата.Идеята за игра, в която сте на луната като нинджа и се биете с раци мутанти, еНЕдизайн, това е концепция (и много лоша в този случай). Дизайнът разресва всякакви аспекти на играта с много фин гребен и обмисля всички малки неща.

Нека вземем за пример системата за прикритие от вражески огън в Gears of War:

  • Какво се определя като подслон.
  • Може ли подслонът да се "счупи", да стане неизползваем?
  • Какви анимации ще са необходими на героя, за да приклекне (застане) в прикритие, да стреля оттам, да презареди, да излезе от прикритие и т.н.
  • Какви клавиши трябва да натисне играчът, за да приклекне зад стената или да застане зад ъгъла?
  • Какво ще кажеш да излезеш от скривалището си?
  • Как да попречите на враг, който идва отзад, да не ви убие, когато сте в прикритие и не виждате какво се случва зад вас?
  • Предишният въпрос не може да бъде решен универсално, така че за всяко ниво на играта трябва да сме сигурни, че няма да възникне тази ситуация.
  • Как се криеш от Berserker? (проблем, с който не мисля, че са се справили много добре)Берсерките са слепи същества, които могат да миришат и загряват, атакуващ звук и могат да тичат през нормална тухлена стена
  • Какво ще кажете за предотвратяване на случайно използване на покритие, когато не искате? (Проблемът всъщност не беше решен в първата част на GoW)
  • Този списък може да достигне до 60 или 70, но ще спра до тук.

Мога да продължа да обсъждам един аспект на играта цял ден и това е само малка част от цялата игра. Очевидно не мога да изброя всички възможни аспекти на MMO дизайна, но ето една статия, която се опита да направи точно това:

Това е добре написан и доста дълъг списък, но дори той не покрива всичко.

Така че го разбрахмече количеството дизайн за добра игра е зашеметяващо. Но нека да видим защо, като програмист на свободна практика, вие дори не се нуждаете от дизайнер.

Екипът, който събирате

Знам какво си мислиш, и аз веднъж се замислих за това за първи път. че вие ​​и вашите приятели ще го направите заедно. Позволете ми да бъда възможно най-ясен и кратък – това е ЕПИЧЕСКА лоша идея! Загубих няколко приятели при нелицеприятни обстоятелства, следвайки тази логика, моля, не правете същата грешка. Винаги е лоша идея да се смесват сериозен бизнес и приятелство и имах два проекта, които се сринаха и изгориха заради това.

Добрите членове на екипа търсят добри лидери.

Не ме разбирайте погрешно, възможно е да съберете добър екип, но ще ви трябва осезаем продукт. Добрите разработчици и програмисти са умни и те, според техния опит, търсят лидери, които няма да изоставят проекта по средата. Най-добрият начин да направите това е с прототип, който можете да разгледате, демонстрацията, която може да се играе, е голям плюс. Разработването на част от играта, която може да се играе, значително ще увеличи шансовете ви да съберете силен отбор.

Но нека приключим този въпрос, защото не съм по темата.

Ако задавате общи въпроси относно езиците за програмиране и двигателите, не сте готови да направите 3D игра, да не говорим за MMO.

Това е най-простото правило на живота, ако програмист попита „Кой двигател е подходящ за мен?“, Тогава той вероятно няма представа как да ги използва (двигатели) и какво представляват. Знаейки колко сложни са двигателите, този въпрос ще бъде последван от много други въпроси относно избрания двигател.

Този въпрос наистина е безполезен, тъй като в света няма публично достъпни двигатели, които да издържатмащабът на една истинска MMO е проблем с хардуера на сървъра, а не проблем със софтуера. Не се смущавайте, има двигатели, които ви позволяват да приемате повече връзки от обикновения мултиплейър, но нищо далеч не се доближава до мащаба на MMO.

Няма уроци „как да направите MMO“.

Всички тези аргументи дори не трябваше да бъдат изказвани, защото:

Просто е безсмислено и непрактично

Ето англоезична тема във форума, в която се обсъжда създаването на игра (дори ако е MMO) от екип приятели в свободното им време:

След известен дебат мнозина се съгласиха, че теоретично (с известна цел) е възможно да се създаде MMO, но невъзможно:

  • Съберете достатъчно голяма база от играчи, за да квалифицирате проекта като MMO.
  • Позволете си сървърен хардуер и "груба" компютърна мощност, за да изпълните сървърния код бързо и надеждно.
  • Управлявайте хардуера и софтуера и осигурявайте защита от хакери.
  • Управлявайте създаването на допълнително съдържание в подкрепа на развитието и живота на MMO.

И след като разгледате всички тези фактори, ще разберете, че е просто непрактично изобщо да се създаде такава игра.

Сега, докато идеята за приятели и хора, които играят заедно, е привлекателна, има много по-просто решение за това:

Създайте мултиплейър игра

Има огромна (или може би огромна) разлика между MO и MMO. Поддръжката на мултиплейър е трудна, но определено не е невъзможна и често се среща в игри, написани от един програмист или от малки екипи. Групова игра или онлайн кооперация е много възможна и бих ви препоръчал да се заемете с такъв проект, въпреки че е вероятно да не завършите играта (това са само сухи числастатистика), но ще послужи като страхотно изживяване. От друга страна, работата по MMO ще ви остави объркани, с малко замайване, невъзможност да продължите напред и много загубено време накрая.

Но преди всичко ще повторя нещо, което трябва да се повтаря постоянно:

Поставете си реалистични цели

Понг-> Tic-tac-toe -> Тетрис -> Марио-> гибел

Веднъж чух някой да казва: „Ако си се изстрелял към Луната и си пропуснал, тогава летиш към звездите“, а моят отговор беше: „О, имаш предвид онази марсианска сонда, която пропусна точката на кацане, разби се и изгоря?“

Идеята е, че свръхамбицията убива проект и всички сме запознати с това. Когато бях по-млад, започнах няколко проекта и около 20% от всеки от тях осъзнавах, че няма да науча нищо ново и ако не го завърша, тогава прекараното време изглеждаше загубено. Запомних този урок и сега си поставям по-малки и по-реалистични цели от тези, които съм си поставял преди. В резултат на това най-накрая намерих удобно темпо за изучаване на нови технологии и когато има още много нов материал за учене, знам, че това значително ще помогне за ускоряване на работата. И знам, че това ще ви помогне (ДА, ВИЕ!) да направите същото.