Каталог статей
Меню сайта


Категории каталога
Программирование [3]
Статьи по Программированию.
Разное. [1]
Статьи на разные темы.


Форма входа


Поиск


Друзья сайта




Онлайн всего: 1
Гостей: 1
Пользователей: 0
Приветствую Вас, Гость · RSS 22.11.2024, 03:45
Главная » Статьи » Статьи » Программирование

...:: Начинающим программистам ::...
Начинающим программистам.

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

Итак, дорогой мой читатель, с вероятностью в 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 спрайтов во всевозможных позах и позициях?

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

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

Вобщем если ты еще не испугался, тогда вперед - к трудовым подвигам!
Категория: Программирование | Добавил: kubdev (17.03.2008)
Просмотров: 2691 | Комментарии: 4 | Рейтинг: 2.7/3 |
Всего комментариев: 2
2 foto-kiwi  
0
http://neoaxis-master.ru/

1 Mikle  
0
И откуда у автора сведения о быстродействии VB?
Может автора это удивит, но на операциях, от которых наиболее зависит быстродействие игр (сортировка, простая математика с данными типа Single(Float)), VB6, которому 10 лет, проимерно равен по скорости новым версиям Delphi на современных компьютерах, и значительно выходит вперед на старых. C++, конечно, побыстрее, но не так уж значительно.
Другое дело, что VB имеет другие недостатки, в первую очередь - довольно примитивная модель ООП, но это не сильно важно при разработке небольших проектов, и при разработке больших это тоже не критично, просто несколько теряется удобство.
Другое дело - VB.net, он, как и C#, обладает наиболее совершенной моделью ООП на сегодняшний день, но вот быстродействие тут как раз страдает.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]