Суббота, 20 Апреля 2024, 14:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Программирование » C/C++ » Мануал по созданию игры
Мануал по созданию игры
IgnisFatuusДата: Среда, 17 Октября 2012, 13:33 | Сообщение # 1
частый гость
Сейчас нет на сайте
Доброго времени суток!
Есть проблемка и просьба. Для начала опишу свой уровень программирования и суть проблемы.

Программирую на С++ примерно месяцев 5-6. В данный момент работаю инженером-программистом(по совместительству тестировщиком), пишу простенький софт для веб-телеметрии, различных газо-электро-пр.-пр. устройств, модули, заглушки и т.д.
С++ изучал самостоятельно, образование не профильное и это первый язык за который я взялся. Пишу под Линукс.

Суть проблемы.
Есть желание писать игры. Не знаю с чего начать и ЧТО изучать. Понасиловав яндекс и гугл выделил 2 направления - OpenGL и DirectX.

На Вашем форуме нашел книгу -

Джим Адамс
Программирование ролевых игр с DirectX (2-е издание), однако что-то уж больно ее ругают. Жанр РПГ мне очень близок и я бы начал именно с этой книги.

Просьба.
Подскажите, стоит ли? Или есть мануал подоступнее, пошаговый, где берут за ручку и первый раз проводят по злачным местам? )

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

Есть проблема связки DirectX SDK с Visual Studio C++.

Ну так вот... Дайте пожалуйста вектор.
sonofatrusДата: Среда, 17 Октября 2012, 13:44 | Сообщение # 2
частый гость
Сейчас нет на сайте
Посмотри книги Андре Ламота - очень авторитетный автор и все легко и понятно
redinardДата: Среда, 17 Октября 2012, 14:09 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
за книгу Джима Адамса даже не берись,слишком сложно на таком уровне,я тоже новечёк в этом деле и посоветовал бы тебе поизучать книги по DirectX,а в процессе его изучения ты сам потихоньку будеш понимать как создать игру,вообще книги по созданию игр надо брать только для того чтобы изучить отдельные моменты игры(перемещене,построение квестов и т.д.), а то это будет тупо копипаст и ты ничего не поймёш

Я белый и пушистый но имею когти и зубы
IgnisFatuusДата: Среда, 17 Октября 2012, 14:11 | Сообщение # 4
частый гость
Сейчас нет на сайте
Есть просто программирование игр для виндоус и есть как бы продолжение - 3Д игры. Поскакав по страничкам я увидел, что первую можно и не читать, а стоит братся сразу за вторую. Это так или потратить время и обе штудировать?

Я, как говорится открыт для предложений. Что по ДиректИксу посоветуете?


Сообщение отредактировал IgnisFatuus - Среда, 17 Октября 2012, 14:14
sonofatrusДата: Среда, 17 Октября 2012, 14:20 | Сообщение # 5
частый гость
Сейчас нет на сайте
Андре Ламот он про директикс )
redinardДата: Среда, 17 Октября 2012, 14:21 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
почитай "Станислав Горнаков - DirectX 9. Уроки программирования на C++" и Дирка Хендрикса и Марка Ли,для начала этого более чем достаточно

Я белый и пушистый но имею когти и зубы
goldsphereДата: Четверг, 18 Октября 2012, 08:18 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
IgnisFatuus, Коли пишешь под линукс, так бери OpenGL, он кроссплатформенный, по нему есть отличный учебник, который подойдет всем OpenGL Супер книга, только издание по новее бери там разные версии OpenGL'я. Лично моё мнение, он лучше ДиректИска, он побыстрее, выдаёт такую же графику, как DirectX, хотя говорят, что в 12Dx будет скольки-то кратное сглаживание 3д моделей. Но людей на 12 сидящих ещё как минимум год будет очень мало, и ещё он только на 8-ку будет идти. Вообщем бери OpenGL.

FinderX - Android Аркада

Сообщение отредактировал goldsphere - Четверг, 18 Октября 2012, 08:18
TovTripleZДата: Четверг, 18 Октября 2012, 15:45 | Сообщение # 8
Злая ящерка >:3
Сейчас нет на сайте
Quote (IgnisFatuus)
Пишу под Линукс.

Мне нравится вот такая штучка (на английском).
Programming Linux Games
Вообще-то там не OpenGL, а SDL, и даже не C++, а чистенький опрятный C, однако задаёт правильный вектор: всё объясняется пошагово и доходчиво. Это в первую очередь не справочник по API библиотеки SDL, а учебник, описывающий процесс разработки настоящей игры.


Бледные дрыщекролики следят за вами
IgnisFatuusДата: Понедельник, 22 Октября 2012, 12:02 | Сообщение # 9
частый гость
Сейчас нет на сайте
А что перспективнее? OpenGL или DirectX. Если в крации - хочу подучиться писать игры самостоятельно и свалить в какую-нибудь контору(нормальную), которая занимается играми. С английским проблем нет... Есть проблемы с ленью... :-) . Но борюсь с собой.

И на счет кроссплатформенности - под консоли, браузерки и мобильные устройства писать нет желания. Есть желание писать эпичные РПГ и ММОРПГ (которые обычно на винде)... Как-то так...


Сообщение отредактировал IgnisFatuus - Понедельник, 22 Октября 2012, 12:04
ModelkinДата: Понедельник, 22 Октября 2012, 16:14 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Большая разница между
Quote (IgnisFatuus)
Есть желание писать эпичные РПГ и ММОРПГ

Quote (IgnisFatuus)
хочу подучиться писать игры самостоятельно и свалить в какую-нибудь контору(нормальную), которая занимается играми.

Надо, сначала, приравнять свои желания к действительности. Где эта сказочная контора, в которой делают эпичные РПГ и ММОРПГ, и ищут программистов, тем более - без имени и опыта участия в других проектах? smile И даже если попадешь в эту сказку, кто сказал что ты там будешь заниматься тем, чем так хотелось заняться, а не тем, что скажут?
А если хотим, все таки, делать крупный проект, то есть на вскидку только три пути
1. Найти денег на проект где-то на стороне.
2. Сделать себе имя на мелких проектах.
3. Делать мелкие проекты (игровые или не совсем) с целью заработка денег и, в случае успеха, с целью подпитки средствами проекта своей мечты.
Причем, если нет возможности найти денег, то третий вариант самый реалистичный. А тут у нас:
Quote (IgnisFatuus)
под консоли, браузерки и мобильные устройства писать нет желания.
Тогда - только сундук с деньгами найти, больше ничего не остается. biggrin

Почему Unity3D такой популярный? Просто он дает шанс более легким способом выпустить софт для заработка, именно на мобильные платформы и веб.
А OpenGL или DirectX - какая разница? Если ты программист на уровне движка в Windows, то будешь знать и то и другое (одно лучше, другое хуже), и язык шейдеров, и еще много чего.
IgnisFatuusДата: Вторник, 23 Октября 2012, 08:58 | Сообщение # 11
частый гость
Сейчас нет на сайте
Вот так и рушатся мечты... ) На счет сундука - я просто буду усиленно писать, учить и тд. И никто не говорит, что я сразу попаду в топ ) Я начну с малого - мне не западло тестировать исходный код, писать модули к приложениям и пр. Параллельно я понимаю схематику и устройство. Помоему это лучшее начало. Есть конечно вариант найти какую-нибудь конторку в Москве, которая возьмет за минимальные деньги, можно даже в выходные.
ModelkinДата: Среда, 24 Октября 2012, 04:28 | Сообщение # 12
почетный гость
Сейчас нет на сайте
Что ж, вперед, грабли расстелены, пронумерованы, перед каждыми стоит видеокамера - зрители ждут.

1. Трамплин для прыжка через грабли номер 1:
Для начала, выброси книги по изготовлению игр на OpenGL или DirectX. Что взять с книги, в которой автор врет уже на обложке. На OpenGL и DirectX сурьезные игры не делают. На них делают движки, редакторы уровней, утилиты и тд. Выбери приоритет - писать игры или движки. Хотя самодельный учебный двиг написать еще ни кому не повредило - просто для практики в программировании и понимания процесса игроделия изнутри.
А лучшая книга - инет.

2. Ползком мимо граблей номер 2:
Забей на "Microsoft DirectX SDK", на ближайшие полгода.
И не бойся мобильных платформ. Производительность их растет, все компании движутся в этом направлении. Игнорируя это, можно остаться в отцепленном вагоне - придется догонять по шпалам. К тому же, - специалисты по играм на переносные устройства - в цене (впрочем, как и спецы по Фотону).

3. Обход округ граблей номер 3:
Скачай и начни с RenderMonkey, по ней есть, на 3/4 переведенная, книга онлайн. Будет повод параллельно адаптировать свои знания векторной математики применительно к игроделию. Для этого есть ряд статей в инете.

4. Лаз под граблями номер 4:
Примени свои новые знания шейдерописания к OpenGL. Так как, даже Silicon Graphics не знают, что такое OpenGL SDK, - то старайся не использовать всякие левые библиотеки для OpenGL. Можно заюзать glew и glut (или аналог - freeglut), и этим ограничиться. Во многих старых примерах сплошь и рядом используют glaux, старайся переделать код под glut, это не сложно. И не увлекайся визуализацией кубиков, резче переходи к статьям по VBO, по оптимизации, сделай свой загрузчик моделей и текстур, подключи звук, можно пришить Lua или свой скриптовый язык. И еще повсякому поиздевляться над своим движком.

5. Получение по лбу граблями номер 5:
Думаешь удастся избежать знакомства с готовыми движками? Можно ли стать писателем не читая книг? Придется присмотреться к готовым движкам и убедиться в убогости своего.

Ну вот - твой скил повышен. И теперь, ты становишься настоящим начинающим программистом-игроделом. В доказательство - на лбу шишка.
И выбираешь себе свой первый игровой движок (из написанных профессионалами для игроделов) и начинаешь спешно изучать его API и язык, C# - там, Python - ли.
(Либо делаешься писателем движков, редакторов и утилит, и мучаешь DirectX SDK)
warzesДата: Среда, 24 Октября 2012, 05:30 | Сообщение # 13
участник
Сейчас нет на сайте
Quote (Modelkin)
Для начала, выброси книги по изготовлению игр на OpenGL или DirectX. Что взять с книги, в которой автор врет уже на обложке. На OpenGL и DirectX сурьезные игры не делают.

А особенно не слушай людей которые врут в ответе темы. Серьезные игры как раз таки делают не на готовых движках а на чистом OGL и DX, просто во время этой работы появляется нечто что называют движком. Скачай Doom 3 и посмотри как там смешан код игры и движка, скачай исходники Arx Fatalis там вообще такого понятия как движок нет, есть несколько модулей выполняющих определенную работу. Это только шлак и казуал делают на юнити и UDK (не unreal engine, это разные вещи)

Quote (Modelkin)
Забей на "Microsoft DirectX SDK", на ближайшие полгода.

Я когда-то тоже забил, теперь жалею о потраченном годе и имею религиозную ненависть к OGL, а не забил бы, сейчас бы оба юзал, потому что OGL 3 и DX11 очень подобны по принципу работы...
Ну и коронный ответ для новичков ломающий им мозги - OpenGL, это не библиотека а спецификация и ее скачать нельзя, очень бесит (кстати С++, это тоже спецификация в виде книги, но почему-то никто так не отвечает, и когда спрашивают где скачать, дают сайты на компиляторы). А DX SDK, пошел, скачал и не надо мучаться со всякими glext.h, что для новичков вообще непосильно - ибо требует знаний спеков, которых у них еще нет. Ах да, бесполезная литература где везде и всюду рисуют через glBegin-glEnd, ничему кроме повреждения мозга не научит, потому что основы компьютерной математики надо учить общно, через специальные книги (так и называются - компьютерная математика)

Quote (Modelkin)
Скачай и начни с RenderMonkey

ну и зачем ему это? Крайзисы писать еще рано, паперы он еще не сможет читать, так что шейдеры ему особо и не нужны

Quote (Modelkin)
Думаешь удастся избежать знакомства с готовыми движками? Можно ли стать писателем не читая книг? Придется присмотреться к готовым движкам и убедиться в убогости своего.

dry угу-угу. Только нужно не движки сравнивать а игры писать, а то доходит до глупости у некоторых - делать крестики нолики на UDK или шутеры на Unity, только потому что UDK/unity - это круто.

Вообще дам такой совет, не заморачивайся над движками...Для создания игры вообще не нужны такие монстры как UDK/unity. Просто садись и пиши игру, если будешь правильно соблюдать ООП, то часть кода сама превратиться в будущий движок, и да - он на фоне UDK/unity будет казаться убогим, но вот свою задачу он будет выполнять на 125% круче чем они, потому что свой, и потому что полностью заточен под игру с учетом всех игровых фишек.

Quote (Modelkin)
И выбираешь себе свой первый игровой движок (из написанных профессионалами для игроделов) и начинаешь спешно изучать его API и язык, C# - там, Python - ли.

Вот так и появляется очередной никому не нужный игростроевец, потому что в серьезных компаниях как раз таки никому не нужны unity специалисты, там свои собственные движки, порой до такой степени убогие что без хороших навыков написания движка с нуля, просто нереально с ними работать. У меня есть один знакомый, устроился в одно отделение юбисофта, там юзали лицензированный Unreal Engine (не UDK, кстати, легко можно нагуглить за 2004 год исходники этого движка), так он такое писал об коде движка с которым ему приходилось работать... а ведь был простым junior


Мой блог
Вики DirectX
ModelkinДата: Среда, 24 Октября 2012, 07:09 | Сообщение # 14
почетный гость
Сейчас нет на сайте
Quote (warzes)
Серьезные игры как раз таки делают не на готовых движках а на чистом OGL и DX, просто во время этой работы появляется нечто что называют движком.
Ага, сели, значит, геймдизайнеры, моделеры, художники и программисты все за DirectX и через месяц - раз, движок обрисовался. И ну пошли все толпой, теперь, моделировать надо! biggrin
warzes, желание найти как можно больше чему бы там еще возразить, мешает правильно воспринимать написанное.
IgnisFatuus, меня вынуждают повторить - или движки - или игры. На то и другое, в современных играх, еще ни у кого не хватило сил и времени.

Quote (warzes)
потому что в серьезных компаниях как раз таки никому не нужны unity специалисты
Для хорошего специалиста по Unity найти работу - раз плюнуть. А работая в отрасли, двигаться в ней гораздо легче, чем мечтая и возясь со своим никому не нужным движком. Знать технологию чистого API это немалый плюс и лучше знать, но это еще не повод брать тебя на работу.

В общем, не хочу тут разводить лишнего как маленький. Жаль только, что помешали наставить человека на путь, и оставили его вновь разминать ноги на распутье, просто из желания поспорить, увидев что-то, что противоречит собственным представлениям, знаниям и заблуждениям.

IgnisFatuus, качай RenderMonkey. Никто не просит сразу писать крутые шейдеры, но сам убедишься - со стороны шейдеров и математики, зная уже принцип работы железа с визуализацией. последовательность процесса рендеринга, войти в эту тему легче и быстрей.
warzesДата: Среда, 24 Октября 2012, 08:37 | Сообщение # 15
участник
Сейчас нет на сайте
Quote (Modelkin)
Ага, сели, значит, геймдизайнеры, моделеры, художники и программисты все за DirectX и через месяц - раз, движок обрисовался. И ну пошли все толпой, теперь, моделировать надо!

И? Что по твоему делается первые два месяца проекта? Геймдизайнеры пишут диздок, и если команда не школоло, то диздок даже первый набросок, это месяцев 2-3 и страниц от 200 до 1000, за день не написать. Можешь убедиться, поищи doom bible. Это одна из первых концепций первого doom. То есть это даже еще не диздок (тем более Кармак отказался от того что там написано), это концепция (то есть виденье) одного из разработчиков, и она на 79 страниц А4. Ты всерьез считаешь что такое можно за день написать? А ведь с этого теперь надо диздок писать. А с диздока - технические спецификации одну для программистов и одну для моделеров/художников. Все это - время которое вполне хватит набросать движок игры программистам, а сценаристам написать сюжет.

Quote (Modelkin)
Для хорошего специалиста по Unity найти работу - раз плюнуть. А работая в отрасли, двигаться в ней гораздо легче, чем мечтая и возясь со своим никому не нужным движком. Знать технологию чистого API это немалый плюс и лучше знать, но это еще не повод брать тебя на работу.

Сама наивность... Вот только чего это на собеседованиях спрашивают не количество игр сделанных на конструкторе или псевдодвижке, а что такое О() или какой контейнер использовать при таких-то условиях, или различия между стеком и очередью. Все просто - скриптовики (а именно так называются программисты, пишущие на готовых движках, потому что пишут они не код а скрипты которые выполняются движком) мало востребованы и среди каких-нибудь модмекеров (так, чтоб ты не доказывал что типа никакие на юнити не скрипты - warcraft 3 имеет свой язык jass, он на столько мощный, что позволяет выполнять любую задачу, и даже юзать ООП, но вот скриптом он от этого не перестал быть) их больше и при этом ЧСВ у них пониже (ибо программистами себя не считают).

Это рынок, никого не волнует сколько ты там игр на юнити наделал, работодателя волнует только то как ты будешь справляться с ЕГО работой. Потому что если фирма серьезная, то у нее давно есть своя база наработок, и ты тут приходишь такой весь с десятком игр на юнити, а тебе дают задание - "мы расширяемся, вот игра на DX9, портируй ее на линукс (или там андроид), ничего больше не надо, лишь бы запускалась..." Ну и? Что ты будешь делать со своими десятками сделанных на юнити игр? С нуля на юнити соберешь? Тебе за это не заплатят, а знаний как это все работает изнутри у тебя нет, за тебя все это юнити делал

Добавлено (24.10.2012, 08:33)
---------------------------------------------

Quote (Modelkin)
В общем, не хочу тут разводить лишнего как маленький. Жаль только, что помешали наставить человека на путь, и оставили его вновь разминать ноги на распутье, просто из желания поспорить, увидев что-то, что противоречит собственным представлениям, знаниям и заблуждениям.

истинный путь, это всегда самый сложный. То что на юнити игру можно собрать за месяц - это не истинный путь... Разработчики игр умнее школоло которое ведется на рекламу unity. Наисание своего движка - это как минимум еще один человек в штате команды (на самом деле больше - один с шейдерами работает, второй портированием, третий инструментарием). Лишние люди, это лишние убытки, зарплату ведь надо платить, и движкописатели, это часто очень опытные люди, а значит и зарплата у них от 3000 $. Движкописательство это долго. Допустим у нас 3 чела, платим 2000 за 6 месяцев, это если перевести в рубли 1080000 рублей. То есть один миллион за один только движок. И несмотря на такие расходы, что-то мало кто из ААА игр лицензируют движок. Или вон для чего в TES Skyrim был написан свой движок, если и движок Oblivion можно было чуть подкрасить и использовать?

Возможно в другой вселенной и будут делать игры только в unity, но сейчас, если хочешь заниматься чем-то большим в будущем, чем фермами для вконтакта и мобильным мусором, не стоит думать что одного unity достаточно чтобы стать крутым разработчиком

Добавлено (24.10.2012, 08:37)
---------------------------------------------
Хотя, да, пусть изучает unity, меньше конкуренции будет, чем меньше толковых программистов, тем больше на них цена, а то с 2005 (когда еще не было бесплатных движков) слишком их что-то много стало, надо уменьшить


Мой блог
Вики DirectX
IgnisFatuusДата: Среда, 24 Октября 2012, 08:39 | Сообщение # 16
частый гость
Сейчас нет на сайте
Товарищи... Я сейчас думаю и просто не знаю что делать... Был план - самому написать сначала 2Д а потом 3Д игрушку по одному коротенькому рассказу. Теперь уже хз что делать...
systemДата: Среда, 24 Октября 2012, 09:38 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
IgnisFatuus, тебя просто запутали) я придерживаюсь мнения, что тебе реально надо писать игрушку свою с нуля, не используя никаких сторонних движков, OGL это мультиплатформенная библиотека, писать под андроид под айос, под линукс и винду писать одинаково (по сложности); DirectX это только для винды, ну максимум что ты сможешь это портировать под линукс своё творение... Выбор за тобой, во всяком случае оба варианта это достаточно мощьные системы, с помощью которых не одну отличную игру сделали happy
ЗЫ уже сейчас начинают делать игры которые и на мобильной платформе и на пк смотрятся одинаково, да и в скором будущем мморпг будут работать так что имея смартфон можно будет играть с соперниками на пк


Сообщение отредактировал system - Среда, 24 Октября 2012, 09:39
IgnisFatuusДата: Среда, 24 Октября 2012, 11:03 | Сообщение # 18
частый гость
Сейчас нет на сайте
Я бы пообщался с кем-нибудь в скайпе или по ICQ (сейчас на работе => только сообщениями, а вечером можно и в войсе) и просто разузнал бы все. Рассказал бы подробно планы и задумки, быть может кто-нибудь скорректировал бы меня.

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

В общем если есть у кого пара минут - может постучитесь в асю - 347-854-741 или Скайп Victrina2 ?

К стати - я не в курсе по поводу новых веяний, но зачем под линукс портировать игры? Большинство геймеров сидят по виндой/Маком. Или я не прав?


Сообщение отредактировал IgnisFatuus - Среда, 24 Октября 2012, 13:56
systemДата: Среда, 24 Октября 2012, 13:59 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
Quote (IgnisFatuus)
К стати - я не в курсе по поводу новых веяний, но зачем под линукс портировать игры? Большинство геймеров сидят по виндой/Маком. Или я не прав?

ну ведь ты написал что разрабатываешь под линукс...
IgnisFatuusДата: Среда, 24 Октября 2012, 14:34 | Сообщение # 20
частый гость
Сейчас нет на сайте
Это работа.... ) Тут просто железяки линуксом рулятся, вот и софт под линукс. )
Форум игроделов » Программирование » C/C++ » Мануал по созданию игры
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг