Вопрос

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

Но к вопросу Actuall я только написал только программы WinAPI, поэтому все обработка событий и пользовательский ввод был обработан ОС, с минимальной работой, но для Develope Game, с нами, например, с помощью не прямоугольных кнопок, анимации и так Думаю, нет такой вещи в Winapi TAHT, может помочь мне с этим более чем имеять некоторые основные процедуры указывателя мыши.

Итак, это правильный способ написать свою игру, чтобы написать всю ничьей часть игрового двигателя, манипулируя объектами для игрока, врагов и даже предпосылки самостоятельно, а также просто использовать DirectDraw для вывода на экран?

Редактировать: Я на самом деле хочу научиться писать игры с нуля, потому что он должен быть большим опытом программирования, и если вы рассматриваете такие игры, такие как командир, который keen On Dos, созданный без рамки или библиотек, но все же настолько велики.

Это было полезно?

Решение

Хороший подход к этому было бы взглянуть на библиотеку SDL. Я не говорю, что это обязательно лучшая библиотека для 2D-игр, но она легко начать, и в Интернете заливаются уроками и с открытым образным исходным кодом для простых игровых игр домой, написанные с помощью SDL.

Другие советы

Я тоже рекомендую SDL, но вы должны определенно взглянуть на Lazyfoo. Учебник, который просто велик.

Я также использовал SDL, но пытаюсь посмотреть на Сумасшедший. Отказ Это требует, по крайней мере, DirectX 8.0, поэтому ваши приложения будут работать только на Windows, но на своем форуме вы найдете много темов о том, как портировать его в OpenGL. На мой взгляд, HGE будет легче выучить, чем SDL, потому что SDL - библиотека низкого уровня, и вам придется научиться справиться со многими вещами самостоятельно. HGE более готов начать прямо из коробки.

Когда я начал программирование, я начал делать это с Allegro, обратно в старые добытые дни DOS. Это была первая используемая библиотека, работающая с библиотеками SVGA и имела хорошую поддержку спрайта. Затем пришла версия3, и они добавили поддержку Windows (используя GDI и Directy X, вы можете выбрать во время выполнения, который использовать двигатель). Порт Linux ожил, и все хорошо.

Это очень базовая 2D библиотека, и она научит вас саму основы графики и анимации. Теперь он даже содержит аудио поддержку, которая является очень необходимым дополнением (ну, я до сих пор помню v 2.9x ...). Они находятся в бетах для версии 5, и я думаю, что это интересный проект для вас, чтобы посмотреть.

http://www.talula.demon.co.uk/allegro/

О чем вы, ребята, говорите, WinAPi имеет низкий уровень рисования.

Хотя использование установленной библиотеки, такой как SDL, вероятно, является лучшей идеей, которую вы можете создать свои собственные абстракции для процедур рисования WinAPI без слишком большого количества сложности.

Тогда это просто вопрос создания цикла While, которая имеет все инструкции по рисованию и интерпретацию ввода. Для 2D-игр это не слишком сложно.

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

(Личная рекомендация: хотя это технически 3D-двигатель, что-то вроде Единство Это отличный двигатель, который включает в себя учебники для создания 2D игр. Unity не C, но это делает Сделайте свою жизнь намного проще ...)

Редактировать: Я на самом деле хочу научиться писать игры с нуля, потому что он должен быть большим опытом программирования, и если вы рассматриваете такие игры, такие как командир, который keen On Dos, созданный без рамки или библиотек, но все же настолько велики.

Это на самом деле не совсем правильно. Commander KEEN (и любые игры DOS) используют библиотеки: те, которые предоставлены DOS, BIOS и т. Д. Без библиотек одной или другой формы, вы бы не сможете сделать что-то полезное с C. для программирования игры, вы действительно делаете Хотите оставить все детали низкого уровня для кого-то другого.

Я бы порекомендовал Аллегро Как начальная игра программирования игры.

Проверьте этот Game Dev Morey

У них действительно большой ресурс, связанный с программированием игр и множеством начинающих. SDL хорош, но вы должны рассмотреть вопрос о изучении основных технологий игр, прежде чем начать кодирование и даже прежде чем начать думать об API / LIBS, которые вы используете.

Убрать, насколько вам нужен «интеллект». Вам нужен редактор игры? (Также .. работа) А как насчет звука / графики? Написать все эти вещи самостоятельно, займет много времени (если у вас нет опыта). Создание контента - еще одна большая проблема, которая может потреблять много времени, если вы все сделаете вообще.

Может быть, это поможет вам посмотреть на некоторых детях Dev, потому что это даст вам идею, как работает их двигатель. Как этот (устаревший) Девочка

Я только что начал аналогичный проект несколько дней назад, вы можете проверить это в Гадость.
Это должно дать вам некоторые идеи о том, как игра структурирована. Как и некоторые детали на прокрутке 2D-карте с столкновением (что оказывается довольно сложной, если вы хотите получить его 100% BEAT Free). О, и он использует SDL, сколько здесь уже предложили.

Что касается меня, это мой первый проект C. Но мне придется признаться, что я сделал подобные вещи в Java и Python раньше, так что это был хороший способ для меня, чтобы быстро выучить C. И поскольку это обучение, а не какие-либо продуктивные вещи, я использую простой C99, что делает задачу даже «смешнее».

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

Подумайте о столь же возможных игровых государств, как вы можете, ничто не хуже, чем нужно повторно реализовать весь плеер / карту / независимо от нуля только потому, что вы не думали о функции XYZ раньше.

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

Говоря о графике и такое, имейте в виду, что игра будет состоять из гораздо больше, чем просто простой код. Если вы не хороши в графике, а затем примите это во внимание при проектировании. Потому что вы быстро потеряете мотивацию, когда только на экране на экране цветные прямоугольники.

Действие Arcade Adventure Set (первоначально опубликовано как книга), вероятно, является одним из самых полных учебных пособий о том, как написать 2D боковую прокрутку. Хотя старая ссылка, многие основы для разработки 2D бокового прокрутки не изменились.

Примеры полного исходного кода и некоторые инструменты для разработки бокового прокрутки предоставляются как загрузки. Отказ Существует только одна внешняя библиотека, используемая для обработки графических примитивов. Как это старая программа DOS, вам, возможно, придется использовать эмулятор DOS, как DoSbox. или измените примеры для более современных сред.

Я предлагаю вам понравиться главы от 1 до 9 и сосредоточиться на главах от 10 до 17.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top