Книги програмування ігор, які не навчають програмуванню? [зачинено]


29

Я звичайний програміст зі стажем роботи близько 3 років, який зацікавлений в розробці ігор. Проблема, з якою я стикаюся, полягає в тому, що, дивлячись на ці книги для початківців, більшість з них викладають основні навички програмування, і я не маю терпіння просидіти її чи вважати їх корисним. Але, коли я дивлюся на більш досконалі книги, вони над головою, і ще раз, безрезультатно для мене. Що я шукаю, - це книги, що пояснюють нутро-зернисті внутрішні ігри, але на більш розумному рівні.

Наприклад, я дуже добре знайомий зі всіма структурами даних (хешами, деревами, пов'язаними списками) та багатьма загальними алгоритмами (сортування, пошук), але я не знаю, як, скажімо, ефективно реалізувати виявлення зіткнень. У мене також є досвід використання іноземних бібліотек, тому я знаю, як використовувати документацію для вивчення API, тому мені також не потрібна книга "Навчитися використовувати X".

Особисто мені байдуже, які платформи / мови / бібліотеки використовуються в книгах, оскільки мені зручно на багатьох мовах, але гра, яку я дивлюся, використовувала б Javas та HTML5 полотно.

Будь-які пропозиції? Будь-які, які є безкоштовними?

PS Я повинен зазначити, що мій рівень математики та фізики порівняно низький, і книга, яка м'яко інтегрувала ці речі, була б плюсом.

EDIT: Я мушу зазначити, що мене цікавить 2D програмування, і на даний момент я ще не дуже переймаюся 3D.


1
Ви спробували прокрутити / гортати повз сторінки з речами, які ви вже знаєте?
Ricket

Відповіді:


11

Ви подивилися серії ігор для програмування ігор? Це може дати вам специфіку, яку ви, здається, просите. На HTML5 / полотні не так багато книг, оскільки це зовсім нове, особливо це стосується ігрового програмування.


9

Який аспект ігрового програмування вам цікавий? Існує досить багато книг, які обговорюють конкретні аспекти ігрового програмування. Розпочати гру і запустити не складно, і будь-яка логіка гри подібна до того, як ви керуєте даними для будь-якого іншого додатка, можливо, трохи більше стосується швидкості виконання. Потрапити в такі речі, як графічне програмування, може бути зовсім іншим. Почніть з базової основи гри, а потім зосередьтеся на одній області, яка вас цікавить, наприклад, розробити надійну бойову систему або синхронізувати анімацію чи шейдери.

Книги із загальною інформацією, які я вважаю корисними:

Ви, мабуть, перебуваєте на етапі, де ви отримаєте найбільше інформації, переглянувши різні публікації підручників для конкретних двигунів в Інтернеті. Також є достатня кількість пристойних ігор з відкритим кодом, які ви можете перевірити.

Одна цікава річ, яку можна вивчити, може бути Monocle Engine .


Редагувати :

Що стосується математики, я також трохи хитнусь щодо своїх основ. Хорошим ресурсом для цих загальних предметних областей є Академія Хана .

Для інших безкоштовних матеріалів просто перегляньте GameDev.net та, можливо, статті MSDN для XNA.


6

Якщо ви впевнені в об'єктно-орієнтованому програмуванні, вам слід переконатися, що ви підберете щось, що охоплює компонентно-орієнтований дизайн. Це підхід програмування в рамках OOP, який є дуже потужним в розробці ігор і став стандартним підходом протягом останнього десятиліття.

Два ресурси, які зробили великий внесок у моє розуміння ХПК:

Є відповідь на тему Stack Overflow, яка містить неймовірний перелік ресурсів: інженерія програмного забезпечення на основі ігрової літератури .

Примітка: COD використовується не тільки в розробці ігор. Ви можете знайти ресурси, що пояснюють COD в абсолютно різних контекстах, що зовсім не обов'язково буде корисним для розуміння ролі, яку він відіграє в іграх (YMMV).


6

Я додам сюди розсип назв:

Архітектура ігрового двигуна Джейсона Грегорі (Naughty Dog) для загального огляду двигуна ігор на досить детальному рівні.

Крістер Ерісон (Бог війни) у режимі реального часу для виявлення зіткнень у режимі реального часу для глибокого та всебічного огляду систем виявлення зіткнень.

Візуалізація в режимі реального часу Томасом Моллером та Еріком Хейнсом для аналогічної глибокої обробки візуалізації.


5

Рекомендую ознайомлення з ігровим програмуванням за допомогою DirectX 9.0c: Шейдерний підхід Франка Луни. Він також доступний для D3D10, якщо вам цікаво. Книга передбачає базові знання C ++, але нічого специфічного для гри та жодного COM, і починається з різних математичних основ, таких як вектори та матриці, і досить обережно веде користувача через налаштування ігор від базового до проміжного. Зрозуміло, що з плином часу все змінюється - наприклад, він не навчає апаратних інстанцій та інших порівняльно нових оптимізацій .


Хоча, враховуючи суттєві зміни між 9 і 10, я б зараз перейшов до версії для DirectX 10.
Джон Робертсон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.