Суббота, 23 Ноября 2024, 00:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
2 вопроса насчет моей будущей РТС
GsferusДата: Среда, 27 Июня 2012, 13:03 | Сообщение # 1
был не раз
Сейчас нет на сайте
Итак, сразу скажу, что опыт в скире у меня очень маленький, собсна поэтому я обращаюсь к вам. Я создаю игру в жанре немецких экономических игр (например затерянный мир или война и мир, сеттлерс), а значит - РТС. Собсна вот мои вопросы:
1. Чтобы можно было лучше понять вот вам пример (из игры Затерянный мир 1): Здесь мы видим 2 здания: одно - ненужное, то которое маленькое, обратим внимание на большое здание - мерию. Итак, мы видим как камнетес несет камень на склад (в нашем случае склад - мерия). Как только камнетес принесет свой камень, ближайший носильщик (который с сумкой) должен будет взять из мерии камень и отнести его на постройку здания. Как я думаю сделать такую механику в скире: создаем приватную переменную для носильщика. Создаем условие: если на складе есть 1 или больше камня то носильщик идет в мерию, забирает камень и опять ищет ближайшее место куда он должен отнести камень.( опять-таки не пойму как сделать, чтобы носильщик отнес именно в ближайшее место) Хотелось бы услышать ваши советы.)
2. Если посмотреть на картинку выше, то можно заметить, что вся игра в 2Д, кроме ландшафта. Итак, мне бы хотелось узнать: можно ли создать что-то подобное в скире?
Жду ваший ответов)
PocifikДата: Среда, 27 Июня 2012, 13:09 | Сообщение # 2
участник
Сейчас нет на сайте
Quote (Gsferus)
кроме ландшафта

не вижу что бы ландшафт тут был 3D

Quote (Gsferus)
можно ли создать что-то подобное в скире?

Конечно

Quote (Gsferus)
опять-таки не пойму как сделать, чтобы носильщик отнес именно в ближайшее место

То есть именно это твой вопрос? А то как то не ясно.
GsferusДата: Среда, 27 Июня 2012, 13:17 | Сообщение # 3
был не раз
Сейчас нет на сайте
Поправить меня если я неправильно сказал про механику носильщиков и если нетрудно, то и про ближайшее места тоже

Добавлено (27.06.2012, 13:17)
---------------------------------------------

Quote
не вижу что бы ландшафт тут был 3D

По словам разрабов - 3D
MasTerilDarДата: Среда, 27 Июня 2012, 13:19 | Сообщение # 4
безталантливый ХУДОжник пиксель артист :3
Сейчас нет на сайте
Quote (Gsferus)
Итак, сразу скажу, что опыт в скире у меня очень маленький

тогда тебе приедятся трудно. Попробуй что нибудь полегче, а потом за РТС берись.




Alle von euch Nya!
allxumukДата: Среда, 27 Июня 2012, 13:27 | Сообщение # 5
старожил
Сейчас нет на сайте
Quote (Gsferus)
как сделать, чтобы носильщик отнес именно в ближайшее место

Лови исходник/пример. Жмёшь мышью, на этом месте появляется "носильщик", который начинает двигаться к ближайшей цели.

Quote (Gsferus)
2. Если посмотреть на картинку выше, то можно заметить, что вся игра в 2Д, кроме ландшафта. Итак, мне бы хотелось узнать: можно ли создать что-то подобное в скире?

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


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
GsferusДата: Среда, 27 Июня 2012, 13:28 | Сообщение # 6
был не раз
Сейчас нет на сайте
Quote
тогда тебе приедятся трудно. Попробуй что нибудь полегче, а потом за РТС берись.

Я знаю, что создать РТС - дело очень непростое. Я сейчас пока что буду заниматься простенькими вещами, такими как: передвижение юнитов, строительство зданий - в общем то, что я сейчас в силах создать. Потом уже, возможно, пойму как работать в скире - тогда и буду делать самое трудное.
PocifikДата: Среда, 27 Июня 2012, 13:28 | Сообщение # 7
участник
Сейчас нет на сайте
Quote (Gsferus)
сли нетрудно, то и про ближайшее места тоже

Создай для зданий (ну и вообще всем кому это надо) приватную переменную Distance, затем когда надо выбрать ближайшего устанавливай тем кто тебе нужен переменную как Distance(Sprite.X, Sprite.Y, Sprite2.X, Sprite2.Y), затем делай так For Each Object (ordered) - Object(Sprite) - Order Expression (Sprite.Value('Distance')) - Mode(Descending). (Sprite это тот тип который надо искать (здание, рабочий), Sprite2 это тот кто ищет, например Рабочий ищет ближайший склад значит Sprite2 рабочий, а склад Sprite).

Как обычно делаю пример. (При нажатии ЛКП, он будет идти к ближайшей цели (расставляй как хочешь что бы убедится)).
GsferusДата: Среда, 27 Июня 2012, 13:30 | Сообщение # 8
был не раз
Сейчас нет на сайте
allxumuk, Какая у вас версия? Не соответствует у меня(
PocifikДата: Среда, 27 Июня 2012, 13:31 | Сообщение # 9
участник
Сейчас нет на сайте
Quote (allxumuk)
исходник/пример

Совсем забыл про эту функцию в констракте, лучше конечно использую так, а не как я написал.

Добавлено (27.06.2012, 13:31)
---------------------------------------------

Quote (Gsferus)
Какая у вас версия? Не соответствует у меня(

Я полагаю r2 (последняя)
GsferusДата: Среда, 27 Июня 2012, 13:32 | Сообщение # 10
был не раз
Сейчас нет на сайте
Pocifik, Та же история...

Добавлено (27.06.2012, 13:32)
---------------------------------------------
С версией

PocifikДата: Среда, 27 Июня 2012, 13:34 | Сообщение # 11
участник
Сейчас нет на сайте
Gsferus, r2
GsferusДата: Четверг, 28 Июня 2012, 16:41 | Сообщение # 12
был не раз
Сейчас нет на сайте
Я разобрался) Огромное спасибо)

Добавлено (28.06.2012, 16:41)
---------------------------------------------
Вопросик у меня появился: опять же в затерянном мире есть такая фича: когда по земле очень много ходят, она становится "притоптанной" то есть изменяется текстура и скорость хождения по такой земле увеличивается. Как реализовать похожее в скире?


Сообщение отредактировал Gsferus - Четверг, 28 Июня 2012, 17:02
allxumukДата: Четверг, 28 Июня 2012, 18:34 | Сообщение # 13
старожил
Сейчас нет на сайте
Для этого придётся разбить "землю" на много маленьких тайлов. План примерно такой:
1. Делаешь эти самые тайлы.
2. Берёшь их стандартную анимацию, обнуляешь её скорость, а на кадры ставишь изображения разных состояний земли.
3.
Code
Unit.On Collision another object (ground) -> ground.Add to value ('val') (1);
ground.Compare private value ('val') >= (10) -> ground.Set animation frame (ground.Get animation frame + 1), ground.Set value ('val') (0);

4.
Code
Unit.On collision another object (ground) -> Unit[RTS].Set max speed (ground.Get animation frame * 100)


Вот как-то так.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
GsferusДата: Четверг, 28 Июня 2012, 23:11 | Сообщение # 14
был не раз
Сейчас нет на сайте
Трудновато получится... В том смысле, что потом карты долго по маленьким тайлам создавать, а если тайлы будут большими - будет некрасиво. Пока что отложу эту идею на потом. Но все-равно спасибо!)

Сообщение отредактировал Gsferus - Четверг, 28 Июня 2012, 23:12
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг