пятница, 1 июля 2011 г.

Вот так вот сессия кончится, а у тебя есть что почитать. ;)

Решил написать тебе список кое-каких ресурсов, откуда можно почерпнуть кое-какие сведения. :)

Исхожу от предпосылок, что тебя интересует:
  1. Разработка компьютерных игр
  2. Веб-разработка
Как и меня.

По веб-разработке.

Верстать HTML+CSS+JS можно легко научиться по Opera Web Standards Curriculum. Там учат только best practices, ты будешь в хороших руках. :)

Справочник по HTML+CSS, который я считаю нормативным, это htmlbook.ru
Умение аккуратно пользоваться CSS приходит только с опытом.

По яваскрипту есть замечательный сайт учебного характера javascript.ru. Кроме этого, только сегодня нашёл огромный гайд по Javascript от Mozilla Foundation,  он такой огромный, что я уверен, дочитав его до конца, становишься гуру жабоскрипта. :) Справочник по яваскрипту как таковой отсутствует, потому что большая часть функций берётся из DOM, здоровенного трёхуровневого словаря функций, предназначенных для работы с HTML-страницей.

Сам я чистым яваскриптом почти никогда не пользуюсь, пользуюсь jQuery. Вот справочник функций jQuery. К jQuery написаны также две дополнительные большие библиотеки -- это jQuery UI, и jQuery Tools. jQuery Tools используется в моей работе постоянно, потому что всем нужны слайдеры и всплывающие диалоговые окна. :)

Только после полноценного знакомства с традиционным HTML десятилетней давности, рекомендую переходить на чтение HTML5 — Edition for Web Developers. Сам я только ещё готовлюсь к этому шагу в будущее, потому что IE 6, 7 и 8 и даже 9 поддерживают HTML5 никак. :(

Для работы на бэк-энде тебе настоятельно мною рекомендуется язык PHP, и, соответственно, "официальный" гайд по PHP (сам я его никогда не читал полностью, только частями). Если у тебя уже развёрнут XAMPP и ты можешь добраться до index.php в каталоге сервера через http://localhost/index.php, то уже можешь начинать кодить на PHP, всё нужное уже настроено и работает. :)

В качестве каркаса для веб-приложений на PHP я очень-очень рекомендую Yii, это зверский очень удобный, но очень хардкорный каркас. Нахрен Джумлу. Вот руководство по Юи, в виде туториала от простого к сложному. Хотя предупреждаю, что Юи --- это не система управления контентом, а каркас веб-приложения (одним предложением: админку придётся делать самостоятельно).

Впрочем, в России огромное количество коммерческих сайтов сделано на 1С-Битриксе. Кучу денег может принести одно только сопровождение веб-сайтов, построенных на 1С-Битриксе. Поэтому, становятся крайне полезными два справочника: документация для разработчиков и пользовательская документация. В этих священных писаниях собрано описание всех внутренностей Битрикса.

Возможно, для настройки веб-сайта в XAMPP тебе пригодится моя статья про настройку локального Apache на виртуальные хосты. ;) Хотя вряд ли, если честно.

До сих пор при вёрстке веб-сайтов приходится учитывать особенности Интернет Эксплорера, вот статья про то, как справляться с некоторыми самыми частыми багами IE6, вот полная коллекция багов IE6,7&8. Кстати, само по себе зрелище то ещё. :)

По созданию дизайна веб-сайта в Фотошопе вот тебе три сборника ссылок (с картинками): первый набор туториалов по рисованию сайтов, второй набор туториалов, третий набор. Это я ещё сам не читал, будете с Ингой меня превосходить. :)

Про веб-разработку вроде всё вспомнил.

По разработке компьютерных игр.

Здесь пойду в обратную сторону.
Недавно в Сети нашёл замороженный проект perfectstorm --- один парень делал RTS на Common Lisp с использованием OpenGL. Я выпросил у чувака исходники и успешно их скомпилировал. В моей голове роятся мысли о том, чтобы изучить эти исходники и понять, как оно вообще работает --- там в проге по полю двигаются юниты, стреляют друг в друга, выделяются рамочкой и есть рудиментарный AI с pathfinding'ом, вполне себе RTS.


Для понимания того, как это работает, надо знать две технологии. Первая это сам язык Common Lisp, вторая это OpenGL.

Для понимания того, зачем именно Common Lisp, рекомендуется вот эта статья и вот эта статья и вот эта самая большая и подробная статья. Для изучения Common Lisp рекомендуется книга Practical Common Lisp, доступна вся онлайн, я прочитал уже 19 глав.

Для изучения OpenGL я нашёл для себя OpenGLBook.com, это сборник из 4 огромных статей, показывающих "на пальцах", каково это --- программировать компьютерную графику с использованием OpenGL.
Вообще я так понял, что в первую очередь нужно знать, как делается графика в играх, потому что это самое сложное и комплексное (и востребованное), а потом уже всё остальное.

Есть две технологии работы с компьютерной графикой: использование OpenGL и использование DirectX. DirectX, понятное дело, работает только на Windows. Однако, для него есть такая штука, как DirectX Software Development Kit (DirectX SDK), который свободно можно скачать и пользоваться. Там должен быть компилятор сразу, куча туториалов, документация --- всё, что хочешь. У фирмы Nvidia есть Nvidia Graphics SDK, он, должно быть, учитывает особенности их видеокарт, но я думаю, можно покопаться в коде и запустить его и под ATI'шной видюхой.Есть и Nvidia SDK для DirectX и Nvidia SDK для OpenGL. У ATI(AMD) ничего подобного не нашёл.

Собственно, пока только эти две книги по кодингу читаю. Когда вкурю, что к чему, дам больше ссылок.

Так как я хочу делать мультиплатформенные игры и вообще программы, то возникает вопрос ещё о том, как выводить GUI (есть разные библиотеки) и звук. :)

Пока всё, успехов там.

Марк
29 июня 2011
04:11