Этот труд не претендует на статус шибко монументального, а скорее содержит мои наболевшие мысли :-) Итак, дорогой мой читатель, с вероятностью в 80-90 % ты зреешь в голове планы создания собственной суперигрухи (ежели нет, тогда чего это ты сие читаешь? Наверное ты еще довольно молод, но тебя уже отличает жуткое желание программировать. Ты не боишься трудностей, готов изучать математику, физику, логику, анимацию и т.п. до посинения. Вобщем ты рвешься действовать, действовать и действовать... Чего это я?.. Просто для того чтобы создать действительно приличную игруху ты должен обладать вышеперечисленными качествами. Я же попробую дать тебе несколько советов, которые надеюсь помогут воплотить твои замыслы в жизнь. Займемся твоими знаниями: Может статься такое, что ты программируешь на одном языке программирования. Ты боготворишь этот язык и не хочешь видеть ничего другого. Чтож, похвально для фаната, но практически неприемлимо для серьезного программиста. Запомни: знакомство с другими языками тебе не только не повредит, а пойдет на пользу - гарантированно. Это совсем не значит, что ты должен бросить все, поставить себе 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 спрайтов во всевозможных позах и позициях? Далее тебе нужно знать физику. Моделировать поведение разноцветных картинок на экране ты обязан исходя из реальных физических законов. Если у тебя кто-то прыгает, то на него должна давить сверху сила притяжения. Да что я говорю - повтори хотя бы тригонометрию!!! Всевозможные алгоритмы типа нахождения кратчайшего пути и прочее понадобятся тебе когда будешь добавлять в игру управляемые компьютером персонажи. Конечно если ты планируешь убойный десматч для троих за одним компом - флаг тебе в руки. Однако поверь, если самый злостный-презлостный босс на последнем уровне будет просто бегать по кругу вокруг главного героя с воплями и криками твою игру это не украсит. Так что приготовься к серьезной работе и накопай себе кучу алгоритмов, благо в ИНете их предостаточно. Сюда также относятся всякие логические взаимодействия, игровые скрипты и т.п. Ну и последнее. Если ты не герой одиночка, то тебе нужна команда. Сделать приличную игру один ты не потянешь. Просто физически. Запомни - ты программист. Может быть еще руководитель. Тебе позарез нужны художники. Как можно больше - тогда у тебя будет больше материала. Можешь напрячь еще нескольких программистов - пусть пишут интерфейсы, подключают разную аппаратуру и т.п. Потом, кто-то должен заниматься музыкой и звуком. Звуки записать самому у тебя получится вряд-ли, так что понавытягивай их из различных игрушек. Музыку можно написать и самому - в трэкере. Найди того, кто знает что это такое, тогда у тебя будет и музыка. Если будешь использовать голоса - используй как можно больше людей. Если в игре говорит взрослый мужчина, то в реальности это должен быть взрослый мужчина. Можешь взять пахабную руССификацию какой-нибудь игры и почувствовать как напрягает, когда один и тот же мужик сопя и кряхтя пытается выдать себя за убийцу-команндос, пожилого профессора и аньку-пулеметчицу. Вобщем если ты еще не испугался, тогда вперед - к трудовым подвигам!
2030 Прочтений • [Трактат о создании игр] [16.05.2012] [Комментариев: 0]