2009-06-19 4 views
6

Я относительно новичок на C++ и работал в игровой индустрии в течение нескольких месяцев. Я ищу, чтобы вернуться в отрасль и понять, что нужно быть очень хорошим программистом на C++ (в основном, bcos того, насколько конкурентоспособным является создание игр). Мне было интересно, есть ли действительно хорошие интернет-сайты, которые помогут в этом. В основном я ищу что-то, что помогло бы мне концепциям MASTER C++, а также помогло бы мне стать хорошим кодером через примеры программирования, которые я могу кодировать.C++ для игр

Благодаря Bi

+0

Возможный дубликат [The Definitive C++ Book Guide and List] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) –

ответ

8

GameDev.net.

В разделе «Ресурсы» есть раздел «Для начинающих». Прочитайте все это!

+0

Хороший ресурс и сообщество. Их канал irc обычно интересен. – CiscoIPPhone

2

www.gamdev.net - отличный ресурс для игрового программирования.

Я также рекомендовал бы Game Programming Gems Series.

Что касается овладения концепциями C++, кому лучше учиться, чем парню, который создал C++? Он написал следующее: C++ Programming Language

+0

В дополнение к игровым разработкам, есть серия графических камней, чтобы узнать об основных алгоритмах используемого вами движка или, если вы хотите их создать. И серия gpu gems, чтобы узнать, как программировать gpu для конкретных задач/оптимизаций. –

17

Книги Скотта Мейерса: «Эффективный C++», «Более эффективный C++» и «Эффективный STL» абсолютно необходимы для вас.

Добавить к этому «Современный дизайн на С ++» Андрея Александреску.

+1

+1. Честно говоря, это три лучшие книги на C++. По общему признанию, в игровой индустрии некоторые вещи не применяются, но это важные тексты. – rlbond

4

Я полностью рекомендую Brucke Eckel-х: Мышление в C++

Вы можете скачать бесплатно на своем веб-странице.

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

Это должно помочь вам освоить C++, а оттуда вы можете начать чтение кода из двигателей, как Ogre3D, что было бы лучше учиться.

Позже вы должны проверить книги с GameDev.net, они действительно классные. Но, на мой взгляд, статьи, найденные в GameDev, устарели.

+0

Я бы тебя, если бы не добрался до моего предела сегодня, лучший способ продолжить развитие как программист, прочитать код других людей. Это может привести к разработке резюме, если вы вносите свой вклад в Open Source при этом. – marr75

+0

Изучение на примере - отличная практика;) – Veehmot

1

Вы должны проверить wildmagic на http://www.geometrictools.com/. Это хороший игровой движок с большим количеством примеров кода и связанных книг. Я бы очень рекомендовал его в качестве глубокого изучения игровых движков на C++.

+0

Воспользовавшись Wild Magic 1, 2 и 3 в течение нескольких лет, я не совсем уверен, что согласен. Эти двигатели очень хорошо демонстрируют математику рассматриваемой концепции, но обычно демонстрируют удивительно плохие принципы разработки и внедрения программного обеспечения. – ChrisV

1

Я узнал, C++ (не имея предыдущего опыта кодирования) со следующими книгами:

"C++ без страха" Брайан Overland

"Освой самостоятельно C++ за 24 часа" Четвертое издание

И

«Начало игры Программирование через C++» Second Edition Джонатан С. Харбор

Первый v ery хорошо и подробно, если немного медленно читать. Второй, который я использую в основном как ссылку, последний очень полезен и быстро читается, но довольно часто используется фраза «выходит за рамки этой книги».

+0

C++ Without Fear - это хорошо, но он не входит в STL (вообще), а в главе о строках сосредоточен cstrings, а не строковый класс std :: string. В противном случае, твердый выбор. – jkeys

+0

Я, как правило, содрогаюсь и отворачиваюсь от любой книги, которая утверждает, что научит вас чему-то в течение определенного короткого промежутка времени лично. –

+1

Я тоже учился на Teach Yourself C++ в 24 часа. Я все еще использую его как ссылку изредка. Я думаю, что это очень хорошее введение, но в нем есть действительно очень плохие практики. Любой, кто его читает, должен немедленно следовать ему с книгой о лучших практиках. – rmeador

2

Один из способов получить обратно и получать удовольствие в то же самое время, чтобы пройти через Nehe's OpenGL учебники, или с помощью базы игр высокого уровня, такие как Irrlicht или Ogre3D

6

C++ FAQ Lite хорошо. Вы можете многому научиться на этом веб-сайте, и есть также соответствующая книга, которая также хороша.

В книгах Скотта Мейерса содержатся также очень полезные рекомендации.

+0

C++ FAQ Lite действительно является отличным источником для понимания программирования на С ++ – ziggystar

10

Кто-то однажды сказал, что для изучения C++ требуется 10 лет. Обладая 14-летним опытом работы на C++ и все еще регулярно изучая новые вещи, я бы сказал, что это правда. Я бы не стал называть себя экспертом на C++ даже после моего значительного опыта. Не ожидайте, что овладеете им в одночасье ... вы пройдете через многие этапы, когда вы получите , вы получите его, тогда вы откроете для себя совершенно новый мир (из-за отсутствия лучшего термина, я считаю, что Ричард Докинз ссылается на это процесс как «повышение осознанности»). Я пришел к согласию, что еще одно из этих прозрений всегда впереди меня, поэтому я не называю себя экспертом.

Тем не менее, вы должны практиковать практику. Я буду вторым (или третьим, или четвертым, каким бы мы ни были сейчас) Gamedev.net. Я провел там много времени назад в день ...

+1

О да.Каждый раз, когда вы думаете, что знаете все это, появляется новая ошибка. Как только вы это осознаете, вы осознаете, насколько вы были испорчены. Этот процесс продолжается бесконечно. :) –

+0

+1, я не получил stl, прежде чем изучать haskell в первую очередь. : D –

+0

Если вам понадобится десять лет, чтобы изучить C++, я думаю, что есть проблема ... – user275587

0

выше хорошие предложения для изучения C++ и игры ...

Я дам вам рекомендацию для программного обеспечения, если вы просто хотите, чтобы сделать игры без большого программирования фона ...

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

Программное обеспечение:

Gamemaker

http://www.yoyogames.com/make

The Games Factory 2

http://www.clickteam.com/eng/tgf2.php

Книги

Изображение Самостоятельно Создание видео игр, 1st Edition

Высокий Создание игры: Нет необходимости программирования, третье издание

сделать удивительные игры в считанные минуты, первая редакция

Удачи вам ...

5

C++ это отличный язык, и я люблю его. Он строит смехотворно быстрый код. Благодаря хорошему использованию профилировщиков, оптимизаторов, управляемых профилем, оптимизаторов интермодуля, констант и ограничений ключевых слов, MMX/SSE/векторных свойств и других вещей, он может создавать смехотворно быстрый код.

Возможно, у вас есть заметки о работе с крупными игровыми компаниями, а там - это много требований C++.

Это не единственный способ разработать игры. Я просто хочу представить некоторые альтернативы.

Microsoft .NET-материал работает очень хорошо. Проверьте их XNA platform.

Вы также можете написать удивительные игры даже на Java. Существует Java version of Quake2, который может получить 1000 FPS в некоторых областях моей системы Core I7 дома. Большая часть тяжелой работы в OpenGL и графических драйверах, конечно.

Тонны людей пишут забавные игры во Flash, у которых производительность языка намного хуже, чем Java или .NET.

0

я рекомендую начинать с основ:

Язык программирования C, по Kernigan и Ричи. С этой книгой вы будете ближе к внутренностям C, чем к другим. Тогда вы можете пойти с книгами на C++.

1

The C++ Programming Language автор: Bjarne Stroustrup.

Я использую это по сей день. Он содержит краткие описания всех возможностей языка C++. Когда я ищу в Интернете эту информацию, она процветает за пределами ясного понимания. Бьярне действительно хорошо справился с четким определением всех принципов языка, и это необходимо. Я не читал всю книгу, но я читал подразделы.

(также дал голос для эффективного C++, STL Эффективное и Exceptional C++ (Sutter))

-3

Кажется, что еще никто не C++ FQA Lite Рекомендуемые. FQA означает «часто опрошенные ответы». Этот FQA называется «lite», потому что он задает вопросы, ответы на которые можно найти в C++ FAQ Lite.

Для меня C++ FQA Lite действительно является открывателем на C++.

+0

Почему downvoting? – Mikhail

+1

Почему downvoting? Потому что автор темы спросил о ** ресурсах ** **, а FQA - совсем другое дело. Автор FQA продвигает управляемую среду, которая обычно не является лучшим выбором для разработки игр. Несмотря на то, что FQA иногда имеет право говорить о языке, большую часть времени автор только извергает пламя. – milleniumbug

Смежные вопросы