У кого-нибудь есть идеи для назначения в игровом программировании? - PullRequest
8 голосов
/ 18 ноября 2009

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

Я написал простую игру pacman, но кроме этого я не делал никаких других игр.

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

Я хочу использовать Java-апплеты в качестве платформы для игр, но это не должно иметь большого значения, большинство игр, которые могут быть написаны на C / flash и т. Д., Также должны быть переведены на Java.

Спасибо

Ответы [ 15 ]

14 голосов
/ 18 ноября 2009

Сделайте простую игру «убегайте от монстра как можно дольше». Тогда:

  • Добавьте планирование пути, чтобы монстр мог следовать за вами через более сложную карту.
  • Добавить несколько монстров. Для получения бонусных очков: добавьте роящееся поведение, боссов, генераторов монстров и соперничающие кланы монстров.
  • Добавление нескольких игроков (и некоторых клиентских программ-ботов для тестирования).
  • Добавить бонусы.
  • Добавьте оружие, чтобы вы могли дать отпор.
  • Добавить сюжет - вам нужно собрать несколько предметов, чтобы победить монстра.
  • Сделать среду модифицируемой.
  • Модифицировать физический движок (ускорение и т. Д.) - нужен ли монстру лучший ИИ?
  • Перенесите графику на OpenGL, но оставьте игровую механику 2D. Я ненавижу игровую механику 3D (кроме симуляторов и стрелков).
  • Переместите игровую механику в 3D и уничтожьте простой игровой процесс. Вздох.
  • Добавить машины.
  • Добавить союзников.
  • Добавляйте уровни, навыки и другие ролевые игры (чтобы победили проигравшие, которые играют по 12 часов в день).
  • Добавить генерацию процедурного контента.
4 голосов
/ 18 ноября 2009

Будучи студентом факультета компьютерных наук, нам фактически были даны задания по созданию игр! : D

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

Попробуйте что-то вроде:

  • Заставление объекта падать с увеличивающейся скоростью (Простая физика, достаточно для 2D-платформера)
  • Создайте персонажа, способного стрелять пулей

Затем объедините оба:

  • Создайте гранатомет, который стреляет из гранат, пораженных вашей простой физикой.

Тогда станьте еще более продвинутыми:

  • Взрывать гранаты. Возможно, после нескольких отскоков? Возможно, с помощью кнопки дистанционного детонации? Столкнуться с врагом?

Это методология, которую я использую при создании игр. Начните с малого, сделайте так, чтобы каждая функция работала друг с другом, а затем объедините функции для нужной игровой механики! : D

3 голосов
/ 18 ноября 2009

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

В Bioshock была мини-игра "взлом", в "Phantom Hourglass" была мини-игра по спасению, примеры на всем.

Большинство этих мини-игр имеют довольно простую механику, вы должны быть в состоянии реализовать основные функции очень быстро. Большинство из них также имеют высокий уровень полировки, поэтому вы можете потратить время на то, чтобы заставить вашу копию работать правильно. Например, первый проход мини-игры «Спасение» будет иметь управление 1: 1 ... позже вы можете добавить физику, чтобы сделать управление немного более скользким, а игра - более сложной.

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

3 голосов
/ 18 ноября 2009

Поскольку вы уже написали pac-man, почему бы не написать многопользовательскую 3D-игру pac-man.

3 голосов
/ 18 ноября 2009

Вы можете попробовать Игра Жизни , которая является очень хорошим примером кодирования конечных автоматов. 3d Кубик Рубика тоже было бы весело!

2 голосов
/ 18 ноября 2009

Почему вы хотите изучать программирование игр, если у вас еще нет игр, которые вы хотите делать?

Другие идеи игры могут включать в себя:

  • Breakout / Arkanoid
  • Tetris
  • Space Invaders
  • Frogger
  • Артиллерия / выжженная земля / черви

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

  • Звук и музыка
  • Функциональность паузы (включая воспроизведение музыки)
  • Дискретные игровые состояния (например, экран загрузки, меню, игра, игра окончена)
  • Динамическое управление ресурсами (загружается только то, что вам нужно, когда вам это нужно)
  • 2D графический интерфейс с минимальными метками и кнопками
  • Чтение настроек из файла данных
  • Возможность для пользователя привязывать ключи к действиям
  • Сохранить / загрузить состояние игры
2 голосов
/ 18 ноября 2009

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

2 голосов
/ 18 ноября 2009

Я бы пошел в 2D-платформу, а затем в 3D-игру.

1 голос
/ 19 ноября 2009

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

1 голос
/ 18 ноября 2009

Напишите простую игру с видом сверху 2d, в которой вы управляете некоторыми самолетами и должны избегать ракет с инфракрасным наведением, заставляя их сталкиваться друг с другом, стреляя в них самостоятельно или используя приманки. Ракеты (и ваш самолет) должны идти по извилистой траектории, поэтому вам придется использовать некоторую тригонометрию, чтобы все выглядело хорошо. Вы можете добавлять всевозможные вещи, такие как бонусы, новые типы ракет, другие корабли, улучшенное отслеживание ИИ и т. Д. Вы также можете сделать это 3D или мультиплеером.

...