Четверг, 24.05.2018, 18:57
FDsagizi ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Форма входа
  
Главная » 2009 » Октябрь » 23 » Разработка игры – что это вообще, и с чем это едят ?
22:48
Разработка игры – что это вообще, и с чем это едят ?

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

 

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

 

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

 

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

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

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


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

 


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

 

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

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

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

 

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

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

 

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

 

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

 

Вам нужен моделер и текстуровшик – это уже не такая проблема, идем на сайты по 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 ) это система сохранения объектов, и их же загрузка, это навигация и управление данными это еще туча проблем – о которых вы даже и не догадывались.

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

Просмотров: 11314 | Добавил: fd
Всего комментариев: 201 2 »
1  
Интересная статья

2  
спасибо автору, много из написаного не знал

3  
ХахХАхаха картинки убойные! о_О В ЧЕМ ДЕЛО???? Хахахаха. НУЖЕН ТАКОЙ ЧЕЛ... Хахахахаха. Красавчик.

Да, геймдев аццкий труд. Зато не скучно :))))))))


4  
Классная игра, очень порадовало стильное, ганстерлитерное покачивание машины на амортизаторах.

5  
Выпустите как есть. Только меню хорошее сделайте и будет здорово.
Как показывает геймдев.ру самые элитные разработчики гонок живут в Казахстане.

6  
Братан, мы верим в тебя!

7  
есть заказ на разработку игры, как можно с вами связатся? СРОЧНО!!!

8  
Рашид, напиши ему в ICQ 433273898

9  
hi

10  
Кошка блюет: http://prokotik.narod.ru

1-10 11-20
Имя *:
Email *:
Код *:
Поиск
Календарь
«  Октябрь 2009  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2018