2009-07-20 2 views
0

картины для ведения текущего состояния игры: http://h.imagehost.org/0524/td.jpgУлучшения GUI & Графика

Я занимаюсь разработкой простого 2D хобби (личной) игры в C#, который использует GDI + для рендеринга, так как я решил, что основное внимание будет уделено в основном на геймплей, и не столько на погружение и графику/интерфейс. Теперь, однако, я получил большую часть геймплея, и я хотел бы улучшить графику и пользовательский интерфейс, которые крайне уродливы и не являются дружественными пользователю в их текущем состоянии.

Итак, я ищу совет о том, как улучшить визуальное впечатление от игры. В настоящее время на экране нет анимации, кроме изображений, перемещающихся по экрану (пули/мобы).

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

Есть разные вещи, которые я хотел бы улучшить, но не знают, как сделать это:

  1. Анимация: Как стрелки/маркеры вращающего путем они сталкиваются, мобы, имеющие анимацию кубика и скоро.
  2. Наложение текстуры: вместо того, чтобы иметь всю игру, основанную на черепичной черепице, немного смешение между различными видами местности должно быть хорошим прикосновением.
  3. Возможно, добавление прозрачности в игру.

Каковы ваши предложения по улучшению графического элемента в игре и пользовательском интерфейсе? И вы бы предположили, что я продолжаю использовать GDI +, или мне нужно активировать и использовать более «способную» библиотеку для рендеринга?

Edit: Я не особенно ищет новую библиотеку рендеринга (Хотя им, глядя в XNA), но больше эффектов и вещи, которые будут улучшать над всем выглядеть, такие как: «Вы можете найти удивительные бесплатные анимации/текстуры на www.somesite.com ", или" использовать фоновые темы, основанные на пользовательском интерфейсе, и такие вещи ".

+4

Спасибо, небеса! У меня закончились игры с башней ... –

+0

Yup, похоже, что сеть на данный момент залита играми защиты от flash-башни. У меня нет никаких намерений опубликовать игру, поэтому не беспокойтесь об этом. Я обнаружил, что самый большой весомый фактор в играх с защитой башни происходит из многопользовательского аспекта. Поэтому в конечном итоге это будет идти в этом направлении. –

ответ

1

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

Возможно, вы также захотите изменить свою графику плитки; заменяя эту жесткую квадратную дорожку кучей разных плиток, в том числе с «мягкими углами», все будет выглядеть лучше. Люди не любят геометрических углов или, по крайней мере, не девяносто градусов. Here - крайний пример того, что вы можете сделать; загрузите этот набор и посмотрите, как различные плитки сшиваются вместе, чтобы создать сцену.

Я рекомендую перейти от GDI +, поскольку он довольно медленный; Я сам использую OpenGL.

1

Для такой игры я бы посмотрел XNA. Это может помочь вам упростить многие из этих аспектов.

+0

У меня очень мало опыта работы с XNA, но я, однако, довольно часто использовал DirectX, в основном для 3D-материалов. Я обнаружил, что мне пришлось создать для себя весь механизм GUI вместо того, чтобы просто повторно использовать контроль оконных форм, что было довольно немного работы. Я посмотрю на это. –

+0

XNA построен поверх платформы .NET, поэтому я считаю, что вы можете использовать множество существующих элементов управления формами. Вы также получаете конвейер контента и ряд других полезных инструментов. Это не превратит вас в графического дизайнера, но это облегчит процесс кодирования таких вещей, как анимация, текстуры и т. Д. – Charlie

1

Torque Engine имеет лицензию инди на сумму около 100 долларов США. Вы можете попробовать бесплатную демонстрацию. Это полноценный игровой движок, поэтому вы можете обнаружить, что если вы правильно разработали свой проект, вы можете легко его поменять и получить продуктивные результаты сразу. В качестве бонуса вы можете сделать с ним игры Wii или iPhone!

+0

Я думаю, что это немного излишнее для его целей. – DShook

+0

Неужели это слишком много денег на 100 долларов или что получившиеся игры выглядят слишком хорошо? –

+1

Зависит от того, сколько стоит $ 100 для вас. – peterchen

1

Ah стрелять. Я просто написал весь ответ ниже, а затем вернулся, чтобы перечитать вопрос, и вы говорите, что используете GDI +. Ну ... Если вы когда-нибудь решили использовать OpenGL вместо этого, то проверьте это:


Yay texture blending! Я просто прошел пару недельного обучения изучению текстуры в OpenGL.Вот некоторые вопросы, которые у меня были, в хронологическом порядке, и вы можете проверить ответы и комментарии мои, чтобы увидеть, где я пошел с ним:

Окончательный результат работы замечательный. У меня пока нет скриншотов, потому что это на самом деле некрасиво, так как я произвольно генерирую рельеф и на данный момент имею дрянные текстуры, но поверь мне, это лучший способ. :)

+0

Также здесь представлена ​​моя сборка всех онлайн-ресурсов, которые я использовал, чтобы узнать об объединении/splatting текстур OpenGL: http://docs.google.com/View?id=ajk9hxnz95qm_107fndcp6c8 – Ricket

1

Во-первых, если вы придерживаетесь GDI + для своей игры, понимайте, что производительность почти наверняка будет проблемой, если у вас нет очень статической (то есть пошаговой) игры. Убедитесь, что вы готовы использовать грязные исправления и аналогичную философию, чтобы максимально сократить перекраску.

Если вы хотите получить смешение, просто используйте цветную матрицу при рисовании растровых изображений. Theres довольно приличный образец кода для этого here. Используя альфа-смешение, вы можете реализовать смешение ландшафта и некоторые довольно приятные эффекты, просто наложив альфа-смешанные спрайты (например, взрывы или эффекты частиц). GDI + поддерживает PNG с альфа-каналами, поэтому я бы рекомендовал использовать их для создания спрайтов.

Смежные вопросы