Отправляет email-рассылки с помощью сервиса Sendsay

Программирование игр в Linux

  Все выпуски  

Programming Linux Games 01


Информационный Канал Subscribe.Ru


Programming Linux Games

Выпуск #1 (07.12.2003)

Вступительное слово:

Здравствуйте, уважаемый читатель! Уважаемый читатель, здравствуйте!!! Огромное тебе спасибо, за то, что ты добровольно согласился получать нашу рассылку. Как ты уже, наверное, заметил - это наш первый выпуск. Это самый важный выпуск.
О чем будет идти речь - понятно из названия. Я думаю, что ты, уважаемый читатель, имееш опыт разработки игр, а может и не имееш, но гориш желанием, что тоже неплохо. В любом случае тебе будет интересно, я надеюсь.
Мы не будем обсуждать актуальность разработки игр для Linux, потому как для нас это крайне актуально. К тому же, в нашем распоряжении множество превосходных средств и отлично документированная система. В добрый путь!

Искренне ваш, E$h

Источники информации:

В первую очередь, тебе следует обратить внимание на наш ресурс: "Programming Linux Games". Наш дружный коллектив искренне надеется, что этот сайт станет также и твоим, ведь для этого совсем необязательно изучать html и php и что-то делать, а достаточно просто присоединится к нашей команде. На сайте собрана уникальная коллекция документации (естественно по нашей теме) на русском языке. Есть документация и на английском. Есть форум, где можно обсудить насущные вопросы. Собрана коллекция ссылок на соответствующие ресурсы, большинство которых англоязычные. Сайт довольно молодой и постоянно развивается. Спонсорскую поддержку нам оказывает замечательная российская компания ALT Linux Team, за что им очередное спасибо.
К сожалению, в русском интернете сайтов данной тематики больше нет. Есть несколько интересных ресурсов общей тематики и/или касаемые разработки для ОС Win32. Называть эти сайты нет смысла, так как они достаточно известные и есть в нашей коллекции ссылок.
Еще одним важным источником информации будет эта рассылка. Мы ни в коем случае не будем дублировать статьи с сайта. Все будет свежее и эксклюзивное.

Орудия труда:

Для начала мы познакомимся с программами, которые нам предстоит использовать. Нам нужен редактор кода, компилятор, мультимедийные и другие библиотеки, графические и мультимедийные программы и другие средства. Начнем с редакторов.
Редакторов существует немеренное количество. Его выбор зависит исключительно от привычек программиста.

  • NEdit - Nirvana Editor http://www.nedit.org. Собственно, это мой любимый редактор. Работает только под X Window. Очень удобен в работе, подсвечивает синтаксис, гибко настраивается для разработки программ. Описание всех возможностей редактора занимает множество страниц. Советую попробовать его в работе, чтобы насладится всеми прелестями.
  • Vim - куда же без него. Это мощная консольная система, достойная внимания. Лица, пробующие Vim в первый раз и привыкшие к графическому интерфейсу пользователя будут жестоко разочарованы. У большинства даже не получается из него выйти... На всякий случай краткая информация: для выхода нажмите 1 раз Esc, затем символ : и набрать команду q для выхода или wq для сохранения и выхода. Несмотря на свой внешний вид, это мощное средство редактирования текстов. Для компиляции и запуска программ можно даже не выходить из редактора. Есть и графическое, так называемое иксовое, исполнение - GVim, но это не то...
  • Emacs - это мощная машина... Настолько мощная, что заменяет шелл у некоторых лиц. К сожалению, я никогда не работал с этим монстром, хоть многие толковые люди и соблазняли...
  • Другие - к ним относятся всякие навороченные блокноты из Gnome и KDE, а также встроенный редактор mc. Могут пригодится на начальных этапах вашего развития под ОС Linux.
Заканчивая разговор о редакторах необходимо отметить утилиту ctags. Эта утилита создает файл со специальными тэгами, которые потом загружаются в редактор (в частности в vim и NEdit). А далее мы прыгаем по нашим исходникам даже по разным файлам буквально одним нажатием. Просто выделяем нужное слово (например имя функции), нажимаем Ctrl+D (если вы в NEdit) и волшебным образом перемещаемся на объявление этой функции.
Теперь про компилятор. Естественно в единственном числе и естественно GCC (нам пригодятся gcc и g++). Утилита Make - мощнейшая утилита. Основы работы с ней можно получить из учебника по SDL на сайте. В дальнейшем мы еще затронем эту тему. В принципе, это необходимый минимум.
Теперь о программах, которые здорово облегчят жизнь:
  • GDB - мощный отладчик. По принципу работы похож на досовский debug и поэтому добрые люди создали графический фронт-энд DDD.
  • CVS - незаменимая вещь при совместной разработке. Все исходники хранятся в репозитории, а вы работаете только с копией. Затем заносите изменения в репозиторий. CVS хранит все версии вашего проекта и вы можете получить любую из них! Причем размер репозитория будет крайне мал, так как хранятся только изменения.
  • Diff и Patch - эффективное создание патчей. Вам не нужно распространять заново весь код, а просто дать файл с изменениями (если целесообразно).
  • Doxygen - супер средство для автоматического создания документации вашего проекта! Нужно лишь особым образом ставить комментарии в кодах и изменить конфигурацилнный файл, который получаем так: doxygen -g имя_файла. Создает даже графические схемы! В общем, полный улет!
Для создания и редактирования растровой графики используем GIMP. Этот шедевр вне конкуренции. С редакторами 3D посложнее... Существует версия Maya для Linux, но это отпадает, т.к. версия старая и стоит огромных денег. Единственное приличное средство - Blender 3D (http://blender3d.org). Если вы работали с монстрами типа 3D Studio Max, то начнете плеваться во все стороны... А зря! Интерфейс оригинален, но если привыкнуть, то уже не отвыкнуть :). Что касается редакторов звука, лично я не интересовался этим вопросом... Обязательно раскопаю что-нибудь!
Необходимо отметить, что есть несколько хороших IDE для тех кто привык к удобствам и красоте. Самые продвинутые: KDevelop и Anjuta. В большинстве случаев нужно прописать используемые библиотеки и пути в опциях проекта и спокойно себе работать.
Библиотек для разработки игр много, но реально всего две: OpenGL (http://opengl.org) и SDL (http://www.libsdl.org). Они вне конкуренции! В принципе, этих двух библиотек хватает заглаза.

Заключительное слово:

Первый выпуск получился не слишком содержательным... Обещаю исправить это! Следующий выпуск будет полноценным. И еще одно замечание: чтобы легко ориентироваться, необходимо знать язык программирования Си и/или С++, а лучше оба. Рассылка не научит вас программировать на этих языках. Для этого есть множество документации и других рассылок.

Все предложения и замечания по рассылке предлагаю оставить на нашем форуме в соответствующем разделе. Обязательно всем ответят! На этом пожалуй расслабимся и подождем следующий выпуск.
Да приумножится многократно твой код, уважаемый читатель!


Рассылку выпускал E$h (bbroth@plg.lrn.ru); Сайт рассылки: http://plg.lrn.ru; Периодичность: не менее 2-х раз в месяц.
 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное