Суббота, 27 Апреля 2024, 17:17

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [355]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [145]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [161]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [129]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Какой ЯП вы знаете?
Всего ответов: 27891
Главная » Статьи » Создание игр

Трактат о создании игр
Этот труд не претендует на статус шибко монументального, а скорее содержит мои наболевшие мысли :-)

Итак, дорогой мой читатель, с вероятностью в 80-90 % ты зреешь в голове планы создания собственной суперигрухи (ежели нет, тогда чего это ты сие читаешь? smile Наверное ты еще довольно молод, но тебя уже отличает жуткое желание программировать. Ты не боишься трудностей, готов изучать математику, физику, логику, анимацию и т.п. до посинения. Вобщем ты рвешься действовать, действовать и действовать...

Чего это я?..
Просто для того чтобы создать действительно приличную игруху ты должен обладать вышеперечисленными качествами. Я же попробую дать тебе несколько советов, которые надеюсь помогут воплотить твои замыслы в жизнь.

Займемся твоими знаниями:

Может статься такое, что ты программируешь на одном языке программирования. Ты боготворишь этот язык и не хочешь видеть ничего другого. Чтож, похвально для фаната, но практически неприемлимо для серьезного программиста. Запомни: знакомство с другими языками тебе не только не повредит, а пойдет на пользу - гарантированно. Это совсем не значит, что ты должен бросить все, поставить себе Delphi или Visual C++, накупить кучу учебников и штудировать с утра до вечера. Нет. В этом деле можно провести аналогию с иностранными языками. Знать, скажем английский, можно двумя способами: можно на нем читать и можно на нем говорить (можно его совсем не знать, но накой тогда это надо?) Если ты умеешь "говорить" на языке программирования, то ты сможешь сесть и написать чего-нть крутое, которое очень понравится маме. Если ты умеешь "читать" на языке программирования, то ты сможешь посмотреть листинг программы на C++, почесать затылок и понять идею, а затем и алгоритм решения.
Итак, для хорошего программиста важно знакомство с несколькими основными языками программирования. Для того чтобы написать игру, ты должен быть как минимум ХОРОШИМ программистом.

Ого! - скажешь ты. - Это ты тут хорошо написал, а как же мне научиться "читать" и все такое...

На самом деле все легко. Ты ведь уже умеешь программировать... ну, например на VB? Просто возьми и прочитай пару учебников как сделать что-то например на С++, что ты уже знаешь как делается на VB. С вероятностью в 101% в твоей голове тут же начнут проноситься аналогии с "родным" языком, ты поймешь структуру и некоторые отличия и вскоре научишься понимать почти любой листинг.

А ведь это очень важно при изучении какого-либо материала. В Сети огромное количество учебников. Какие-то из них рассчитаны на VB, какие-то на С++, какие-то на Delphi... Понимая несколько языков, ты получишь в несколько раз больше информации.

Вывод тут может быть такой: Знать нужно все, а программировать на чем нравится.

При программировании игр, дело обстоит не совсем так. Я надеюсь, что ты уже пробовал что-нибудь такое графическое сделать и наверное видел с какой скоростью рисует VB. Может быть ты думал, что это ты делаешь что-то не так, но я тебя уверяю, что даже при использовании DirectX и максимально оптимизированных алгоритмов, VB при всем желании не даст скорости, которую дает C++ Однако игры бывают разные, и если ты собираешься делать не shoot'em all, а что-нть попроще, не требующее быстрого рендеринга, VB - то, что тебе нужно. Это не значит, что надо делать шахматы и играть с компьютером, изображая Каспарова. Квест, приключение, пошаговая стратегия - эти жанры вполне могут быть реализованы с помощью VB, причем реализованы с легкостью, ставшей визитной карточкой этого языка.

Наверное ты уже слышал много красивых слов типа DirectX, OpenGL и т.п. Все это распространенные графические библиотеки, с помощью которых ты можешь писать игру. Не надо бояться этих слов - надо их изучать. Если собираешься программить на VB, изучать тебе надо DirectX. Можно использовать OpenGL, но только документации по использованию этой библиотеки в VB, ты не найдешь почти нигде, хотя теоретически использовать OpenGL из VB ты можешь. Тут-то и пригодится знание С++ Доков по OpenGL в Сети хоть отбавляй. Самое главное, что в VB и в C++ все будет выглядеть почти одинаково. Документация и учебники по ДиректХ как для C++, так и для VB довольно распространены в ИНете. Delphi я еще не копал, поэтому сказать не могу.

Вторая, а подчас и первая составляющая любой игры - это графика. Если ты обладаешь рисовательными способностями выше средних, то можешь смело приступать к созданию шедевра. Большинство графических прог типа PhotoPaint, 3DSMax своими эффектами, фильтрами и прочими наворотами могут очень сильно поднять твой графический уровень. Ежели с графикой совсем никак, первый, кого ты обязан взять в свою команду - это художник. Рисование графики к игре должно быть очень продуктивным. Даже если ты собираешься делать двухмерную игру, все равно поставь и изучи 3DSMax (или типа него). Подумай сам: ну как еще ты будешь рисовать штук 20-30 спрайтов во всевозможных позах и позициях?

Далее тебе нужно знать физику. Моделировать поведение разноцветных картинок на экране ты обязан исходя из реальных физических законов. Если у тебя кто-то прыгает, то на него должна давить сверху сила притяжения. Да что я говорю - повтори хотя бы тригонометрию!!!

Всевозможные алгоритмы типа нахождения кратчайшего пути и прочее понадобятся тебе когда будешь добавлять в игру управляемые компьютером персонажи. Конечно если ты планируешь убойный десматч для троих за одним компом - флаг тебе в руки. Однако поверь, если самый злостный-презлостный босс на последнем уровне будет просто бегать по кругу вокруг главного героя с воплями и криками твою игру это не украсит. Так что приготовься к серьезной работе и накопай себе кучу алгоритмов, благо в ИНете их предостаточно. Сюда также относятся всякие логические взаимодействия, игровые скрипты и т.п.

Ну и последнее. Если ты не герой одиночка, то тебе нужна команда. Сделать приличную игру один ты не потянешь. Просто физически. Запомни - ты программист. Может быть еще руководитель. Тебе позарез нужны художники. Как можно больше - тогда у тебя будет больше материала. Можешь напрячь еще нескольких программистов - пусть пишут интерфейсы, подключают разную аппаратуру и т.п. Потом, кто-то должен заниматься музыкой и звуком. Звуки записать самому у тебя получится вряд-ли, так что понавытягивай их из различных игрушек. Музыку можно написать и самому - в трэкере. Найди того, кто знает что это такое, тогда у тебя будет и музыка. Если будешь использовать голоса - используй как можно больше людей. Если в игре говорит взрослый мужчина, то в реальности это должен быть взрослый мужчина. Можешь взять пахабную руССификацию какой-нибудь игры и почувствовать как напрягает, когда один и тот же мужик сопя и кряхтя пытается выдать себя за убийцу-команндос, пожилого профессора и аньку-пулеметчицу.

Вобщем если ты еще не испугался, тогда вперед - к трудовым подвигам!

Источник: КЛИК»

Категория: Создание игр | Добавил: GC-Vic (31 Января 2008) | Автор: www.gamecoder.nm.ru
Просмотров: 13019 | Комментарии: 5 | Рейтинг: 4.2/8 |
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 5
+-1-
4 Martin69   (02 Июля 2011 19:57) [Материал]
Martin69Совершенно бесполезная статья смысл которой можно передать в паре фраз: "Изучайте разные языки программирования. Найдите себе команду единомышленников. Ученье и труд все перетрут". То что игры можно делать и без знания языков программирования автору как-то вообще не приходит в голову. А ведь людям которые загораются гениальной идеей сваять игру хочется это начать делать сейчас, а не через 100500 лет когда будут прочитаны тонны макулатуры и освоены сотни полезных в хозяйстве софтин и библиотек. Отака хуйня малята tongue

+0-
5 stalker2013   (05 Января 2013 09:16) [Материал]
в конструкторе ДЕЙСТВИТЕЛЬНО классссной игры не сделать angry как можно сделать хорошую игру не видя всего кода!?

+1-
3 СепроС   (10 Февраля 2010 06:19) [Материал]
СепроСа если я ещо воще полный чайник то с чего мне лучше начинать? и какие учебники лучше покупать?

+0-
2 den   (23 Декабря 2008 20:01) [Материал]
denСтатья хорошая. Тем более я ищу всё, что связано с игростроем. УЛЕТНАЯ СТАТЬЯ!!! biggrin

+0-
1 wildwind   (25 Сентября 2008 13:54) [Материал]
хорошая статья, я как раз искал именно чтото вроде этого, чтоб весь свой пыл по данному вопросу из хаотичного состояния перевести в направленное
автору спасибо:)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Blitz3D
  • Construct 3
  • Tuesday JS
  • Kochol
  • RiBox3D
  • CSP Game Engine
  • choice4genesis
  • PureBasic
  • RPG Maker VX ACE
  • Xaya Adventure Game Editor
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг