2009-11-01 2 views
5

Я интересуюсь программированием для игр. В настоящее время я создаю iphone-игру с Shiva, используя Lua в качестве языка сценариев. После этого я не уверен, что мне делать или какие языки я должен изучать. Моя цель - продолжать строить игры, но я также хочу создать свою собственную игровую консоль. Конечно, это будет не годами, но мне нужно сейчас научиться правильному программированию. Я знаю, что программные игры против приложений совершенно разные, и поэтому мне нужна помощь. Какие языки или вещи вы рекомендуете мне изучать? Я также хочу иметь возможность создавать приложения, но программирование приложений и игр для программирования - это совсем другое дело.Игры и приложения для программирования/ОС

+0

Что Языки Вы в настоящее время знаете? – Jonathan

+0

Основы C и я делаю некоторые Lua. – 2009-11-01 22:12:56

ответ

2

Проработав в этой отрасли в течение нескольких лет, это лучшее резюме я могу найти:

http://gamesfromwithin.com/so-you-want-to-be-a-game-programmer

Мой совет:

Изучите C++ внутри и снаружи. Программа в нем каждый день. Если вы уже настроены для разработки iPhone, изучите OpenGL. Было бы неловко изучать Direct3D, если у вас есть доступ к ПК (также посмотрите на XNA). Если графика не ваша, убедитесь, что вы знаете, как работает поиск пути (алгоритм A *) или обнаружение столкновения.

Продолжайте строить свои собственные проекты и находите хорошее онлайн-сообщество, которое может поддержать вас, если у вас есть вопросы. Работодатели хотят видеть, что вы умны, но что более важно, что вы посвящены - игровое программирование очень сложно, не позволяйте никому говорить вам по-другому.

Вы можете скачать бесплатные инструменты разработки для Windows, здесь: http://www.microsoft.com/express/download/

Тот, который вы хотите, Visual C++ 2008 Express Edition.

+0

Ну, чтобы узнать OpenGL, вам нужно знать цель c? На mympac у меня есть windows xp, это прекрасно, чтобы программировать C++? – 2009-11-01 22:36:07

+0

Вам нужно немного Objective C, если вы на iPhone - вы можете делать OpenGL на ПК, iPhone или Mac. Вы можете использовать C++ на ПК, iPhone или Mac. На iPhone и Mac вы можете смешивать C++ и Objective C, что делает вещи запутанными для новичка. Я обновил awnswer со ссылкой на инструменты Windows dev. – Justicle

+0

Могу ли я использовать инструменты pc dev на моем mac, у меня есть xp x на моем mac. Или??? – 2009-11-02 01:05:57

2

Возможно проверить некоторые ссылки игры программирования здесь: http://lazyfoo.net/SDL_tutorials/index.php

Эти обучающие предположим C++, который используется много в играх программирования так может быть стоит обучение.

Или вы могли бы проверить этот учебник, если ваш заинтересован в Java http://www.cokeandcode.com/node/6

Адам

+0

Я согласен с Адамом, C++ - это дефакто, если вы хотите делать серьезные игры. – Jonathan

+0

Я также хочу иметь возможность создавать приложения, но программирование приложений и игр для программирования - это совсем другое дело. – 2009-11-01 22:14:27

1

Вы должны зарегистрироваться Unity3D website. Теперь у них есть бесплатная версия (называемая Unity) для личного и коммерческого использования. Вы можете использовать скрипты с C# (возможно, любой язык .NET), JavaScript и Boo.

XNA будет хорошо подходит.

+0

Я в настоящее время использую Shiva – 2009-11-01 22:37:58

+0

По сравнению с ShiVa, Unity - это нирвана. – Stringer

+0

Хммм, ну, мне нравится шива, потому что вы можете запрограммировать Lua в нем. Если бы я использовал единство, я бы не знал, как программировать в нем. – 2009-11-01 23:29:36

6

Первая игра, которую я когда-либо писал, была змеиной игрой, написанной в Turbo Pascal. Я возился и сумел получить (используя ряд точек) линию, движущуюся по экрану. Как только я это сделал, я сделал направление изменения линии. Я подключил это к клавишам со стрелками и был взволнован. Через два часа я получил другую цветную точку, как «еда» на экране, и это была игра змеи. Каждая игра, которую я написал, подталкивала меня дальше и заставляла меня изучать новые вещи (идеи, как правило, перескакивают друг с другом).

  • Попробуйте играть в аркадные игры. Breakout, Pong, Snake и т. Д. Время, затрачиваемое на создание Halo, не рассчитано!
  • Не беспокойтесь о том, какой язык вы узнаете. Вы будете многому научиться на протяжении многих лет.Сейчас самое время спросить, что именно проще всего, чтобы начать писать игры с. Если у вас уже есть основы C, то это ваш ответ сразу.
  • Если вы не знаете, с чего начать, начните делать анимации вместо игр. Идеи придут, когда вы привыкнете к своим инструментам.

Напишите программу, которая рисует смайлик в середине экрана. Изменение режима экрана и использование больших графических движков может быть слишком велико для этого. Будь проще. Получите это смайлик, чтобы передвигаться, изменить цвет, сделать его несчастным лицом и т. Д. Прежде чем вы это узнаете, вы получите хороший импульс.

Вопрос: спросите, как написать смайлик в середине экрана, а не только на следующей строке консоли. В моей первой игре со змеем ответ заключался в том, чтобы написать нагрузку «символов» пробела, пока я не добрался туда, где хотел. Лучший ответ, по-видимому, это ncurses. Если вы находитесь в Windows XP, то компилятор MingGW является бесплатным, вы можете получить (нестандартную) библиотеку conio.h. Это то, что я использовал в своей второй игре змеи, и это заставит вас начать очень быстро.

Удачное путешествие!

5

Посмотрите на моддинг.

Я нашел QuakeC (как были созданы Quake1), чтобы быть очень легко подобрать, и у вас уже есть очень богатая база игрового контента для использования, чтобы вы могли сосредоточиться на геймплее и тому подобное. Мне было гораздо легче оставаться заинтересованным, когда вы начинаете с забавной игры и добавляете в нее свой собственный поворот, вместо того, чтобы начинать делать демонстрации в 3d-коробке или другие слишком простые, но необходимые шаги программирования на низком уровне.

Quake1 довольно старый, но имеет почти все, что связано с ним, является открытым исходным кодом и распространяется свободно. Вы можете так же легко начинать моддинг любой из новых игр.

Многие сегодняшние крупные игровые магазины получили свое начало в создании модов Quake или Halflife.

0

Когда вы только начинаете, C, C# и C++ могут быть немного сложными для начала. Если вы серьезно относитесь к разработке игр, вам, вероятно, в конце концов нужно будет изучить C++, но если вы просто хотите быстро сделать что-то, вы уже на правильном пути с lua.

Javascript - это еще один язык, который очень похож на lua разными способами (и очень отличается в других). Одним из преимуществ javascript является то, что у каждого в мире есть javascript, установленный на их компьютерах. Другим преимуществом является то, что его очень легко изучить. Есть и недостатки, но они не так уж плохи, как думают большинство «серьезных» программистов. Javascript получает незаслуженный плохой рэп.

Вот очень хороший учебник для обучения JavaScript: http://eloquentjavascript.net/

Это не покрывает игры программирование, unfortunately- Но это концепция обложки, которые имеют отношение к обеим играм программирования и прикладному программированию.

Вот учебник для javcascript, что делает кавер игры программирования:

http://billmill.org/static/canvastutorial/index.html

вам нужен веб-браузер для того, чтобы следовать, что учебник. Это не включает Internet explorer, поэтому вы, вероятно, захотите использовать сафари, firefox или opera.

Как только вы будете удобны в создании игр на простом языке, таком как javascript или lua, тогда будет не так уж трудно научиться делать игры на жестком языке, таком как C или C++.

С другой стороны, вы можете быть счастливы, просто делая игры на простом языке, и это нормально, нет правил, которые говорят, что вам нужно научиться C или C++ для создания хороших игр. Хорошие игры исходят из хороших идей, а не из сложного программирования.

0

Приоритетный заказ для программиста.

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

  • математики
  • Структуры данных
  • Компьютерная графика
  • Физика
  • Искусственный интеллект
  • Компьютерные сети
  • Web Technologies
Смежные вопросы