• 4452
  • 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
1568

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

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

Алматинская детская железная дорога: как настоящий поезд заменили на подделку

Алматинская детская железная дорога: как настоящий поезд заменили на подделку

С приходом новых хозяев не только разграбили железную дорогу, но и даже поменяли названия. Поменяли название парка на «Центральный парк культуры и отдыха Алматы». Началась новая история, для других алматинцев...
zaleskiy
16 марта 2017 / 16:25
  • 5726
  • 10
Не пропущу! Отношение водителей к жизни человека: как уступают дорогу «скорой» в Европе и у нас

Не пропущу! Отношение водителей к жизни человека: как уступают дорогу «скорой» в Европе и у нас

На днях в YouTube появился ролик, запечатлевший совершенно обыденную для европейцев ситуацию. Но для нашего человека – совершенно нетипичную и оттого вызывающую у некоторых из нас слёзы восторга.
openqazaqstan
18 марта 2017 / 20:22
  • 5231
  • 7
Если нет гарантий достойной жизни, то зачем создавать больше несчастных людей?

Если нет гарантий достойной жизни, то зачем создавать больше несчастных людей?

Я постоянно слышу, что дети - это цветы жизни. Но по поведению некоторых родителей складывается впечатление, что дети - это сорняки: роди, а там как-нибудь вырастут.
Amiko
16 марта 2017 / 12:53
Весенний обзор банковских тендерных гарантий

Весенний обзор банковских тендерных гарантий

Как финансист, в тендерных гарантиях я люблю скорость и простоту оформления, поэтому решила сравнить условия некоторых банков по продукту «тендерная гарантия» на основании информации с сайтов банков.
DanaJarlygapova
16 марта 2017 / 16:00
  • 4359
  • 42
16 великолепных пасхалок и отсылок из фильма «Логан»

16 великолепных пасхалок и отсылок из фильма «Логан»

Какими бы не были кинокомиксы, в них всегда будут присутствовать пасхалки и отсылки. Поэтому, MovieUniverse собрал для вас все замеченные пасхалки из «Логана».
Aegon
16 марта 2017 / 14:41
  • 4232
  • 10
Почему в Казахстане пытаются запретить фильм «Красавица и Чудовище»

Почему в Казахстане пытаются запретить фильм «Красавица и Чудовище»

Только я дождался премьеры, как вдруг её отменяют. Откровенно говоря, у меня нереально бомбит от всего этого. Я, как и многие, очень люблю Дисней и его картины, и не против того, что они стали...
MrVladimirLV
17 марта 2017 / 16:03
  • 3897
  • 62
H&M-ское безумие или Что народу по карману?

H&M-ское безумие или Что народу по карману?

На счет качества: я спросил у знакомых и мне сказали, что та или иная вещь носится сезон. В хорошем случае и бережном отношении немногим больше. Кофточки моя слабость наверное...
RustemZhali
18 марта 2017 / 18:32
  • 3628
  • 28
Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Престарелый старец-киборг Рокфеллер предлагал уничтожить 90% населения Земли

Первую пересадку сердца Рокфеллер пережил в 1976 году на 62-м году жизни. Последнюю пересадку ему сделали в августе 2016 года. Пересадка сердца такому старому пациенту не имеет аналогов...
Timur_Tregulov
21 марта 2017 / 23:10
  • 3255
  • 43
Если ты дура, это не значит, что все вокруг дураки. Будь честной, ищи нормального мужика

Если ты дура, это не значит, что все вокруг дураки. Будь честной, ищи нормального мужика

Когда мужчина встречает женщину, с которой хочет прожить всю жизнь - он на ней женится как можно быстрее и старается завести детей. А не живет с ней восемь лет порожняком по съемным квартирам.
bushneva177
16 марта 2017 / 16:21