![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
Afrodiziac |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.5.2007 Репутация: нет Всего: нет |
Захотелось мне написать игру. К примеру Tower Defense.
Правила таковы: - существует некторый "коридор" или лабиринт, по которому идут вражеские монстры - у игрока(-ов) есть некоторая сумма денег, на которые он преобретает всяческие пушки - эти пушки размещаются в каком угодно месте карты, но не на тех местах, по которым идут монстры - за каждого убитого монстра соответствоющему игроку начисляются деньги Теперь про пушки: - пушки бывают разные: замораживающие, стреляющие по области, наносящие точечные удары, или же замедляющие, воспламеняющие и т.п. - пушки могут продаваться, но не огут передвегаться - у пушек есть радиус обстрела - обладают скоростью стрельбы и уроном - также могут быть усовершенствованы Монстры не атакуют пушки, задача монстров достигнуть некторой точки лабиринта (туннеля). Можно организовать так, что каждый дошедший монстр до конца будет отнимать жизни. Будут существовать боссы. Даее можно делать вяческие модификации и т.д. Теперь о модели игры: Вопрос №1: Не могу разобраться с тем как будет происходить "ходы" объектов (монстров, пушек, стре, снарядов и т.п.). Решение: 1. Самый тупой вариант, для каждого монстра по потоку, но это пролематично т.к. монстров может быь очень много до 200-300 штук. + снаряды от пушек и т.п. 2. Два потока первый за прогрузку интерфейса основного окна, второй будет просчитывать ходы. Просчет будет осуществляться в бесконечном цикле по каждому объекту, НО это порождает проблему того что будет приоритет у монстров, те что в начале массива будут раньше ходить...:( Вопрос №2: Как организовать On-Line игру? Об этом чуть позже, потому как не столь важно, я не раз сталкивался с сокетами. Чтото мне подскаывает что добиться равноправия можно только лишь с помощью множества потоков, иначе будет по приоритету(( П.С. Тема стара как вар крафт, но неплохо бы поупражняться |
|||
|
||||
fantast |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 10.12.2006 Где: минск, столица на шей Родины Репутация: нет Всего: 2 |
чтото знакомое
--------------------
Эпитафия: Он старался. Неизвестный |
|||
|
||||
dereyly |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
1
2; Зачем придумать сложности монстры в этой игре не стреляют и непроизводят осмысленных действий, а характерезуются лишь нескольким примитивными параметрами: кол жизней, скорость, резист, летающая или нет. в принципе там тип можно разработать плавающие или монстры которые паралезуют башни вообщем больная фантазия у всех есть.... я вообщем веду к тому что не надо выделять потоки для монстров и тем более для пуль. Допустим область у нас разбита 2Nx2N пушка имеет габариты 2х2, а монст 1х1, затем мы описываем суммарное колиство жизней находящееся на клетке (на земле и на воздухе не складываем), затем каждый такт обходим все пушки, если пушка готова стрелять (т.е. она презарядилась) мы выбираем по некторому критерию (k=argmin(dist(i)) минимальное растояние до центра, обход клеток с монстрами осуществляется в радиусе действия пушки) клетку с монстами которую мы будем атаковать и вычитаем повреждение пушки, допустим умирает монстр с наименьшими хит поинтами.... если есть воздушное пространстов то карту представить 2мя матрицами... Я про то что можно сильно все упростить, не обязательно как я предлагаю.... |
|||
|
||||
Afrodiziac |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.5.2007 Репутация: нет Всего: нет |
dereyly, в твоем случае игра будет слишком упрощена, и не интересо будет играть :(
Хотелось бы чтобы все было динамично и имело "бесконечное" число степеней свободы. То есть два монстра, к примеру не могли бы занимать одно и тоже пространство, им пришлось бы как-то потесниться или обходить друг друга и т.п. Для этого есть алгоритмы уже готовые, которые находят кратчайший путь от точки А до В с учетом зон непроходмости. Хотелось бы чтоб игра была непредсказуема для самого разработчика)) П.С. Может быть использовать группы потоков? Или другой вариант, использовать один поток для монстров, второй для башен, третий основной для главного окна...? |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 6 Всего: 52 |
Afrodiziac, ты рано взялся за разработку игры, если не можешь в голове сложить алгоритм работы. Это говорит о том, что у тебя мало опыта и о незнание основных библиотек типа OGL, DX, OAL.
Я не хочу тебя обидеть, отнесись объективно. Начни с более простой вещи. Крестики нолики там, арканоид. Если последуюшь совету - помогу с теорией и алгоритмами, а также и в будущем. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Afrodiziac |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 13.5.2007 Репутация: нет Всего: нет |
Да нет проблем, я на самом деле не имею опыта создания игр. Но я достаточно хорошо программирую и разбираюсь в проектировании приложений. Арканойд слишком прост, т.к. там нет того сложного уровня динамики. Я делю задачу реализации этой игры Tower Defence на три части: Ядро, Представление и Взаимодействие с оператором. Взаимодействие понятно. Что касается представления, то под этим понимается отображение физических данных (монстры и т.д.) в наглядный для оператора вид. Это может быть 3-х или 2-х мерное изображение. Все это я умею, кроме проектирования Ядра. тут я слаб( Мне бы хотелось написать его самому ![]() Где можно найти хорошую, строгую теорию? |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
Master of defence |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |