Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Посоветуйте книги для изучения

Посоветуйте книги для изучения

Поделиться

Страницы: 1 2 3 Следующая

nuke_birdНовичокwww8 ноя. 201714:03#0
Наверное, нет ничего необычного в том, что всегда найдется человек лучше тебя. Но встреча с подобными людьми заставляет меня прокрастинировать: "он лучше меня, а вот с завтрашнего дня я сделаю то-то, чтобы рано или поздно стать лучше!". Самое печальное в этом то, что все эти идеи быстро забываются. Чтобы избежать этого, я завел себе TODO блокнот, в который записываю все свои планы (и не важно насколько они несбыточны)

Наличие такого TODO-блокнота немного помогло, я стал больше делом заниматьcя (и видеть результаты!). В планах ещё завести блокнот для заметок, но это уже отдельная история

В общем, подойду ближе к делу: какие книги для изучения вы можете посоветовать мне? Как подойти к их изучению? Можно ли читать несколько книг одновременно?
Неудачно подобранные книги и (или) система их изучения может убить все желание продолжать читать книги. Особенно я не уверен, что осилю серьезные математические книги, написанные на сухом, строгом, формальном языке


Программирую на С++, чисто для души (да, у крестоновцев есть душа! хдд). Хотел бы:

1. Улучшить качество кода, в том числе его удобочитаемость

2. Поднять скилл проектирования архитектуры ПО

3. Понять "математику". У меня есть базовое (возможно, слегка заниженное) понимание на уровне школьной программы, я понимаю как работают матрицы и векторы (хотя не все помню наизусть, некоторые вещи написаны в коде единожды и я забываю о внутренней реализации), пытался поверхностно понять кватернионы. Периодически на этом форуме происходят математические баталии, и, к сожалению, я не всегда понимаю откуда берутся те или иные формулы и как их использовать. Хочу стать более эрудированным в данном вопросе

4. Понять "физику". Всегда боялся подходить близко к физическим движкам. А все потому, что я хорошо знаю лишь некоторые разделы физики, а вот с остальными разделами большая беда. Неплохо было бы совместить изучение физики с написанием игрушечного физического движка :) Физика твердых/мягких тел, скорость, ускорение, физика газов, механика - вот это все (и возможно даже больше)

Буду рад любым вашим советам. Желание у меня простейшее - стать хорошим специалистом, прыгнуть "из грязи в князи" :))

С наилучшими пожеланиями, NukeBird

Правка: 8 ноя. 2017 14:20

ВасянУчастникwww8 ноя. 201714:34#1
Хант Эндрю "Программист-прагматик".

На Хабре где-то видел список литературы рекомендуемый к прочтению.

GermanAizekПользовательwww8 ноя. 201716:51#2
Я по крайней мере советую книги по C, C++, Asm Шилдта.
nuke_birdНовичокwww8 ноя. 201717:15#3
GermanAizek
> Я по крайней мере советую книги по C, C++, Asm Шилдта.
Все базовые конструкции языка С/С++ я знаю, а все детали и ньюанасы (фикс: языковые ньюансы, т.е. ньансы языка как такового) я пытаюсь выведать через личный опыт (практику), справочники. Иногда прибегаю к так называемым "cookbook'-ам, там иногда показывают довольно красивые трюки со стандартными STL'овыми алгоритмами. С TASM/FASM/NASM тоже знаком, в состоянии по крайней мере написать змейку или крестики-нолики. Меня больше интересует идеологическая часть вопроса:

1)как разработать красивое API?

2)как сделать код удобночитаемым?

3)какую систему именования функций/классов/полей/методов/файлов/папок лучше использовать? Почему?

4)как структурировать проект/систему? (примеры)
4.1)общая структура проекта (где хранится код/документация/билды/тесты/примеры/уроки/... и почему)
4.2)подразделение кода на отдельные компоненты (та же библиотека SFML имеет подразделение на Audio/Graphics/Main/Network/System/Window. Иногда подразделение может оказаться куда сложнее и запутанней, вот мне и хочется почитать про хорошие практики, намотать часть на свой ус)

5)какие архитектурные решения уже существуют (те же шаблоны проектирования)? Как их лучше использовать? Когда их лучше НЕ использовать? (я читал массу статей на хабре и gameprogrammingpatterns.com , но мне хочется окунуться в детали)

Васян
> Хант Эндрю "Программист-прагматик".
Там больше рассмотрены вопросы философии? Или конкретные примеры-пояснения тоже содержатся в этой книге?

Васян
> На Хабре где-то видел список литературы рекомендуемый к прочтению.
Буду очень признателен, если найдете ссылку. Поблагодарю дважды - если сделаете ревизию тех книг, которые вы уже успели пролистать/прочитать :)

Правка: 8 ноя. 2017 17:21

ZabПостоялецwww8 ноя. 201717:35#4
Если есть хотя бы три года опыта программирования, читай: Буч "Объектно-ориентированный анализ и проектирование".
Для ознакомления со всей физикой, по верхам, без базового владения высшей математикой: Ландсберг "Элементарный учебник физики".
ВасянУчастникwww8 ноя. 201717:50#5
nuke_bird
> Буду очень признателен, если найдете ссылку.
https://habrahabr.ru/company/plarium/blog/328712/
Нашёл ссылку и чё-то я немного разочарован тем, что там. Но в любом случае, там в комментариях можно посмотреть, что народ ещё советует почитать.

nuke_bird
> Там больше рассмотрены вопросы философии? Или конкретные примеры-пояснения тоже
> содержатся в этой книге?
Примеров там нет. Есть только воспоминания автора.
Я даже не помню, дочитал ли я её до конца. Но помню точно, что после этой книжки я стал несколько по другому смотреть на рефакторинг, на повторное использование кода, на написание вспомогательных утилит. А ещё после книжки очень хотелось изучить flex+bison, но руки так и не дошли. Вряд ли это какая то панацея, но узнать мнение автора в вопросах, в которых он компетентнее меня, мне было интересно.

На остальные вопросы не отвечу. Книги читаю редко. В голове откладывается не много.

nuke_birdНовичокwww8 ноя. 201717:57#6
Васян
> Примеров там нет. Есть только воспоминания автора.
> Я даже не помню, дочитал ли я её до конца. Но помню точно, что после этой
> книжки я стал несколько по другому смотреть на рефакторинг, на повторное
> использование кода, на написание вспомогательных утилит. А ещё после книжки
> очень хотелось изучить flex+bison, но руки так и не дошли. Вряд ли это какая то
> панацея, но узнать мнение автора в вопросах, в которых он компетентнее меня,
> мне было интересно.
а, ну раз так то я могу её попробовать почитать как книжку на ночь =))

Спасибо, добавлю в TODO!

Zab
> Если есть хотя бы три года опыта программирования, читай: Буч
> "Объектно-ориентированный анализ и проектирование".
> Для ознакомления со всей физикой, по верхам, без базового владения высшей
> математикой: Ландсберг "Элементарный учебник физики".
Я стал программировать (С++ - мой первый язык) с 2009 года. Вот до сих пор на С++ сижу, хоть и проводил сравнительный анализ с другими языками

За книжки спасибо, проведу сравнительный анализ! По крайней мере, заголовки книг звучат солидно

Правка: 8 ноя. 2017 17:57

GermanAizekПользовательwww8 ноя. 201719:28#8
> 1)как разработать красивое API?

> 2)как сделать код удобночитаемым?

> 3)какую систему именования функций/классов/полей/методов/файлов/папок лучше использовать? Почему?

> 4)как структурировать проект/систему? (примеры)
> 4.1)общая структура проекта (где хранится код/документация/билды/тесты/примеры/уроки/... и почему)
> 4.2)подразделение кода на отдельные компоненты (та же библиотека SFML имеет подразделение на Audio/Graphics/Main/Network/System/Window. Иногда подразделение может оказаться куда сложнее и запутанней, вот мне и хочется почитать про хорошие практики, намотать часть на свой ус)

> 5)какие архитектурные решения уже существуют (те же шаблоны проектирования)? Как их лучше использовать? Когда их лучше НЕ использовать? (я читал массу статей на хабре и gameprogrammingpatterns.com , но мне хочется окунуться в детали)

Окей гугл.

nuke_birdНовичокwww8 ноя. 201719:32#9
0iStalker
> https://tproger.ru/books/cpp-books-definitive-guide/
Похоже на хорошую подборку, вопрос про книги по С++ исчерпан :)


GermanAizek
> Окей гугл.
Окей гугл:

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

2)куча книг, каким верить и какие лучше для восприятия - без понятия. Рецензии и коментарии на них могут быть фальсифицированы. Пробовать все и сравнивать между собой - значит тратить драгоценное время

Окей яндекс?

RikkПостоялецwww9 ноя. 20170:30#10
nuke_bird
SuslikМодераторwww9 ноя. 20176:33#11
nuke_bird
я не видел ни одной книги, которая может научить программировать. чтобы научиться программировать, надо программировать. конкретные области изучаются по конкретным статьям. например, стало интересно, как рендерить мягкие тени — гуглишь и читаешь. в одной книге всё вместе не уместишь.
CasDevПостоялецwww9 ноя. 20177:21#12
nuke_bird
Мне в 2005-07 годах очень понравились книги Саттера. Он в них хоть и не раскрывает тему, но пинки к изучению даёт. После их прочтения у меня появилось понимание того, как делается архитектура проекта в целом.

Но вообще хороших книг именно по архитектуре мало. В основном черпается с чужих проектов что-то новое.

nuke_birdНовичокwww9 ноя. 201710:23#13
Suslik
> nuke_bird
> я не видел ни одной книги, которая может научить программировать. чтобы
> научиться программировать, надо программировать. конкретные области изучаются
> по конкретным статьям. например, стало интересно, как рендерить мягкие тени —
> гуглишь и читаешь. в одной книге всё вместе не уместишь.
Так а кто же спорит? Я программирую и читаю статьи каждый день. Но мне хочется получить чуть-чуть больше теории, и желательно концентрат.
Разве это плохо - желать чуточку большего? В книгах содержатся идеи - много идей. Мне остается лишь впитывать информацию и складывать своё личное мнение из мелких кирпичиков

CasDev
> Мне в 2005-07 годах очень понравились книги Саттера. Он в них хоть и не
> раскрывает тему, но пинки к изучению даёт. После их прочтения у меня появилось
> понимание того, как делается архитектура проекта в целом.
> Но вообще хороших книг именно по архитектуре мало. В основном черпается с чужих
> проектов что-то новое.
Герб Саттер?

Я, кажется, знаком с одной из его работ: "Effective Concurrency in C++", но вот других книжек не встречал. Какие книги ты уже читал и какие можешь рекомендовать?

Правка: 9 ноя. 2017 10:41

gudleifrПостоялецwww9 ноя. 201711:02#14
nuke_bird
> Но мне хочется получить чуть-чуть больше теории, и желательно концентрат.
Ну, как бы, знание теории противоречит хотению концентрата.

nuke_bird
> Так а кто же спорит?
Дык, кроме цеховой формы обучения, существует университетская.

Страницы: 1 2 3 Следующая

/ Форум / Программирование игр / Общее

2001—2017 © GameDev.ru — Разработка игр