Войти
ПрограммированиеФорумОбщее

Вопрос по литературе и с чего начать

Страницы: 1 2 Следующая »
#0
8:29, 6 июня 2016

Доброго времени суток. Хочу попробовать себя в разработке игр, но принципиально не хочу использовать уже готовые движки. В целях саморазвития в программировании хочу написать его сам. Но не знаю с какой стороны подойти к этому вопросу. На данный момент учу в институте С++ и самостоятельно читаю книгу. Есть идея сделать простую 2D игру. Просьба помогите с выбором литературы и от чего отталкиваться.


#1
9:02, 6 июня 2016

Попробуй здесь:
http://www.amazon.com/Engine-Architecture-Second-Jason-Gregory/dp/1466560010
и здесь:
http://gameprogrammingpatterns.com/

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

#2
9:38, 6 июня 2016

По c++:
1. Любую книгу по основам C++
2. Страуструп спец издание.
3. Скотт Майерс, у него 3 книги с советами по C++ и книга по stl. Читать все.
4. http://www.cplusplus.com/, http://cppreference.com/
5. Если хочется повыносить мозг или вникнуть в шаблоны -- Александреску современное проектирование на с++
6. Читать все подряд что будет интересно.

По архитектуре:
1. Банда четырех.
2. В свое время мне понравилась Фримен Паттерны проектирования. Можно почитать ее, потом банду.
3. Что нибудь по uml, рефакторингу, экстремальному программированию.

Не пиши движок, пиши игру, не пытайся свернуть горы и написать что то сложное. Начни с простого - тетрис, марио, танчики и т.д.
Если не хочешь брать движки, то библиотеки тебе в помощь.
Для ogl подойдут glm, glfw, glew, lodepng, для гуи подойдет imgui. Используй STL, хотят тут есть любители изобретения велосипедов. Используй boost.

#3
9:42, 6 июня 2016

denesik
Пропустил основы ассемблера.

denesik
> Используй boost.
Извините, а зачем?

#4
9:55, 6 июня 2016

Oskel
> Хочу попробовать себя в разработке игр
Наблюдая за парой игроделательных форумов, могу констатировать:
1. написание компьютерной игры никем не воспринимается как что-то интересное. "Ничего личного, только бизнес".
2. чем быстрее Вы пройдете этап "формирования портфолио", тем быстрее вольетесь в это сообщество (и получите возможность что-то поиметь с этого в денежном или афторитетном плане).
3. для скорейшего "формирования портфолио" ни в коем случае не пытайтесь делать что-то оригинальное/интересное. Самое тупое на самом тупом движке. Чем тупее, тем весомее будет Ваше авторитетное мнение: мол, когда я начинал таким же нубом, как вы убогие...
4. помогать Вам в подобном деле чем-то, кроме банальных советов, до которых Вы сами легко додумаетесь, никто не будет.

Так что, хватайте любую из случайно выложенных на форуме идей и делайте ее быстрее предложившего!

#5
10:03, 6 июня 2016

Сантик123
Действительно, про основы ассемблера забыл. Нужно что бы примерно понимать, во что будет компилироваться исходный код, для оптимизаций.

boost сильно упрощает жизнь, в нем есть некоторые незаменимые кроссплатформенные библиотеки - сеть, файловая система, сериализация, интересные контейнеры, загрузка библиотек. (boost::preprocessor, boost::mpl для наркоманов) Недаром много чего из boost ушло в stl.

#6
11:46, 6 июня 2016

denesik
> Действительно, про основы ассемблера забыл
про ассемблер была иррония

#7
11:57, 6 июня 2016

u960
> про ассемблер была иррония
Возможно, частично.
Но иметь представление о том, как программа выполняется процессором необходимо, не так ли?

#8
12:00, 6 июня 2016

Сантик123
> Но иметь представление о том, как программа выполняется процессором необходимо,
> не так ли?
Для C++-программиста - противопоказано.

#9
12:03, 6 июня 2016

gudleifr
> Для C++-программиста - противопоказано.
Заблуждения.
Например i++ и ++i вроде бы разные операторы, разный набор команд делают. А в большинстве случаев при компиляции с включенными оптимизациями оба оператора компилируются в одинаковый байт код.

#10
12:06, 6 июня 2016

Сантик123
> Но иметь представление о том, как программа выполняется процессором необходимо,
> не так ли?

Не так. Важнее понять и разобраться, что там с памятью происходит.

#11
12:07, 6 июня 2016

denesik
> Например i++ и ++i вроде бы разные операторы, разный набор команд делают. А в
> большинстве случаев при компиляции с включенными оптимизациями оба оператора
> компилируются в одинаковый байт код.
Это, как раз, пример того, почему С++-программисту знание машинного языка противопоказано.

#12
12:08, 6 июня 2016

gudleifr
> Для C++-программиста - противопоказано.
Почему? Изучая в школе Паскаль, имел большое недоумение, не представляя, как передаются аргументы в функции и тому подобное. Это раз.
Нет-нет, но иногда приходится лезть в ассемблерный листинг. Это два.

В такой интонации произносить подобные утверждения достаточно глупо.

#13
12:11, 6 июня 2016

gudleifr
> Это, как раз, пример того, почему С++-программисту знание машинного языка
> противопоказано.
Это пример того, что программист должен понимать когда и где какой оператор использовать, что б не было лишней ненужной нагрузки на проц.

#14
12:14, 6 июня 2016

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

Страницы: 1 2 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.