Базовая логика игры / дизайн - PullRequest
1 голос
/ 01 марта 2012

В настоящее время я работаю над своим проектом 2D-игры (Java), но до сих пор какая-либо игровая логика или ИИ были грубо реализованы. Например, скажем, мне нужно расположить группу спрайтов случайным образом по длинной верхней части экрана, я бы использовал класс Random для этого. Я бы просто использовал Random.nextInt (размер оси x, по которой будет появляться); Хотя это действительно работает, мне было бы интересно услышать, как я на самом деле должен идти о таких вещах.

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

Буду очень признателен за любые предложения о том, как мне следует поступить по этому поводу.

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Google для статьи под названием «Поведение рулевого управления» Крейга Рейнольдса.Это касается именно этого, и вы найдете отличные идеи, чтобы начать с некоторых хороших идей, чтобы придать группам спрайтов вид «интеллектуального» движения.Ключом к нему в его различном поведении, то есть стеках и т. Д., Является то, что свойства любого данного спрайта зависят от свойств какого-либо другого спрайта.Можно даже сказать, что любой спрайт будет мигать, только если два соседа только что моргнули.Что-то или другое по этим направлениям.

Надеюсь, это поможет!

1 голос
/ 01 марта 2012

Используете ли вы ООП (объектно-ориентированный подход)?Если нет, вы должны обязательно изучить это.Это действительно просто с Java и может ускорить ваше время разработки и оптимизировать ваш код.

Я бы сделал класс спрайта и дал бы им функцию, скажем, actionSpawn или actionMove (мне нравится начинать свое "действие").функции со словом action, поэтому их легко идентифицировать).В этой функции вы бы инкапсулировали функцию Random.nextInt, чтобы задать позицию спрайта x и / или y.

Вы можете использовать тот же подход, чтобы заставить их мигать.

...