Xaker™
Меню сайта
Мини-чат
Главная » 2008 » Июнь » 8 » Учимся писать игры,как написать игру!?
Учимся писать игры,как написать игру!?
22:34
Основные положения

Итак.. Вы решили создать игру вашей мечты. Вы собираетесь переплюнуть х3 и даже Элиту. Ну что ж..


.........

Вы не знаете языков программирования. Вы не знакомы с gamedev`ом.

Учтите — к вам никто не присоединиться, пока не будет хоть какого-то графического движка или финансирования.
Желательно и то и другое.

В общем случае выход таков — учите языки программирования и графические API, будь то OpenGL или DirectX.

До первой игры вам предстоит довольно много пройти.

Какой же выбрать язык программирования?

Существуют мнения, что качественную программу (игру в частности) можно написать только на Си. Этот миф зародился еще в те времена, когда альтернативе Си не было...

К сожалению, этого мнения придерживаются и работодатели – учтите это!

На самом деле и Делфи и Бейсик (последних версий – где это уже самостоятельный язык программирования, а не интерпретатор) пригодны к написанию игр.

Да, если написать тестовую, консольную программу, которая будет в цикле делать что-то математическое, то скорость будет самой большой у Си... Но, например, Делфи – самый быстрый в ООП программировании, причем, намного быстрее Си.

.........

Еще возможно быть лидером и организовать финансирование (скорее из своего кармана, т.к. издатели не пойдут на такой риск — давать деньги фирме без имени... ну или условия будут абсолютно неприемлемые).
К сожалению, появились некоторые российские фирмы, которые проводят мощнейшую PR-кампанию, но выпускают ужасный продукт, правда, зарабатывая при этом огромные суммы.

.........

Вы знаете какой-либо язык программирования. Но не знакомы с особенностями создания игр и работы с графикой.

Не важно, какой опыт у вас есть в программировании. Вы не знаете, как создавать игры – значит, вы не знаете основного. Т.е. если вы опытный программист не думайте, что сможете сразу написать игру.

Тут важен опыт. Я не могу вам объяснить, КАК написать игру – нет универсального способа. Программирование это творчество. Вот основные положения и советы:

— Игра состоит из графического, физического, звукового движков (они могут быть слиты в одну целую структуру). И игровой движок, который использует эти движки, при чем они не знают об игре ничего. Т.е. игр может быть много – движок один.

— Грубо говоря, движок это менеджер объектов такого плана – источник света, геометрия, система частиц, источник звука, материал и т.п. Он общаться с графическим API (DirectX, OpenGL) – будь то непосредственно с ним или через какой-либо интерфейс (если создается движок, который не зависит от графического API, например, с целью переделать его на игровые приставки).

— Игра предоставляет игроку возможность влиять на объекты движка. Игра – менеджер объектов типа (это пример — ведь тут много чего может быть) корабль, планета, станция, ракета. Игровые объекты уже имеют связи с объектами в движке.
В игру может быть добавлен скриптовый движок.


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

Обязательно попробуйте написать свой движок – это даст вам огромный опыт.

— Не делайте лишнюю работу. Например, если у вас есть поддержка конверта из графического пакета Mesh`ей, то не пишите расчетчик нормалей – ведь за вас это сделает графический пакет.
— Когда пишите свой движок делайте под него редактор – где можно было бы редактировать материалы, делать конверт из графических редакторов в ваш формат, использовать NVMeshMender (для Bump`а) и NVTriStrip (для оптимизации mesh`ей) и т.д.
— Опять же — делайте движок универсальным и устойчивым к изменению концепта. Т.е. чтобы вам не пришлось переписывать всё из-за того, что у вас теперь не симулятор линкора, а торговая стратегия (хотя это и сложно).
— Пишите движок постепенно. Добавляя по ходу разработки всё новые и новые возможности. Не следует считать, что вам не угнаться за новинками графики – не всё так сложно и быстро развивается.
— Разберитесь с 3д математикой. Узнайте что такое матрицы. Найдите себе хорошую математическую библиотеку. Это очень важно.
— Не бойтесь переписывать всё с нуля. Даже если вы и написали уже тысячи строк кода. Это окупиться. Проверено.
— Правильно применяйте ООП. Не стоит создавать объекты вроде TSputnic и TPlaneta – используйте более общие классы, типа TSkyObj. Тоже и про корабли.

Да, можно взять и готовые движки – но всё равно большинство пунктов, которые я перечислил выше, относятся и к готовым движкам. Ведь еще нужно написать игровой движок...

Ах да, ну и на последок — не увлекайтесь сидением на профильных форумах (кроме ЕГи ессно) — там обитают одни флудеры — настоящие профессионалы просто работают и помогают новичкам, но никогда не будут обсуждать, например, на каком языке программирования писать.

Просмотров: 10539 | Добавил: zloyXIRYRG | Рейтинг: 3.8/23 |
Всего комментариев: 5
5 dmitry  
0
Тут начинающие могут посмотреть маленький пример на C++
http://sourceforge.net/projects/exampleofc/

4 niko  
0
норм статья

3 а  
0
ты лох

2 Вася  
0
Норм)) Сам раньше хотел игру создать.. Сечас только таким балуюсь) http://www.shulle.ru

1 Иван  
0
1 бал

Имя *:
Email *:
Код *:
Форма входа
Календарь новостей
«  Июнь 2008  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30
Поиск
Друзья сайта
 Сайт по хакингу и компьютерной безопасности...
Ты ещё не хакер??? Тогда тебе сюда Death™
Сайт любителей игры S.T.A.L.K.E.R.

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024