• 4651
  • 75
  • 14
Нравится блог?
Подписывайтесь!

Разработка игры – что это вообще, и с чем это едят ?

P.S\ Писал это когда тока начинали делать Astana Racer. Но по прошествии 2х лет, изменилось ровным счетом ничего.

Разработка игры – что это вообще, и с чем это едят ?

Что такое вообще разработка игры, по чему в Kz. Более 600 IT контор( на момент 2009 года ) и нету не единственной конторы которая сделала бы игру, о которую бы знали и ее можно было купить( ARTA Software – начала более менее серьёзно разрабатывать игры, я там работаю – это уже не робкие шажочки подпольщиков, но это только начало! И тем не менее на момент написания этого текста она еще в разработке, а это значит что нету еще не одной нормальной игрушки – в привычном понимании этого слова )

 

Я писал это еще в 2009 году, сейчас конечно СатанаРЭйЦер вышел, но сути это не меняет - хорошей игры так и нету!

 

В чем проблема казалось бы…. ???? Ведь что там сложного, в KZ есть программисты, есть моделеры, есть те кто до дыр знает фотошоп… пишите код, рисуйте модельки с хорошими текстурами – что такого, в ЧЕМ ДЕЛО ?

А вот не все так просто. К примеру большинство проектов которые заваливались на этапе разработки имели 2 основные проблемы.

1 – Банальная - деньги, это проблема не требующая комментариев.

2 – Технические проблемы.

 

Технические проблемы:

 

Почему делают программы, а игры нет ? Предположим у вас есть куча денег – большая, но не самая большая в мире. Т.е. вы можете позволить нанять людей не очень много, и не самых профессионалов( т.е. нет возможности пригласить людей из-за кордона… ). И вот вам нужны люди, где вы будете искать кадры для разработки гры? А не где!. Из привычных ныне методов – их не найдешь, ибо нету профессии где учили бы на -  Программиста игровой механики, логики, графики, искусственного интеллекта, физики, спец эффектов, вспомогательных средств( всякие редакторы ),  сетевого взаимодействия и систем синхронизации, написания плагинов к 3D пакетам, оптимизации кода( ОЧЕНЬ ХОРОШЕЙ ОПТИМИЗАЦИИ ).

 

Есть мнение что обычные программисты(Выпускники высших учеб заведений) это те же самые программисты что и делают игры, и можно их взять и сделать игру. Да это так, но их от программистов игр разделят километр «граблей», сделать игру то можно – но на это уйдет уйма времени т.к. изучение всех тонкостей каждого из перечисленных направлений требует времени и очень много – а самое дорогое у программистов игр это время! Если же не углубляться в тонкости то появиться другая проблема – игра не будет!

 

Нужен такой чел:


Сложность игр в том что там все нужно делать на приделе возможностей по производительности, и чем чаще компонент вызывается – тем он должен быть более производителен, к примеру: есть удобные языки типа С# или Java – они просты в том что на них удобно и легко разрабатывать продукты и писать логику, как никак управляемый код, который всегда вам скажет "что где упало" – но они медленны в плане логики( их плюс, это их минус ) – они очень хорошо подходят для веб приложений, серверов, просто программ( кнопочных приложений ) где если вы нажали кнопку, можно подождать 10 секунд пока программа что-то посчитает. У игр все не так, там нельзя ждать по 10 секунд, представляете – вы стреляете во врага, и тут появляется пауза в 10 секунд. Для игр распространены языки у которых скорость выполнения может идти в разрез удобности и простоты.

Тут на сцену появляются такие чудо языки как ( CC++ ) Это два самых расспространеных языка. Первый очень стар, и на нем писали такие игры как Квэйк 1-2-3, Дум 1- 2, вообщем большинство игр до 1998 года, тут уже на сцену вышел и зарекомендовал себя С++.

 

 

С++ это логическое продолжение С. Он на много наворочение С, и тем не менее он не самый лучший язык с точки зрения программирования, отладки, анализа кода – но он быстр, очень быстр – по этому игры делают на нем.

И вот мало того что вам нужен программист который знает все тонкости перечисленные выше, он должен уметь все это реализовать на С++ - а ему мало где учат в наших высших учебных заведениях, а если и дают то только поверхностно.

Ну ладно. Находите вы программиста который владеет С++( ему было интересно, и он его сам просто так изучил по вечерам– такое бывает  ;) ) , и мало того этот человек знает что такое игровой движок, физический движок, графический движок т.е. база у него есть, и он не просто зеленый новичок, который прочитал С++ за 21 день.

 

Ура можно делать игру.

 

Вам нужен моделер и текстуровшик – это уже не такая проблема, идем на сайты по 3д моделированию и ищем нужных товарищей, или вытягиваем из контор которые занимаются дизайном квартир, интерьеров, анимацией рекламы... где у нас еще 3д шники ?.

Итак у нас есть команда Программист, Моделер, ТекстуровщеГ. НО! Нужно еще больше, Гейм дизайнер, всякие менеджеры, те кто занимается сюжетом и т.д. и т.п.

И что дальше ?

Нужно придумать что делать, ок – как говорил Джон Кармак( Создатель Doom 3 ) «Сюжет в игре к как сюжет в порнушке, он нужен – но он не важен»( На верно по этому в Дуум 3 сюжет говно полное… ). Ладно делаем шутер, тут вроде все просто на первый взгляд – Пушка в руках, тупые боты зомби – которые даже стрелять не умеют, и простые «туннельные» локации. Чем не очередной шедевр про зомби ?

 

Придумали сюжет( приехал он со своей женой … бла бла бла… всех убили, остались тока вы с лопатой … )

Взяли какую нибуть игру как экземпляр для графики и геймплея - пошло!

Начали делать локации, людей и окружие – тут особых проблем по началу не будет( пока не будут появляться фитчи ) к примеру делаете вы делаете все в 3д максе, есть экспортер который переводит из 3д макса в движок игры( взяли какойнибуть доступный бесплатный двиг )

Моделер рисует домики где каждая ручечка прорисована, где прорисован сливной бачек в туалете, где текстуры хранятся в форматах .jpg .png .bmp …

Как все хорошо! Не правда ли! Правда тока по началу. Но вот потом появляеться проблема, уровень на котором пару домов грузиться 2 минуты, что такое?... Начали разбиться, потратили неделю – а оказывается текстуры сильно большие 4000х5000 пикселей на ручке у стакана на кружке. И вот - вот они грабли, и этих граблей будет тысячи, миллионы – порой вам будет казаться что все против вас – как будто вы попали в лес, где густой туман – не видно дальше своего носа, а времени несу медленно идти, по этому нужно бежать. А дальше …

К примеру - ну вот почему текстура в .jpg 1024х1024 занимает на жестком диске 200 кб, а в видео памяти 4 Мб ? Казалось бы не возможное, а так и есть( она храниться на жестком диске не сжатая + когда она грузиться в видео карту создаются MipMap уровни … ) а ведь размер видео памяти не такой уж большой, ладно на момент 2009 года размером видео памяти в 512 мб не кого не удивишь, но у многих всего 256 мб… а по мимо текстур там еще и модели хранятся, да да – не знали, они тоже в видео памяти, конечно их можно хранить в оперативной памяти – ок так и сделаем, но потом оказывается что это жутко медленно гонять их из видео карты в оперативку и обратно…

 

Потом вы смотрите на игру и думаете тут не хватает физики – чтобы объекты со стола падали, шкафы ломались, бочки можно было сдвинуть. И вы понимаете что нужно выходить из ситуации – есть 2 варианта, написать свой плагин для 3Д макса чтобы там можно было настраивать объекты, либо писать свой редактор объектов( Не альтернатива 3д максу, а именно настройка параметров объекта ) написать хороший плагин чтобы тот умел хранить параметры каждого объекта – та еще задача, и вы выберите написание своего редактора – да и так возможностей будет больше. А свой редактор это работа с гуи( кнопочки Windows-a ) это система сохранения объектов, и их же загрузка, это навигация и управление данными это еще туча проблем – о которых вы даже и не догадывались.

Ну вот уже есть редактор где можно настраивать объектам параметры, и тут нужен еще один редактор – где бы вы эти объекты могли расставлять Редактор карт, опять же проблемы ну уже будет проще, т.к. есть опыт написания редакторов.

Все хорошо, теперь делаем объекты расставляем их на карте. И вот опять игра тормозит, что такое – оказывается кол–во полигонов тоже ограничено, и те очень много полигонные ручечки да чайнички которые нарисовал вам бывший дизайнер( для которого красота пре выше всего ) оказываются не юзабельны для игры – ибо это не выносимая нагрузка на видео карту – итог, перерисовка объектов( маты на вас как на плохого программиста - типа это не мои модели тормозят, а плохой игровой движек! Так думаю все моделеры! ).

 

на картинке редактор Cry Engine 3, для игры Crysis 2!

Далее вы смотрите, ага в игре нету теней, и освещение не очень. Нужно делать красиво, а как делать, оказывается есть языки программирования для этого – это: HLSL, GLSL, Cg, Asm …  в зависимости от того что использует ваш движек, вам нужно будет выучить как работают эти языки. И выбрать нужный.

Ну вот у вас OpenGL и вы выбрали GLSL начали писать шейдеры, все красиво вроде получается, но тут игра снова тормозит – оказывается эти программки которые вы пишите, выполняются миллионы раз в за одну отрисовку кадра( к примеру разрешение в игре 1280х1024 = 1 310 720 – это количество пикселев которые будут обработаны этой программой, и это тока пиксельный шейдер, еще есть вершинный который упереться в кол-во вершин, что опять же дает нагрузку. И вот вы соптимезировали, сделали ветвление за счет дефайнов – для нужного матереала нужный набор инструкций. Включаете игру на другом компьютере, и опочки – вместо красивого света, все матово белое, или криво освещается, что такое скажете вы ? Опытный человек скажет все нормально, другая видео карта от другого производителя – откуда вы это знали, да не откуда! Опять грабли.

 

А знаете ли вы что проще нарисовать 1 объекта в 5000 полигонов или 1000 объектов в 1 полигонб или вы что такое выпуклая геометрия и в чем её приколы ? Конечно нет, этому не учат – а за частую это узнают когда уже была проделана работа, и потом приходиться переделывать очень многое.

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

Игра на этапе разработки, это комплекс программных средств,  причем чем лучше игра, тем сложнее весь комплекс программ и инструментов которыми будут оперировать разработчики.

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

 

Бывают гениальные игры, которые выходит за счет идеи - они обычно достаточно просты и при этом очаровательны, они завоевывают публику и приносят миллионы создателям – исключение из правил, и придумать такую идею не возможно известными методами.

 

Выводы за вами.

 
23 апреля 2011, 23:33
1614

Загрузка...
Loading...

Комментарии

cypher
0
0
"а оказывается текстуры сильно большие 4000х5000 пикселей на ручке у стакана на кружке" - даа задница!)
отличный пост, узнал многое!
а почему не написал про то как создать кнопку "сделать красиво"?))
сделать красиво - хм, а есть такая кнопка ? :D
Я бы сосредоточил усилия на играх для мобильных платформ (IOS, Android, WP7, Symbian)...
BakeD
0
0
Ты прав - нам надо расти с малого.
lyric
0
0
А нам - это кому?
Тем, кто хочет разрабатывать игры :) То есть не приниматься сразу за 3d action мирового уровня, а так - создать мелкую игру на флеше или java. Набраться опыта, прокачаться до следующего уровня и создать более сложную игру. Типа того :)
а я за любой вид ммо игр.
я только один вывод сделал отсюда, юзать готовый движок, чему убить пару лет на написание велосипеда который будет далек от совершенства.
Если такая возможность есть! За частую у инди разработчиков средств вообще 0.
каждый выбирает сам, мало кто осмелится забить на работу одмина за хорошие бабло и уйти прогать игры которое воозможно что то принесет через н-ное время голодания)
нужно либо иметь денюжку по стандарту(типо родился богатым) либо жесткую упертость)
Все с чего-то начинают) А на должность "тестер игры" наверно отбоя не было бы)))
Однако профессия веть сложная!
какие продвижения с геймдев в кз?)
Ну, примерно следующие.

Новых студий нет.
Алматинцы по прежнему делают игры для соц сети в контакте.
Карагандинцы делают так же флэш, но не соц игры, где-то по нескольку штук в год.
Так же в Караганде ребята сделали игру для айфона которая есть на Апп Строе, говорят треш - но я не видел, сам факт радует.

Мы заморозили RVVA Online( онлайн - очень круто для нас оказалось ), сейчас делаем другой проект по проще.
не густо) какой жанр взяли? онлайн я считаю легче делать, не считая моментов оптимизации с сетевым кодом, по сути много контента для игры не придется делать, скриптовать нпц и прочее лабуду тоже. модели игроков + оружие + небольшой набор карт + звуки. А по RVVA у вас же есть некоторый набор машин и немного карт, я считаю в таких условиях можно и релизить в таком виде, сразу делать фри ту плэй, геймплей правда двух режимов типо твистед метал нужен ну и классические гонки + система рангов, остальное уже пилить на ходу и продавать за деньги или за внутриигроввую валюту.
А с людьми как дела обстоят?
Онлайн, да он проще в плане заполнения игры - можно сделать 2 вида персов, и полу пустые карты. Лишь бы хэдшотить можно было, да крови по больше( контра хороший пример ).

но хороший онлайн, это в десятки раз сложнее программировать чем обычные игры, если конечно это не пошаговая игра 1 на 1.
Ну мы не только для Вконтакте делаем :) еще для Однк, Мой Мир и европейских социалок :)
Гейм-дев это прежде всего бизнес и если ты хочешь сделать что-то крайне крутое ты либо очень гений либо у тебя есть деньги чтобы собрать команду на это.
На данный момент социал гораздо перспективнее. К примеру Zynga которая сделала себе огроменные бабки на фермах и ситибилдерах сейчас делает MMORPG и самое главное у них есть на это деньги и аудитория что очень важно.
=)
Жаль что вы не с нашими программируете.
Вы разве не заметили про кого идет речь?
Mysyk
0
0
Круто. Я этот текст видел на другом сайте. А вы занимаетесь портированием старых игр? Самое интересное. Хоть игра Doom старая, на нее все равно создают карты и моды.
Может на fd.ucoz.kz
Игры новые делаем! Вот :)
Mysyk
0
0
Уже видел видео)) Кажется я видел твой ник. На gamedev.ru
Да он и в нете такой один!!
а может выбрать жанр игры и дрочить его до совершенства?
Mysyk
0
0
Все требует денег.
Mysyk
0
0
Пять лет прошло.
Mysyk
0
0
Пять лет прошло.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38747
  • 63
СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
17 авг. 2017 / 14:43
  • 10751
  • 174
Казахский национализм раньше выглядел несовременно. Теперь он другой

Казахский национализм раньше выглядел несовременно. Теперь он другой

Националисты стали совсем другими. По-английски хорошо говорят, русскую классику цитируют. Очень современные, образованные, адекватные. А после Крыма в националисты уже чуть ли не любой казах готов был записаться.
Aidan_Karibzhanov
16 авг. 2017 / 16:52
Имеющий уши да услышит. Латиница касается только казахского языка

Имеющий уши да услышит. Латиница касается только казахского языка

Президент Назарбаев наконец-то разъяснил для всех, кто ещё не понял, очевидный вопрос, который всем в Казахстане очевиден. Елбасы повторил: на латиницу мы переводим казахский язык, и это не означает отказ от русского языка.
openqazaqstan
18 авг. 2017 / 16:23
  • 2811
  • 48
«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

Из множества грустных откровений постепенно сложился перечень самых распространённых уловок охотников за нашими деньгами. В нём ожидаемо лидировали профессиональные попрошайки.
caravan_kz
16 авг. 2017 / 15:05
  • 2067
  • 2
В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

Общая площадь парка составляет 25 гектаров. На территории предусмотрено устройство прогулочных дорожек, площадок для установки аттракционов и павильонов различного назначения, цветников.
zhasakmola
17 авг. 2017 / 17:13
  • 1932
  • 1
Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Недоразумение с грантами в ВУЗы: «медалисты» до сих пор имеют преимущество

Многие способные выпускники без Алтын Белги готовились к тестированию, чтобы в честной борьбе попытать счастья на гранты без ущемления со стороны якобы "золотых" выпускников.
DanaJarlygapova
14 авг. 2017 / 14:35
Новый конкурс на грантовое финансирование – разочарование для казахстанских ученых

Новый конкурс на грантовое финансирование – разочарование для казахстанских ученых

Обсуждение новых условий началось ещё давно, но стоит ли ожидать качественного улучшения результатов научно-исследовательской деятельности, если система управления наукой не была модернизирована?
ermekuss
17 авг. 2017 / 12:23
  • 1752
  • 1
Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

При полном отсутствии бюджетного жилищного строительства, целые аулы оседают в ветхих домишках, сквозь заборы которых насмешливо возвышаются башни "коктемов", "риц карлтонов" и "есентаев".
niyazov
вчера / 11:16
  • 1504
  • 50