2д стратегия
|
|
Дима | Дата: Воскресенье, 12.02.2012, 06:28 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Добрый день всем, В программе ничео не понимаю, хотя сделал первый урок - 5 минут
Если можно, ответьте на вопросы 1. Какой самый большой размер игрового поля? 2. Есть ли в программе генератор случайных чисел?
Пока эти 2, но на самом деле их куча - вопросов)
|
|
| |
xdronx | Дата: Воскресенье, 12.02.2012, 16:45 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 114
Статус: Offline
| 1. сколько хочешь только может подлагивать 2 да есть ranndom(10) от 0 до 10
луче сначала стратегию не делай
|
|
| |
Дима | Дата: Понедельник, 13.02.2012, 13:15 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Ув. xdronx Спасибо, что откликнулись.
Стратегия - мечта идиота - всей жизни). На самом деле я вижу 3 принципиально важных момента:
1. Обнаружение объектов друг друга на поле условно 3000 на 3000 км с возможностью обнаружения в 20 км. Это просто - объекты (сотни 3: наши, враг, нейтралы) как-то достаточно неопределенно на этом поле перемещаются. Но в случае обнаружения враг начинает сообщатся (первый обнаруживший "оповещает" главные силы) - радиус оповещения - 1-50 км в зависимости от размера врага и стягивать силы (возможно несколько превосходящие наших для уничтожения наших обнаруженных объекта - объектов).
Как я понимаю - это надо наладить движение спрайтов по каким-то маршрутам, патрульные завесы, ну и в случае обнаружения/соприкосновения кругов спрайтов отход-посыл "гонца" за подкреплением с таким же кружком, но уже "оповещение", который в момент соприкосновения с кружком другого врага этого врага активирует) и вся вражеская кодла направляется в точку обнаружения.
Что касается нейтралов (50 шт) - он может сообщить, а может и нет - тут-то как раз и нужен генератор случайных чисел.
а потом, после того, как это осилю - можно будет ввести на поле статичные объекты, которые могут воспрепятствовать обнаружению - затенить его,
Ну, и ввести понятие времени - день - 20 км и ночью 1 км.
Ну и генератором случайных чисел - плохую погоду, которая снизит возможность обнаружения с 20 до - 0 км.
Это помимо противодействия объектов, которые уичтожают друг друга частями, т.е. не сразу и при определнных условиях (и очень редко - сразу). Часть этих условий я уже для себя сформулировал - разрушительная сила объекта.
Другую часть - пока частично - противостояние разрушению.
И совсем плохо с тем, что разрушительная сила начинает убывать по параболе от 90% до 2% в зависимости от дистанции. (Здесь есть хитрая формула, но я не вполне уверен, что ее можно будет включить в исходный код)
Ну и еще один параметр - линейное убывани ресурса (от 100% до 0%) разрушительной силы, как впрочем и ресурса на передвижение, которое можно пополнять только при контакте со определнным на поле статичным объектом или фишкой.
Но, это уже вторая песня - для начала бы научить фишки по полю двигаться)
Собственно - вся стратегия)))
Можно еще вопросы?
Я уже умею поведением - машикнка (behavior - car) двигать фишку по полю. 1. Было бы чудесно, если бы фишка умела двигаться в случае команды (во время игры) из пункта А в пункт Б с возможностью выстанавливать промежуточные точки (движение в каждом отрезке - прямолинейное). 2. Было бы чудесно, если бы можно было задавать скорость движения, ну и менять эту скорость в процессе.
Есть ли такие функции?
Сообщение отредактировал Дима - Понедельник, 13.02.2012, 13:26 |
|
| |
xdronx | Дата: Понедельник, 13.02.2012, 18:06 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 114
Статус: Offline
| Дима, Всё что вы написали возможно (я на вы так как вы вроде намного старше меня ), но если вы новичок который прочитал только платформ. за 5 мин вам будет очень сложно это сделать (даже у меня возникнут проблемы) ! А если вы будите просить всё у меня то получится что я сделаю игру за вас . (для начала сделайте маленькую игру ) Что я вам советую читайте смотрите уроки на сайте !
|
|
| |
targitay | Дата: Вторник, 14.02.2012, 12:54 | Сообщение # 5 |
Самый активны
Группа: Проверенные
Сообщений: 16
Статус: Offline
| Дима, очень сложную задачу вы себе задали! лучше сделать для начала все пункты поотдельности. по-моему мнению поведения всех обьектов (враги, наши, нейтралы) должно быть RTS. возможность обнаружения с радиусом 20 км - я бы реализовал невидимым спрайтом круга, который прилепил к "разведотрядам". если враг касается этого круга, - тогда ближайший боец бежит за подмогой к своим. систему патрулирования разведчиков можно реализовать несколькими способами: 1. проложить им путь самому через поинты (сам никогда не пользовался данной функцией, но думаю знающие люди подскажут поточнее)) 2. задать двумя невидимыми спрайтами "контрольные точки" - когда разведчик касается одной из них - он идет к другой (можно сделать через переменные - например, 1 и 2. если касается первого спрайта - переменная ставится на 1. если переменная равна 1, то разведчик двигается ко второму спрайту. при касании второго спрайта, переменная ставится на 2. если переменная равна 2, то разведчик двигается к первому спрайту).
по поводу дополнительных вопросов - 1-й пункт я не понял. 2-й пункт (изменять скорость движения - можно. (set speed, кажется функция называется) и еще раз повторяю - делайте каждое действие отдельной игрой ( и опыта поболее наберетесь и все в кучу не свалите - проще разбираться) удачи!
Сообщение отредактировал targitay - Вторник, 14.02.2012, 13:05 |
|
| |
Дима | Дата: Среда, 15.02.2012, 00:49 | Сообщение # 6 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Quote (xdronx) Дима, Всё что вы написали возможно
Ув. xdronx Первое и самое главное и важное для меня, что это возможно! В том-то и была беда, что я не мог этого оценить, прежде чем на N лет завязнуть и выяснить, что все напрасно ) ОГРОМНОЕ СПАСИБО! Ну, а насчет Вашего участия или неучастия - сказку о щах ихз топора никто не отменял. Ну и никто не отменял того, что я бы обозначил участие каждого, в случае если мне придет в голову шальная мысль (еще не пришла)) ) коммерческой реализации.
Ув. targitay Спасибо и Вам. Относительно сделать игру по частям - совет принят. Что касается кругов - это я уже понял аккурат из 5-минутного урока. Более того, я сварганил фишку, которая имеет несколько видов оружия и разные секторы его применения - своего рода лепестки у цветка, которые должны активировать генератор случайного поражения противника. Не знаю как тут подгрузить картинку. Фишка: http://fotki.yandex.ru/users/a9a8a7/album/193130/ Синий круг - круг обнаружения. Красные - радиус действия оружия. Дальше всех - самое сильное. Фишки - по красным кругам все разные, похожих - немного. Полагаю красные круги - видимыми только для СВОИХ.
Так как поле неограничено, то полагаю его 60000 пиксел на 60000 пиксел - т.е. 1 пиксел = 50 метров. (Не много ли?) Таким образом любая фишка на поле будет размером - 400 пиксел по синему кругу.
Первое, что хотелось бы понять как заставить фишку двигаться из одного пункта в другой на автопилоте. Автопилот выстанавливается в игре. Он может меняться во время игры. Это собственно вопрос № 1Добавлено (14.02.2012, 16:34) --------------------------------------------- Да, забыл. Это не реал тайм. И не пошаговая стратегия. Возможно событийная. Т.е. если происходит событие - время игры останавливается, чтобы можно было осмыслить следующий шаг. Одним из останавливающих игру моментов является событие соприкосновение синего круга со спрайтом противника.
Ну и было бы здорово сделать так, чтобы время БЕЗ СОБЫТИЙ было бы раз в 1000 ускорено. Добавлено (15.02.2012, 00:49) --------------------------------------------- По ходу столкнулся с первым багом проги - перестала вдруг подгружать лэйаут. Хорошо, что записал проект в отдельную папку - смотрю там новый файл persist создался. Потер его - снова стала нормально грузиться. Так должно быть?
Еще вопросы. 1. Если вытащить в программу круг обнаружения с хорошим разрешением 1915 ч 1915 пиксел - если его сделать уже в программе 10 раз меньше - качество круга не пострадает? При касании круга другого спрайта очень важна хорошая точность, а не плюс минус бесконечность.
2. По какойто причине 640 на 480 пиксел окно в режиме игры отображется нормально, а вот стоит выставить 1915 на 1915, то его большая часть уходит в невидимую зону монитора в левом верхнем углу и не отображается никак. Посоветуете - как исправить?
3. Насчет RTS - понял. Но никак не пойму, какие характеристики у этого поведения. И чем заставить двигаться спрайт тоже не пойму. Ни на мышку ни на клаву он в режиме игры не реагирует. 8directions -реагирует, а тут нет.
Сообщение отредактировал Дима - Вторник, 14.02.2012, 16:29 |
|
| |
targitay | Дата: Среда, 15.02.2012, 10:22 | Сообщение # 7 |
Самый активны
Группа: Проверенные
Сообщений: 16
Статус: Offline
| насчет RTS... там есть в свойствах замечательная фишка "Move to..." (двигаться к…) - выбираешь вместо "..." любой спрайт и твой обьект с данным поведением будет всегда двигаться к спрайту "...". (событие "always"- действие -- выбираешь свой обьект с поведением RTS, вкладка RTS, -"move to"- выбираешь спрайт к которому надо двигаться) (или если нужно не нужно постоянное движение, а сойдет только когда обьект попадает на экран, то вместо "always" ставишь "on screen".) и тд. по аналогии. для избегания какого либо обьекта выбрать Set object to avoid (установить объект, который нужно избегать) (также во вкладке RTS)
так же эффективно комбинировать поведения RTS и LOS (LOS-"глаза" обьекту (т.е. допустим, враг видит или не видит твоих юнитов) например делаешь спрайт врага, ставишь ему поведение RTS и LOS, далее прописываешь: (событие ---always-- подсобытие ---on los--- (указываешь героя) действие --- move to--- твой герой) т.е. всегда если враг видит героя он начинает двигаться к нему. так же можно в свойствах LOS настроить "угол зрения" и "дальность зрения"
Первое, что хотелось бы понять как заставить фишку двигаться из одного пункта в другой на автопилоте. Автопилот выстанавливается в игре. Он может меняться во время игры. Это собственно вопрос № 1
как раз поведением RTS. функцией move to
Сообщение отредактировал targitay - Среда, 15.02.2012, 10:31 |
|
| |
xdronx | Дата: Среда, 15.02.2012, 19:31 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 114
Статус: Offline
| Дима, СПРАШИВАЙ ВОПРОСЫ НА ЭТОМ САЙТЕ МНЕ ТАМ БОЛЬШЕ ПРОФЕССИОНАЛОВ http://scirraman.ru/forum/index.php
|
|
| |
Дима | Дата: Пятница, 17.02.2012, 14:58 | Сообщение # 9 |
Рядовой
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Ув tarquitay, Спасибо!
Я, конечно, поковырялся, но вот, что получилось http://fotki.yandex.ru/users/a9a8a7/view/500723/?page=0
В поле 4 объекта - красный и черный - по вашему совету - пунткы патрулирования Зеленый - наш. Ездит по указанию мышки, куда укажут. Синий - враг. Ездит из Пункта красный в пункт черный. При столкновении нашего и врага - время останавливается.
1. Как сделать так, чтобы враг ездил не 2 раза а на постоянке? Пробовал Repeat, ставил в под-событие - да по ходу не туда.Добавлено (16.02.2012, 15:19) --------------------------------------------- Теперь еще 3 вопроса: 2. Как сделать так, чтобы можно было выбирать нашу фишку 3. Как выбирать группу фишек и задавать им перемещение на место клика курсора мышки? 3. Как сделать так, чтобы можно было один раз выбрать количество наших фишек (свести их в отряд) и оперировать только отрядом, как одной фишкой, а не каждой в отдельности взятой фишкой? Добавлено (16.02.2012, 15:49) --------------------------------------------- Да, еще, Как я понял, придется разложить фишку на кучу спрайтов, для большой фишки примерный расклад - 20-25 будут отвечать (каждый) за 1 оружие, дезактивируются большим, средним и мелким оружием - 10-15 за 1 оружие и его защиту, дезактивируются большим и средним оружием, - 50 просто за защиту, дезактивируются большим и средним оружием, - 2-5 за уничтожение объекта целиком дезактивируются только взаимодействием с большим оружием, - 100 ни за что отвечать не будут (просто это своего рода связка, тело), дезактивируются любым оружием - 100 за медленное уничтожение и потерю боеспособности в случае дезактивации, дезактивируются большим и средним оружием, -15 за постепенную потерю скорости движения, дезактивируются большим и средним оружием
Точно не расчитывал - это прикидка.
Это все поражается прицельно большим оружием на дистанции 0-3 км, с убыванием точности по экспоненте (на дистанции 8 км - 3%) вероятности поражения; на максимально дистанции большого красного круга - в отрисованной фишке - 0%.
В этой связи еще один вопрос. составная (правда самая большая) фишка из 400 спрайтов их в игре 30 - система потянет? Добавлено (17.02.2012, 04:38) --------------------------------------------- Да, Вот еще вопрос
Поместил в поле карту. Ничего сложного - белый цвет и черный. Там где белый - ездим. Та ге черный - нет. только вот после выставления SOLID фишка двигаться не стала вообще. Как я понял - белый цвет это тоже цвет - а нужна пустота.
Я не смогу убрать белый в ручную - Либо должна быть опция выделить весь белый и потереть. Либо опция рассматривающая белый (или выбранный иной) как пустоту. Так ли это? Добавлено (17.02.2012, 14:58) --------------------------------------------- С белым цветом разобрался - Wand Tool. Тыкаешь им и трешь.
Где находится Random?
|
|
| |
targitay | Дата: Понедельник, 20.02.2012, 16:03 | Сообщение # 10 |
Самый активны
Группа: Проверенные
Сообщений: 16
Статус: Offline
| 1. Как сделать так, чтобы враг ездил не 2 раза а на постоянке? Пробовал Repeat, ставил в под-событие - да по ходу не туда.
-- сделай с помощью переменных (как сделать я писал выше)
3. Как сделать так, чтобы можно было один раз выбрать количество наших фишек (свести их в отряд) и оперировать только отрядом, как одной фишкой, а не каждой в отдельности взятой фишкой?
---никогда не задовался подобной целью, но подозреваю, что нужну и врагов и своих выдельть в отдельные семьи.
Дима, СПРАШИВАЙ ВОПРОСЫ НА ЭТОМ САЙТЕ МНЕ ТАМ БОЛЬШЕ ПРОФЕССИОНАЛОВ http://scirraman.ru/forum/index.php
полностью согласен с xdronx, там много знающих людей обитает. сам у них учился..
будет время - попробую сделать исходники..
|
|
| |