АвторСообщение
noname
постоянный участник




Сообщение: 2
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.03.08 14:05. Заголовок: живой игровой мир


это особое направление для УРК-работ:

пусть все NPC живут своей жизнью, а не ждут ГГ. я подготовил пример, где они могут ходить по всем доступным локациям или не ходить (всего 4-ре персонажа, номер персонажа, которым будет управлять игрок задан в переменной 'игрок')

Спасибо: 0 
Профиль
Ответов - 136 , стр: 1 2 3 4 5 6 7 All [только новые]


noname
постоянный участник




Сообщение: 3
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.03.08 14:05. Заголовок: :инициализация // н..



:инициализация
// начало инициализации
invkill
perkill
игрок = 2 ; номер актёра
// актёры
instr актёр1имя = Честный Галантный Рыцарь
актёр1место = 11; номер поля
instr актёр2имя = Умиротворённый Обаятельный Мудрец
актёр2место = 21
instr актёр3имя = Нежная Добрая Принцесса
актёр3место = 22
instr актёр4имя = Бесшабашный Развязный Дракон
актёр4место = 12
актёров = 4; обязательно должен быть хотя бы один актёр
// поля
instr поле11вид = на яркой солнечной поляне
поле11_се = 12; куда переход, если 0- перехода нет
поле11_за = 0
поле11_юг = 0
поле11_во = 21
instr поле21вид = у красивого, освежающего водопада
поле21_се = 22
поле21_за = 11
поле21_юг = 0
поле21_во = 0
instr поле22вид = под отвесной величественной скалой
поле22_се = 0
поле22_за = 12
поле22_юг = 21
поле22_во = 0
instr поле12вид = в удивительно прозрачном мелком ручейке
поле12_се = 0
поле12_за = 0
поле12_юг = 11
поле12_во = 22
полей = 22;максимумы по горизонтали и по вертикали
// завершение инициализации
goto ГЛАВНАЯ_ЛОКАЦИЯ
end

:ГЛАВНАЯ_ЛОКАЦИЯ
proc мотор ; ходят все остальные
proc отображение
goto идёт_игрок ; вне очереди, иначе- невероятно усложнится алгоритм
end

:отображение
pln Вы #%поле#актёр#игрок$место$вид$
pln Здесь находятся:
pln
счётчик = 0
:loop_2
счётчик = счётчик + 1
if актёр#счётчик$место = актёр#игрок$место then pln - #%актёр#счётчик$имя$
if счётчик<актёров then goto loop_2
end

:мотор
// начало движения
идёт_кто = 0
:loop_1
идёт_кто=идёт_кто+1
дел = 0
if поле#актёр#идёт_кто$место$_се <> 0 then дел=дел+1 & идёт_куда#дел$=поле#актёр#идёт_кто$место$_се
if поле#актёр#идёт_кто$место$_за <> 0 then дел=дел+1 & идёт_куда#дел$=поле#актёр#идёт_кто$место$_за
if поле#актёр#идёт_кто$место$_юг <> 0 then дел=дел+1 & идёт_куда#дел$=поле#актёр#идёт_кто$место$_юг
if поле#актёр#идёт_кто$место$_во <> 0 then дел=дел+1 & идёт_куда#дел$=поле#актёр#идёт_кто$место$_во
if игрок <> идёт_кто then proc идёт_актёр
if идёт_кто < актёров then goto loop_1
// конец всех действий
pln
end

:идёт_актёр
дел=дел+1 ; добавляем ожидание
выбранное_дело = rnd#дел$ ; от 1 до 'дел' включительно
if выбранное_дело = дел then goto skip
if актёр#идёт_кто$место = актёр#игрок$место then pln #%актёр#идёт_кто$имя$ вышел
актёр#идёт_кто$место = идёт_куда#выбранное_дело$
if актёр#идёт_кто$место = актёр#игрок$место then pln вошёл #%актёр#идёт_кто$имя$
:skip
end

:идёт_игрок
if поле#актёр#игрок$место$_се <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_се}, пойти на север
if поле#актёр#игрок$место$_за <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_за}, пойти на запад
if поле#актёр#игрок$место$_юг <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_юг}, пойти на юг
if поле#актёр#игрок$место$_во <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_во}, пойти на восток
btn ГЛАВНАЯ_ЛОКАЦИЯ, ждать
end

:идёт
актёр#игрок$место = идёт_куда1
goto ГЛАВНАЯ_ЛОКАЦИЯ
end

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 4
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.03.08 14:23. Заголовок: что дальше: 1. персо..


что дальше:
1. персонажи должны выполнять дейсвтия
наугад одно из доступных действий
важно научиться составлять списки доступных действий
2. дифференцировать персонажей по свойствам
может ли некто сдвинуть шкаф зависит от его силы
я абсолютно против того, что бы в действии явно прописывалось,
кто его может сделать.
взаимодействия персонажей и действия с вещами должны строиться
на обработке значений их свойств.
3. добавить чуточку интеллекта.
очень просто: у каждого персонажа будет список желаний и
список страхов,персонаж не станет делать действия из списка
страхов, а если в списке доступных действий есть то,
что он хочет- он делает это
(в данном случае все желания одинаково желанны)
4. добавить экономику:
расставим в мире прилавки с товарами
действия персонажей могут приводить к увеличению или уменьшению кол-ва товаров на прилавках. при смене дня продавец уменьшает на 1 цену тоаров, которых стало больше и
увеличивает на 2 цену товаров, которых стало меньше. это ориентировочно.
5. добавить особые свойства персонажей
например: дракон наступил на ногу торговцу
теперь торговец не любит дракона(свойство отношение к)
теперь он не станет дарить дракону подарок,
а при встрече с рыцарем сможет сделать заказ:
"вызвать дракона на дуэль".
здесь действие подарить подарок зависит от отношения
действие заказать на кого-либо дуэль возможно, если рыцарь рядом
и так же сависит от отношения.

ну или усложнить их поведение можно так: рыцарь может поцеловать принцессу
только после того, как она ему улыбнётся
6. это всё для обычных тупых NPC, что бы создать взаимосвязанный социум, а для некоторых NPC поведение будет дописано дополнительно, если они задействованы в сюжетной линии.


Спасибо: 0 
Профиль
Хломидоманад
постоянный участник




Сообщение: 182
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 19.03.08 23:16. Заголовок: У меня в "Корпор..


У меня в "Корпорации" был, кажется, один (а может, больше, но я забыл) действительно автономный актер - турист на вокзале. Был, кроме того, народец у лифта и еще кучка "псевдоавтономных"... А в 300,000 евро был Гэри, который таскался следом за гг и тоже претендовал на некоторую самостоятельность... не совсем такую, как пишешь ты, но тоже вносящую определенный оживляж в геймплей.
Особого направления, соответственно, здесь не вижу. Ни для урки, ни, тем более, для текстовых игр в целом. Просто никто пока не брался написать на урке игру, где эти элементы автономии нпц играли бы существенную роль в игровом процессе. Если ты хочешь этим заняться - обеими руками поддерживаю инициативу. Только тогда нет смысла выкладывать какой-то промежуточный код:). Пункты в последнем посте забавные, неплохо бы еще в последствии проработать для каждого обитателя специфический маршрут (скажем, дракон не потащится в город, а принцесса - к дракону в пещеру). Главное - не делать идею "своей жизни" самоцелью. Все равно в первую очередь важна нормальная игра с полноценным сюжетом. А "живые" нпц - только средство для достижения эффекта погружения в эту игру.

Спасибо: 1 
Профиль
noname
постоянный участник




Сообщение: 6
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.03.08 23:46. Заголовок: на самом деле мне хо..


на самом деле мне хочется сделать не игру, а некоторую фэнтезюшную модель социума. поэтому пункт 6 меня не интересует напрочь (скажем, дракон не потащится в город, а принцесса - к дракону в пещеру). она не войдёт к нему в пещеру, если у неё по свойствам будет прописано, что она порядочная девушка и в правилах поведения будет прописано что порядочные девушки не заходят в жилище плохих парней и для дракона будет прописано что он плохой парень и для пещеры будет прописано, чьё это жилище... фууу-ух!
P.S.
ну до такой проработки мира дойдёт не скоро, но по чуть-чуть улучшать ИИ можно
меня интересуют общие правила, программирование конкретных событий- нет
впрочем просчёт маршрута исходя из конечной цели- тоже задача
(штоп не болтались туда-сюда, а шли куда-то конкретно)
P.P.S.
1 больше всего меня интересуют самоорганизующиеся процессы
2 ещё меня интересует моделирование социума
3 разве не здорово создать живой мир?

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 7
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.03.08 23:56. Заголовок: у меня проблема: сл..


у меня проблема:
следующий код досурка понимает, а акурка- нет:

qqq = "ждать"
if qqq = "ждать" then pln horray
pln ok

досурка даёт оба сообщения, акурка- ни одного...
это катастрофа!

см кусок моего следующего примера:

if поле#актёр#чей_ход$место$_во <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="восток"
// ждать - всегда доступное действие без аргументов (необходимо всегда иметь хотя бы одно доступное действие)
дел=дел+1 & дело#дел$="ждать"

в этом примере делоN хранит действие, которое надо делать
арг1N, арг2N и арг3N - аргументы, например дело №73:
дело73="привязать"&арг173="лошадь"&арг273="верёвкой"&арг373="к забору"

в приведённом куске я составляю список доступных дел
потом из них выбираю одно и запускаю на исполнение

в досурке мне не хватает xbtn
акурка мне начала нравиться, но пусть, блин она работает,
и ПОЖАЛУЙСТА- поближе к досурке по системе комманд,
чтоб не учить два языка
(я с досуркой еле разобрался, а на акурку описалова похуже будут)

Спасибо: 0 
Профиль
Platov



Сообщение: 9
Зарегистрирован: 05.03.08
ссылка на сообщение  Отправлено: 20.03.08 01:50. Заголовок: noname, ничего лично..


noname, ничего личного, но меньше паники. ) Зачем дублировать сообщение во все темы которые хоть как-то соприкасаются с проблемой? Темы на форуме обновляются нечасто, народ особо не флудит, потому проблем с прочтением всех новых сообщений обычно не возникает. )

Спасибо: 0 
Профиль
Хломидоманад
постоянный участник




Сообщение: 183
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 20.03.08 01:57. Заголовок: noname пишет: qqq =..


noname пишет:

 цитата:
qqq = "ждать"
if qqq = "ждать" then pln horray
pln ok


С точки зрения правил хорошего тона досурки код присвоения должен выглядеть так:
instr qqq=ждать
А акурка не выдает ни одного сообщения, потому что повисает... лично у меня. В последних версиях действительно что-то веселое со строками (не работает даже код Корва из учебника, оказывается). Пинать Акелу по этому поводу (и по любому другому) в ближайшую вечность совершенно бесполезно, так как Акурка нынче находится, что называется, on a hiatus.
Без xbtn можно прописать абсолютно все, уверяю тебя.

Спасибо: 0 
Профиль
Korwin
постоянный участник


Сообщение: 336
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 20.03.08 06:37. Заголовок: Xbtn


Xbtn в досурке сделать можно. Виктор делал программу, которая обрабатывала код квеста и преобразовала xbtn в понятные интерпретатору подпрограммы. По-моему в upload можно ее найти. Идея живого мира очень нравится, хотя сделать ее сложно. Пробовал.:)

Спасибо: 1 
Профиль
Евгений
почётное бревно




Сообщение: 354
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.03.08 11:23. Заголовок: Вообще, в досурке, п..


Вообще, в досурке, по-моему, правильнее писать так

instr qqq =ждать
if qqq == "ждать" then pln horray
pln ok

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

Спасибо: 1 
Профиль
Хломидоманад
постоянный участник




Сообщение: 184
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 20.03.08 18:28. Заголовок: Евгений пишет: if ..


Евгений пишет:

 цитата:

if qqq == "ждать" then pln horray


Тоже всегда писал так и собирался было поправить, но глянул на код Корва в "Джинне" и, в общем, осекся:).
Живой мир - это, конечно, интересно, но вне какого-то конкретного сюжета лично я вряд ли мог бы наслаждаться его живостью больше минут 10-15. Учитывая, что других по-настоящему живых обитателей, кроме меня, там нет, проще выйти на улицу:).

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 11
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.03.08 22:29. Заголовок: Хломидоманад пишет: ..


Хломидоманад пишет:

 цитата:
Без xbtn можно прописать абсолютно все, уверяю тебя.


скажи- как и буду писать в досурке.

и будет ли понят "instr qqq =ждать" после "then"?

например, как надо было писать вот эти четыре строчки:
(делоN= действие номерN, арг1N= его первый аргумент, .. ,аргMN= его аргумент номер M
переменная "дел" - счётчик возможных для данного персонажа дел)

"
if поле#актёр#чей_ход$место$_се <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="север"
if поле#актёр#чей_ход$место$_за <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="запад"
if поле#актёр#чей_ход$место$_юг <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="юг"
if поле#актёр#чей_ход$место$_во <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="восток"
"

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 12
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.03.08 22:40. Заголовок: Евгений пишет: Идея..


Евгений пишет:

 цитата:
Идея живого мира, меня тоже всегда занимала, но там и правда сложновато


описанные тобой сложности- далеко впереди.
путь в тысячу ли начинается с одного шага - китайская поговорка
(для сравнения- путь вокруг китайской стены около 30 ли)

что я УЖЕ сделал:
см второй пост темы.
1.герои не просто ходят(и ждут)- они ходят везде, где ВОЗМОЖНО, а не там, где им положено
2.человек может играть за ЛЮБОГО персонажа

что я ПОЧТИ сделал:
переписал свою прогу. мир стал больше, больше персонажей (- мой код ЛЕГКО расширяем),
у персонажей появились АТРИБУТЫ сила и ловкость, персонажи :(могли_бы:( брать и выкладывать предметы, а главное- прога переписана в новом стиле- теперь можно будет(когда я пойму, как заставить это работать) ЛЕГКО добавлять новые действия.

добавил действие - и все персонажи умеют делать это
добавил персонажа - он умеет делать всё, что возможно
добавить локацию? - запросто!

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 13
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.03.08 22:52. Заголовок: Евгений пишет: - ск..


Евгений пишет:

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


таких хитрых неписей пока не сделала ни одна фирма ни гражданская ни (можешь поверить на слово) военная.

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

Евгений пишет:

 цитата:
В итоге получится, что на одного нпц уйдет кода больше чем на среднюю игру :)


что уйдёт на одного- тем будут пользоваться все.
просто у разных персонажей будут разные свойства, разное отношение к одному и тому же, возможно, какие-то личные воспоминания.(как в симах2: вспомнил про пожар и- заплакал)


Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 14
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.03.08 22:55. Заголовок: Хломидоманад пишет: ..


Хломидоманад пишет:

 цитата:
Учитывая, что других по-настоящему живых обитателей, кроме меня, там нет, проще выйти на улицу:).


там их тоже нет.
Сократ, чи Диоген ходил днём по улицам с факелом и кричал: "ищу человека!"
я ищу в интернете. на ariom.ru. результат поиска пока в процессе обработки.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 17
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.03.08 23:40. Заголовок: да, про строки я уже..


да, про строки я уже спросил,
а как обойтись без xbtn в данном примере:

"

:идёт_игрок
if поле#актёр#игрок$место$_се <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_се}, пойти на север
if поле#актёр#игрок$место$_за <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_за}, пойти на запад
if поле#актёр#игрок$место$_юг <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_юг}, пойти на юг
if поле#актёр#игрок$место$_во <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_во}, пойти на восток
btn ГЛАВНАЯ_ЛОКАЦИЯ, ждать
.....
end

"

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 18
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.03.08 23:42. Заголовок: прошу учесть, что вм..


прошу учесть, что вместо идёт_куда будет дело#дел$="идти на" & арг1#дел$="север"
аналогично примеру со строками

Спасибо: 0 
Профиль
Korwin
постоянный участник


Сообщение: 338
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 21.03.08 07:13. Заголовок: noname пишет: а как..


noname пишет:

 цитата:
а как обойтись без xbtn в данном примере:

"

:идёт_игрок
if поле#актёр#игрок$место$_се <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_се}, пойти на север
if поле#актёр#игрок$место$_за <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_за}, пойти на запад
if поле#актёр#игрок$место$_юг <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_юг}, пойти на юг
if поле#актёр#игрок$место$_во <> 0 then xbtn идёт,{идёт_куда1 = поле#актёр#игрок$место$_во}, пойти на восток
btn ГЛАВНАЯ_ЛОКАЦИЯ, ждать
.....
end



Например так:
:идёт_игрок
if поле#актёр#игрок$место$_се <> 0 then btn идётсе, пойти на север
if поле#актёр#игрок$место$_за <> 0 then btn идётза, пойти на запад
...
btn ГЛАВНАЯ_ЛОКАЦИЯ, ждать
.....
end

:идётсе
идёт_куда1 = поле#актёр#игрок$место$_се
goto #%previous_loc$
end

:идётза
идёт_куда1 = поле#актёр#игрок$место$_за
goto #%previous_loc$
end



Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 20
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 08:58. Заголовок: Korwin пишет: if по..


Korwin пишет:

 цитата:
if поле#актёр#игрок$место$_се <> 0 then btn идётсе, пойти на север


тут ты прав.
я бестолково обрисовал проблему и решение получилось простое,
НО суть глубже:

идти так реализовано, потому что направлений мало и их проще перечислить, чем создавать переменную направление_N,

а что с остальными командами?
команда взять что-либо генерит все кнопки в одном ифе:

if ... then xbtn ход_игрока,{дело#дел$="взять" & арг1#дел$=вещь#счётчик$_имя},#%...$

это позволяет легко добавлять вещи в разделе инициализации, не затрагивая кода.
какую именно из вещей игрок решил взять- ясно будет только ПОСЛЕ нажатия кнопки.
а если аргумент не один, а три?- как тогда?
создавать массив процедур NхMxK?
теоретически можно в локации ход_игрока выцепить название вещи из btn_caption,
НО это уже сложности- прийдётся писать парсер, разбирающий, что НАЖАЛ игрок.

в-общем, мысль была такова: с помощью xbtn можно делать то, что без него- нельзя.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 21
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 09:03. Заголовок: а что если в моём пр..


а что если в моём примере получится 90 кнопок, как досурка на это отреагирует?
да и текст с учётом отображений кто/что сделал в локации, где сидит игрок
может быть длиннее 90 строк.

но выход - есть!

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

если бы милена была не ПОЧТИ а совсем совместима- я бы проверил на ней свою прогу.

Спасибо: 0 
Профиль
Korwin
постоянный участник


Сообщение: 339
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 21.03.08 09:20. Заголовок: Спроси у Виктора его..


Спроси у Виктора его программу по конвертации xbtn в подпрограммы.

Спасибо: 0 
Профиль
Korwin
постоянный участник


Сообщение: 340
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 21.03.08 09:28. Заголовок: noname пишет: если ..


noname пишет:

 цитата:
если бы милена была не ПОЧТИ а совсем совместима- я бы проверил на ней свою прогу.



не смеши мои тапочки, дружище... задача установления полной совместимости является НЕТРИВИАЛЬНОЙ.

Проще сразу писать на Милене, благо автор "жив" и работает над системой регулярно. Или уж тогда правда на QSP, где много действий на одной кнопке присутствуют изначально. Но QSP работает только с целыми числами - если это важно, то надо думать.

Спасибо: 0 
Профиль
Борщевский



Сообщение: 56
Зарегистрирован: 02.08.07
ссылка на сообщение  Отправлено: 21.03.08 14:23. Заголовок: noname пишет: а что..


noname пишет:

 цитата:
а что если в моём примере получится 90 кнопок, как досурка на это отреагирует?


Я знаю как я на это отреагирую
Если я увижу игру в которой 90 кнопок, я закрою ее сразу же, и больше никогда не буду даже пытаться в нее играть
noname пишет:

 цитата:
а то пишут милену, которая с ними совместима,


она совместима никогда не будет, это даже теоретически невозможно, потому что досурка и акурка несовместимы между собой, а акурка еще и между версиями


Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 23
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 18:51. Заголовок: Korwin пишет: Спрос..


Korwin пишет:

 цитата:
Спроси у Виктора его программу по конвертации xbtn в подпрограммы.



такая прога или невозможна, или не сработает в моём случае.
и где спросить Виктора?

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

буду теперь изучать текстовый ввод и работу со строками.
предполагаемая платформа- досурка.

хотя, хорошо бы и QSP изучить...

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 24
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 19:25. Заголовок: ознакомился с описан..


ознакомился с описанием QSP, и вот что я про него скажу:

в отличие от урки это НЕ универсальный язык. в урке я могу смело игнорировать их инвентарь и неточное сравнение строк, которые, если я и буду использовать, то не так, как это предполагалось авторами. в QSP я не могу(ведь так?)игнорировать их систему добавления объектов и действий и писать всё по своему.

почему это важно:

я не терплю ограничений, так как из-за них на каком-то этапе окажется, что я не в состоянии реализовать очередной этап своего замысла. поэтому до урки я выбирал либо C++ либо Delphi. побаловавшись с уркой я понял, что некоторые вещи писать на ней быстрее и проще. При этом моё видение игрового мира таково, что RTADS меня не устроил (это было около полутора лет назад).

в моём видении игрового мира персонажи не перемещаются по локациям. даже ГГ. они только думают, что перемещаются. такая иллюзия создаётся переменной "актёр#номер_актёра$_место", которая хранит предполагаемое местонахождение данного персонажа(аналогично и для других объектов). создание иллюзии игрового мира заключается в правильной обработке набора таких переменных каждого объекта. такой подход даёт максимальные возможности автору. вплоть до создания и удаления объектов, персонажей, локаций во время игры, как результат их взаимодействия.(например, если у пары рождается ребёнок- даём ему наугад имя из списка имён его пола, фамилию родителей и отчество, задаём некоторые отношения с родителями и его личные характеристики- и так может смениться сколь угодно много поколений).(или например игрок может редактировать игровой мир в процессе игры, пользуясь мастер-командами, как это делается в MUD-ах, а затем сохранить получившийся квест).

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

хорошо бы изучить Милену... но есть ли на неё описание, и насколько она страдает багами?

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 26
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 19:30. Заголовок: а ещё посты Guest и ..


а ещё посты Guest и Борщевского мне не нравятся то ли своим духом антирекламы, то ли какой-то въедливой ехидцей... ну как-то не увидел я рыцарей РИЛ в сверкающих доспехах. в урк-сообществе общение как-то более приятно.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 28
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 21:20. Заголовок: вроде всё продумал, ..


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

...
instr актёр6имя = Выносливый Пещерный Гном
актёр6место = 33
актёр6сила = 4
актёр6ловкость = 3
актёр6вещей = 0
поле33_актёров = поле33_актёров+1
макс_актёров = 6; обязательно должен быть хотя бы один актёр
// игрок
pln Выбери своего персонажа:
выбор =0
счётчик=0
:инициализация_метка_1
счётчик=счётчик+1
xbtn предварительный_выбор_игрока_локация,{выбор=#счётчик$},#%актёр#счётчик$имя$
if счётчик<макс_актёров then goto инициализация_метка_1
// завершение инициализации
end

;------------------------------------------------
:предварительный_выбор_игрока_локация
pln Твой выбор - #%актёр#выбор$имя$
pln Сила = #актёр#выбор$Сила$
pln Ловкость = #актёр#выбор$Ловкость$
btn окончательный_выбор_игрока_локация, играть этим персонажем
xbtn инициализация_метка_1,{счётчик=0 & pln Выбери своего персонажа:}, вернуться в меню выбора
end

;------------------------------------------------
:окончательный_выбор_игрока_локация
игрок = выбор
goto главная_локация
end

;------------------------------------------------
;************************************************
:главная_локация
proc мотор_локация ; ходят все NPC
proc отображение_локация
goto ход_игрока_локация ; последний в очереди
end
;************************************************
...

да, два удобных xbtn: коротко и ясно!
ну ничего, мучиться буду не я, а игроки...

да, и вот ещё что: ну сделай Victor переключение на русский!
представь: скачал новый посетитель твою досурку, поиграл в игру про Таню Одел (Горафовская вроде бы), и раз- надо вводить текст по русски. что делать? вышел из игры,
почитал тексты- ага, нужен unikbd.

что можно сказать по этому поводу? даже если чел вкурсе, что такое unikbd и как его запустить под винду в батнике с игрой, всё равно его это напряжёт. а большинство после такой засады вообще забьёт на досурку.

а мой игровой мир с текстовым вводом (делаю) напряжёт его ещё раз. и не раз.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 29
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 21.03.08 23:25. Заголовок: да, кстати: у меня н..


да, кстати:
у меня нет unikbd.com...
и в и-нете я не смог его скачать
(нашёл только образ загрузочной дискеты с ним, но у меня нет дисковода)
и в комп фирме не в любой нынче есть досовские утилиты...

кто даст ссылку на работающий unikbd.com - тот даст мне возможность продолжать работу над примером№2 в эту тему.

я щёлкну спасибо...

P.S.
видать не часто новички доходят до этапа "попытаться-таки ввести слово по русски"
а ведь квесты с русским текстовым вводом в ваших архивах имеются...
P.P.S.
вот, как кто считает: полезно ли было бы сделать так, что бы в досурке можно было переключаться на русский ввод горячей клавишей?


Спасибо: 0 
Профиль
Евгений
почётное бревно




Сообщение: 355
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.03.08 23:56. Заголовок: Можно использовать л..


Можно использовать любой переключатель клавиатуры, начиная с keyrus( http://ru.wikipedia.org/wiki/KeyRus ). А если запускать игры в фаре, то там раскладка переключается вместе с виндовской. А ещё я как то написал для досурки декодер в кирилицу через аски коды и anykey. Правда, он не совсем корректен, но его даже использовали. Кажется, Корвин в своем "Джинне из машины".

Спасибо: 1 
Профиль
Mioirel



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.03.08 23:58. Заголовок: Смелая задумка. Жела..


Смелая задумка. Желаю успехов noname. Кстати, qsp достаточно универсален, и на нем в принципе можно реализовать текстовую игру любой сложности задумки. От cya до roguelike и “чистокровной парсерной if”.

Спасибо: 0 
noname
постоянный участник




Сообщение: 30
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 08:56. Заголовок: Евгений пишет: Можн..


Евгений пишет:

 цитата:
Можно использовать любой переключатель клавиатуры, начиная с keyrus

Евгений пишет:

 цитата:
А ещё я как то написал для досурки декодер в кирилицу через аски коды и anykey. Правда, он не совсем корректен,


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

 цитата:
А если запускать игры в фаре, то там раскладка переключается вместе с виндовской.


хорошая новость! буду пробовать...

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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 31
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 09:07. Заголовок: Mioirel пишет: Кста..


Mioirel пишет:

 цитата:
Кстати, qsp достаточно универсален, и на нем в принципе можно реализовать текстовую игру любой сложности задумки. От cya до roguelike и “чистокровной парсерной if”.


когда я постнул (год - полтора назад) про трудности в реализации кой-чего на досурке, мне через час-два кинули ссылку на свежеиспечённый qwerty-bench-vic. что касается QSP, то с первого взгляда его описалово выглядит непривычно, а фэны QSP только расхваливают его и хвастаются хорошей технической поддержкой, но кода я не вижу.
P.S.
на RTADS тоже быстро отвечали на мои запросы, что очень приятно
P.P.S.
что мне нужно от QSP-мастера (если есть такой, заинтересованный в продвижении этого языка): код проги, в которой будет возможность перемещаться, брать/выкладывать предметы, игрок выбирает любого персонажа для игры, каждый персонаж на своём ходу выбирает любое из возможных действий (наугад с равной вероятностью) и выполняет его. у игрока столько же возможностей, сколько у любого другого персонажа (собственно игрока там и нет- есть номер управляемого им персонажа).

только сравнив краткость и читаемость полученного кода с тем, что у меня получается на URQL я смогу оценить QSP, а заодно это будет хорошим пособием для изучения его языка.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 32
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 09:17. Заголовок: Mioirel пишет: Смел..


Mioirel пишет:

 цитата:
Смелая задумка. Желаю успехов noname.


пока что моя очередная моя задумка полностью описана в предыдущем посте.

у меня там 6-ть персонажей, 9-ть локаций(3х3), предметы пока толком не сделал, но для тестинга их нужно штук 9-ть (а то один из персонажей может утащить их сразу 6-ть за раз).

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

Спасибо: 0 
Профиль
Byte



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.03.08 10:03. Заголовок: noname пишет: в урк..


noname пишет:

 цитата:
в урке я могу смело игнорировать их инвентарь и неточное сравнение строк, которые, если я и буду использовать, то не так, как это предполагалось авторами. в QSP я не могу(ведь так?)игнорировать их систему добавления объектов и действий и писать всё по своему.


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

Спасибо: 0 
noname
постоянный участник




Сообщение: 33
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 13:17. Заголовок: что я могу ответить ..


что я могу ответить на все хвалебные статьи о QSP см в моём посте чуть выше:

 цитата:
Отправлено: Сегодня 09:07. Заголовок: Mioirel пишет: Кста..


к этому мне нечего добавить. обещаю, что буду изучать QSP, но особого энтузиазма его описание не вызывает. пока склоняюсь к URQL. может сам когда-нибудь напишу на него интерпретатор под винду.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 34
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 15:31. Заголовок: Евгений пишет: А ес..


Евгений пишет:

 цитата:
А если запускать игры в фаре, то там раскладка переключается вместе с виндовской.


эт правда... только, если из-под фара запустить досурку, то ей это переключение раскладки нипочём... а я тебе уже спасибо ляпнул.
P.S.
прошу проверять свои советы до того, как их постить- всяких непроверенных идей у меня у самого вагон. а я, блин с этим фаром времени хоть и мало потерял, но всё равно жалко. да ладно, пригодится мне Far ещё не раз- знатная программулина.
P.P.S.
unikbd.com должен лежать в одном архиве с досуркой, или хотя бы поблизости.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 37
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 16:13. Заголовок: читал в другой теме ..


читал в другой теме этого форума, что Акурка1.28pre1 нормально работает...
слухи не подтвердились. то, что нормально прокатывало в pre6, первая не хавает.
неправильно работает такой кусок кода:

...
instr актёр6имя = Выносливый Пещерный Гном
актёр6место = 33
актёр6сила = 4
актёр6ловкость = 3
актёр6вещей = 0
поле33_актёров = поле33_актёров+1
макс_актёров = 6; обязательно должен быть хотя бы один актёр
; игрок
pln Выбери своего персонажа:
выбор =0
счётчик=0
:инициализация_метка_1
счётчик=счётчик+1
xbtn предварительный_выбор_игрока_локация,{выбор=#счётчик$},#%актёр#счётчик$имя$
if счётчик<макс_актёров then goto инициализация_метка_1
...

вроде и xbtn отдельно работает и всё остальное, запускаю на pre6- выводит список персонажей, на pre1 - синтакс ерроры, а если обрубить остальную часть программы и дать кусок сначала досюда(см выше), то даёт одну кнопку с капчионом "0".

может {выбор=#счётчик$} не так понимает?
вобщем, плюнул я на Акурку. попробую доделать свой пример№2 на досурке, а затем начну свой интерпретатор URQL под винду. 100% совместимый с досуркой + некоторые доп возможности.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 38
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 21:13. Заголовок: прошу прощения, что ..


прошу прощения, что засыпал вас постами.
боюсь, из-за их обилия никто не будет их читать.
но на следующий мой пост стоит обратить внимание.
что я изменил в своём примере:
(у меня был почти доделан 2-й пример, но не работал)

переделал его концепт дважды
расширил игровой мир
и пару раз запутался в наполовину переделанной программе
доделал обработку ввода игрока (простейший парсер)
убрал пока все вещи и действия с ними (опустился до 1-го примера)
оттестил прогу и убрал все баги (странности интерфейса- не баг!)

и сейчас выложу его следующим постом.
просьба: опишите, кто как запускает досовские квесты с русификатором
я, блин, мучаюсь с keyrus.com, который виснет в Far-е
и с VC, который не понимает длинных имён
и вообще не любит мой большой винт.

продолжу работу до полностью работающего примера№2
и подумаю, то ли писать пример№3, то ли интерпретатор URQL

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 39
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 22.03.08 21:15. Заголовок: ;ex1pars.qst ;первый..


;ex1pars.qst
;первый пример. парсерная версия
;------------------------------------------------
:инициализация_локация
; начало инициализации
invkill
perkill
; поля
instr поле11вид = на яркой солнечной поляне
поле11_се = 12; куда переход, если 0- перехода нет
поле11_за = 0
поле11_юг = 0
поле11_во = 21
поле11актёров = 0
поле11вещей = 0
instr поле21вид = у красивого, освежающего водопада
поле21_се = 22
поле21_за = 11
поле21_юг = 0
поле21_во = 31
поле21актёров = 0
поле21вещей = 0
instr поле31вид = на холме, покрытом множеством цветов
поле31_се = 32
поле31_за = 21
поле31_юг = 0
поле31_во = 0
поле31актёров = 0
поле31вещей = 0
instr поле12вид = в лесу, наполненном весёлым щебетом
поле12_се = 13
поле12_за = 0
поле12_юг = 11
поле12_во = 22
поле12актёров = 0
поле12вещей = 0
instr поле22вид = в удивительно прозрачном мелком ручейке
поле22_се = 23
поле22_за = 12
поле22_юг = 21
поле22_во = 32
поле22актёров = 0
поле22вещей = 0
instr поле32вид = в лесу, устланном ароматными листьями
поле32_се = 33
поле32_за = 22
поле32_юг = 31
поле32_во = 0
поле32актёров = 0
поле32вещей = 0
instr поле13вид = в уютном домике лесного эльфа
поле13_се = 0
поле13_за = 0
поле13_юг = 12
поле13_во = 0
поле13актёров = 0
поле13вещей = 0
instr поле23вид = под отвесной величественной скалой
поле23_се = 0
поле23_за = 0
поле23_юг = 22
поле23_во = 0
поле23актёров = 0
поле23вещей = 0
instr поле33вид = в богато украшенной гномьей пещере
поле33_се = 0
поле33_за = 0
поле33_юг = 32
поле33_во = 0
поле33актёров = 0
поле33вещей = 0
макс_полей = 33;максимумы по горизонтали и по вертикали
;просматриваем прямоугольник от 11 до 33. он может и не весь быть заполнен локациями
;пришла в голову идея составлять таблицу переходов отдельным редактором, как в Adrift.
; актёры
instr актёр1имя = Честный Галантный Рыцарь
актёр1место = 12; номер поля
актёр1сила = 5
актёр1ловкость = 6
актёр1вещей = 0
поле12_актёров = поле12_актёров+1 ; актёр добавлен
instr актёр2имя = Умиротворённый Обаятельный Мудрец
актёр2место = 21
актёр2сила = 2
актёр2ловкость = 1
актёр2вещей = 0
поле21_актёров = поле21_актёров+1
instr актёр3имя = Нежная Добрая Принцесса
актёр3место = 32
актёр3сила = 1
актёр3ловкость = 2
актёр3вещей = 0
поле32_актёров = поле32_актёров+1
instr актёр4имя = Бесшабашный Развязный Дракон
актёр4место = 22
актёр4сила = 6
актёр4ловкость = 5
актёр4вещей = 0
поле22_актёров = поле22_актёров+1
instr актёр5имя = Ловкий Лесной Эльф
актёр5место = 13
актёр5сила = 3
актёр5ловкость = 4
актёр5вещей = 0
поле13_актёров = поле13_актёров+1
instr актёр6имя = Выносливый Пещерный Гном
актёр6место = 33
актёр6сила = 4
актёр6ловкость = 3
актёр6вещей = 0
поле33_актёров = поле33_актёров+1
макс_актёров = 6; обязательно должен быть хотя бы один актёр
; игрок
выбор = rnd#макс_актёров$
:инициализация_метка_1
goto предварительный_выбор_игрока_локация
; завершение инициализации
end

;------------------------------------------------
:предварительный_выбор_игрока_локация
выбор = выбор+rnd#макс_актёров-1$ ; выбираем любого персонажа, кроме того же самого
if выбор>макс_актёров then выбор=выбор-макс_актёров
pln Имя : #%актёр#выбор$имя$
pln Сила = #актёр#выбор$Сила$
pln Ловкость = #актёр#выбор$Ловкость$
btn окончательный_выбор_игрока_локация, играть этим персонажем
btn инициализация_метка_1, выбрать другого персонажа
btn выбор_персонажа_с_клавиатуры_локация, ввести имя персонажа
end

;------------------------------------------------
:окончательный_выбор_игрока_локация
игрок = выбор
pln #%игрок$
goto главная_локация
end

;------------------------------------------------
:выбор_персонажа_с_клавиатуры_локация
instr name=
input name
выбор = 0
счётчик = 0
:выбор_персонажа_с_клавиатуры_метка_1
счётчик = счётчик+1
if name=актёр#счётчик$имя then выбор=счётчик
if счётчик<макс_актёров then goto выбор_персонажа_с_клавиатуры_метка_1
;в следующей строчке "выбор = rnd#макс_актёров$" добавлено, что бы следующий персонаж был выбран из всего списка с равной вероятностью (подумайте сами)
if выбор=0 then pln нет такого персонажа в нашем мире & pln & выбор = rnd#макс_актёров$ & goto предварительный_выбор_игрока_локация else goto окончательный_выбор_игрока_локация
end

;------------------------------------------------
;************************************************
:главная_локация
proc мотор_локация ; ходят все
if (vvod="конец")or(vvod="end") then end else goto главная_локация
end
;************************************************

;------------------------------------------------
:мотор_локация
;начало движения
чей_ход = 0
:мотор_метка_1
чей_ход = чей_ход+1
;if (rnd12)>(актёр#чей_ход$ловкость+6) then goto мотор_метка_2; пропуск хода
дел = 0
;идти по направлению
if поле#актёр#чей_ход$место$_се <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="север"
if поле#актёр#чей_ход$место$_за <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="запад"
if поле#актёр#чей_ход$место$_юг <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="юг"
if поле#актёр#чей_ход$место$_во <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="восток"
;ждать - всегда доступное действие без аргументов (необходимо всегда иметь хотя бы одно доступное действие)
дел=дел+1 & дело#дел$="ждать"
;взять предмет
;выложить предмет
;пускаем список на обработку
if игрок = чей_ход then proc ввод_игрока_локация else proc ход_актёра_локация
;:мотор_метка_2
if чей_ход < макс_актёров then goto мотор_метка_1
;конец всех действий
end

;------------------------------------------------
:отображение_локация
pln
pln Вы #%поле#актёр#игрок$место$вид$
pln Здесь находятся:
счётчик = 0
:отображение_метка_1
счётчик = счётчик + 1
if актёр#счётчик$место = актёр#игрок$место then pln - #%актёр#счётчик$имя$
if счётчик<макс_актёров then goto отображение_метка_1
end

;------------------------------------------------
:ход_актёра_локация
выбор = rnd#дел$
if дело#выбор$="ждать" then proc ждать_актёр_локация
if дело#выбор$="идти на" then proc идти_на_актёр_локация
end

;------------------------------------------------
:ввод_игрока_локация
instr vvod=
proc отображение_локация ; игрок должен видеть текущую ситуацию
pln
pln Введите, что сделать:
input vvod
tokens vvod
if token1="ждать" then proc ждать_игрок_локация
if token1="идти" then proc идти_на_1_игрок_локация
end

;------------------------------------------------
:ждать_актёр_локация
if актёр#чей_ход$место = актёр#игрок$место then pln + #%актёр#чей_ход$имя$ чего-то ждёт
end

;------------------------------------------------
:ждать_игрок_локация
pln #%актёр#игрок$имя$ чего-то ждёт
end

;------------------------------------------------
:идти_на_актёр_локация
if актёр#чей_ход$место = актёр#игрок$место then pln + #%актёр#чей_ход$имя$ ушёл на #%арг1#выбор$$
if арг1#выбор$="север" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_се
if арг1#выбор$="запад" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_за
if арг1#выбор$="юг" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_юг
if арг1#выбор$="восток" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_во
if актёр#чей_ход$место = актёр#игрок$место then pln + вошёл #%актёр#чей_ход$имя$
end

;------------------------------------------------
:идти_на_1_игрок_локация
if token2="на" then goto идти_на_2_игрок_локация
end

;------------------------------------------------
:идти_на_2_игрок_локация
pln #%актёр#игрок$имя$ ушёл на #%token3$
if (token3="север")and(поле#актёр#игрок$место$_се<>0) then актёр#игрок$место = поле#актёр#игрок$место$_се
if (token3="запад")and(поле#актёр#игрок$место$_за<>0) then актёр#игрок$место = поле#актёр#игрок$место$_за
if (token3="юг")and(поле#актёр#игрок$место$_юг<>0) then актёр#игрок$место = поле#актёр#игрок$место$_юг
if (token3="восток")and(поле#актёр#игрок$место$_во<>0) then актёр#игрок$место = поле#актёр#игрок$место$_во
pln и оказался #%поле#актёр#игрок$место$вид$
end

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 47
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 23.03.08 21:52. Заголовок: сейчас доделываю при..


сейчас доделываю пример№2 (с вещами)
стажируюсь на новой работе
и что я хочу сказать:
с xbtn работа шла бы гораздо быстрее-
игрок бы выбирал действие из списка действий,
который я полюбому готовлю для каждого персонажа.

а так- приходится долбиться с обработкой ввода игрока.
код удваивается- отдельно обработка персонажей
и- другая обработка игрока

хочется, что бы проги на URQL выглядели покороче и попроще

вот сделаю пример№2
потом сделаю ему более дружественный интерфейс
(ничего слишком крутого- информация о выходах из локации, реакция на недопустимые действия, более корректное отображение локации)
и когда он будет доведён до ума у меня будет три пути:

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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 48
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 23.03.08 22:00. Заголовок: кроме xbtn нужна ещ..


кроме xbtn
нужна ещё bpause,
которая будет приостанавливать работу
программы до выбора игроком btn
.
пример:

:процедура
pln ответьте ДА или НЕТ
btn вложенная_процедура_да , да
btn вложенная_процедура_нет, нет
end

такая ПРОЦЕДУРА невозможна в нынешней досурке
(угадайте, что произойдёт?)

а с кнопкой xbtn вместо вложенная_процедура_да и вложенная_процедура_нет
можно было бы использовать одну и ту же процедуру.
это удобно, если кол-во кнопок у нас меняется в зависимости от ситуации.

работа над пример№2 по-любому затормозится:
мне не нравится получающийся код- он должен быть более кратким и простым,
буду думать над новым концептом.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 53
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 24.03.08 22:32. Заголовок: новый концепт не при..


новый концепт не придумался:
хотел уместить обработку ввода игрока в одну
маленькую локацию, а потом отослать
полученную команду на исполнение как для
обычного актёра.
НО
вышел облом из-за того, что сообщения выводятся по-разному
(т.е. они выводятся именно для игрока)
как бы вывод убрать в отдельную процедуру?
думай голова, шапку куплю...
P.S.
вот сделал вещи- неписи их могут брать и выкладывать. если сила=N значит непись может нести N вещей, если их больше- не сможет сдвинуться с места. если ловкость=6 значит непись никогда не пропустит ход (ждать- не пропуск хода, а действие. если непись пропускает ход то, в отличие от ожидания, о его действиях в локации на этом ходу никаких комментариев не выводится).если ловкость=1 значит непись ходит с вер-тью 1/6 и пропускает ход с вер-тью 5/6.
P.P.S.
игрок пока не может ничего делать с вещами. он может
ждать
идти на север
, а так же в других направлениях.



Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 54
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 24.03.08 22:36. Заголовок: ; ex2alpha.qst ; при..


; ex2alpha.qst
; пример№2 игрок пока не может выполнять действий с вещами
; (неписи могут взять... и выложить... )
; его команды остались теми же, что и в предыдущем примере
;------------------------------------------------
:инициализация_локация
; начало инициализации
invkill
perkill
; поля
instr поле11вид = на яркой солнечной поляне[св]
поле11_се = 12; куда переход, если 0- перехода нет
поле11_за = 0
поле11_юг = 0
поле11_во = 21
поле11актёров = 0
поле11вещей = 0
instr поле21вид = у красивого, освежающего водопада[сзв]
поле21_се = 22
поле21_за = 11
поле21_юг = 0
поле21_во = 31
поле21актёров = 0
поле21вещей = 0
instr поле31вид = на холме, покрытом множеством цветов[сз]
поле31_се = 32
поле31_за = 21
поле31_юг = 0
поле31_во = 0
поле31актёров = 0
поле31вещей = 0
instr поле12вид = в лесу, наполненном весёлым щебетом[сюв]
поле12_се = 13
поле12_за = 0
поле12_юг = 11
поле12_во = 22
поле12актёров = 0
поле12вещей = 0
instr поле22вид = в удивительно прозрачном мелком ручейке[сзюв]
поле22_се = 23
поле22_за = 12
поле22_юг = 21
поле22_во = 32
поле22актёров = 0
поле22вещей = 0
instr поле32вид = в лесу, устланном ароматными листьями[сзю]
поле32_се = 33
поле32_за = 22
поле32_юг = 31
поле32_во = 0
поле32актёров = 0
поле32вещей = 0
instr поле13вид = в уютном домике лесного эльфа[ю]
поле13_се = 0
поле13_за = 0
поле13_юг = 12
поле13_во = 0
поле13актёров = 0
поле13вещей = 0
instr поле23вид = под отвесной величественной скалой[ю]
поле23_се = 0
поле23_за = 0
поле23_юг = 22
поле23_во = 0
поле23актёров = 0
поле23вещей = 0
instr поле33вид = в богато украшенной гномьей пещере[ю]
поле33_се = 0
поле33_за = 0
поле33_юг = 32
поле33_во = 0
поле33актёров = 0
поле33вещей = 0
макс_полей = 33;максимумы по горизонтали и по вертикали
;просматриваем прямоугольник от 11 до 33. он может и не весь быть заполнен локациями
;пришла в голову идея составлять таблицу переходов отдельным редактором, как в Adrift.
; актёры
instr актёр1имя = Честный Галантный Рыцарь
актёр1место = 12; номер поля
актёр1сила = 5
актёр1ловкость = 6
;актёр1вещь1=2 ; так устроен местный инвентарь
актёр1вещей = 0
поле12_актёров = поле12_актёров+1 ; актёр добавлен
instr актёр2имя = Умиротворённый Обаятельный Мудрец
актёр2место = 21
актёр2сила = 2
актёр2ловкость = 1
актёр2вещей = 0
поле21_актёров = поле21_актёров+1
instr актёр3имя = Нежная Добрая Принцесса
актёр3место = 32
актёр3сила = 1
актёр3ловкость = 2
актёр3вещей = 0
поле32_актёров = поле32_актёров+1
instr актёр4имя = Бесшабашный Развязный Дракон
актёр4место = 22
актёр4сила = 6
актёр4ловкость = 5
актёр4вещей = 0
поле22_актёров = поле22_актёров+1
instr актёр5имя = Ловкий Лесной Эльф
актёр5место = 13
актёр5сила = 3
актёр5ловкость = 4
актёр5вещей = 0
поле13_актёров = поле13_актёров+1
instr актёр6имя = Выносливый Пещерный Гном
актёр6место = 33
актёр6сила = 4
актёр6ловкость = 3
актёр6вещей = 0
поле33_актёров = поле33_актёров+1
макс_актёров = 6; обязательно должен быть хотя бы один актёр
; вещи
instr вещь1вп = свежее зелёное яблоко
вещь1место = 11 ; если в чьём-то инвентаре, то место=0
поле11_вещей = поле11_вещей+1 ; вещь добавлена
instr вещь2вп = пожелтевший кленовый лист
вещь2место = 11
поле11_вещей = поле11_вещей+1
instr вещь3вп = апетитный белый гриб
вещь3место = 11
поле11_вещей = поле11_вещей+1
instr вещь4вп = лёгкое белое перо
вещь4место = 31
поле31_вещей = поле31_вещей+1
instr вещь5вп = душистый полевой цветок
вещь5место = 31
поле31_вещей = поле31_вещей+1
instr вещь6вп = небольшую искривлённую веточку
вещь6место = 31
поле31_вещей = поле31_вещей+1
instr вещь7вп = плоский камешек с отверстием
вещь7место = 23
поле23_вещей = поле23_вещей+1
instr вещь8вп = крупную каплю росы
вещь8место = 23
поле23_вещей = поле23_вещей+1
instr вещь9вп = древний волшебный свиток
вещь9место = 23
поле23_вещей = поле23_вещей+1
макс_вещей = 9
; игрок
выбор = rnd#макс_актёров$
:инициализация_метка_1
goto предварительный_выбор_игрока_локация
; завершение инициализации
end

;------------------------------------------------
:предварительный_выбор_игрока_локация
выбор = выбор+rnd#макс_актёров-1$ ; выбираем любого персонажа, кроме того же самого
if выбор>макс_актёров then выбор=выбор-макс_актёров
pln Имя : #%актёр#выбор$имя$
pln Сила = #актёр#выбор$Сила$
pln Ловкость = #актёр#выбор$Ловкость$
btn окончательный_выбор_игрока_локация, играть этим персонажем
btn инициализация_метка_1, выбрать другого персонажа
btn выбор_персонажа_с_клавиатуры_локация, ввести имя персонажа
end

;------------------------------------------------
:окончательный_выбор_игрока_локация
игрок = выбор
pln #%игрок$
goto главная_локация
end

;------------------------------------------------
:выбор_персонажа_с_клавиатуры_локация
instr name=
input name
выбор = 0
счётчик = 0
:выбор_персонажа_с_клавиатуры_метка_1
счётчик = счётчик+1
if name=актёр#счётчик$имя then выбор=счётчик
if счётчик<макс_актёров then goto выбор_персонажа_с_клавиатуры_метка_1
;в следующей строчке "выбор = rnd#макс_актёров$" добавлено, что бы следующий персонаж был выбран из всего списка с равной вероятностью (подумайте сами)
if выбор=0 then pln нет такого персонажа в нашем мире & pln & выбор = rnd#макс_актёров$ & goto предварительный_выбор_игрока_локация else goto окончательный_выбор_игрока_локация
end

;------------------------------------------------
;************************************************
:главная_локация
instr vvod="начало" ; почему-то без этого оставался "конец" от предыдущей игры
proc мотор_локация ; ходят все
if (vvod="конец")or(vvod="end") then end
goto главная_локация
end
;************************************************

;------------------------------------------------
:мотор_локация
;начало движения
чей_ход = 0
:мотор_метка_1 ; выполняем для каждого актёра
чей_ход = чей_ход+1
дел = 0
if (rnd6)>(актёр#чей_ход$ловкость) then goto мотор_метка_2; пропуск хода
;идти по направлению
if актёр#чей_ход$вещей > актёр#чей_ход$сила then goto мотор_метка_5
if поле#актёр#чей_ход$место$_се <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="север"
if поле#актёр#чей_ход$место$_за <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="запад"
if поле#актёр#чей_ход$место$_юг <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="юг"
if поле#актёр#чей_ход$место$_во <> 0 then дел=дел+1 & дело#дел$="идти на" & арг1#дел$="восток"
:мотор_метка_5 ; если актёр перегружен - не может двигаться
; хорошо бы использовать этот список для сверки с вводом игрока, чтоб всё было по-честному:
; что можно игроку, то можно и актёру- полное равенство
;ждать - всегда доступное действие без аргументов (необходимо всегда иметь хотя бы одно доступное действие)
дел=дел+1 & дело#дел$="ждать"
;взять вещь
счётчик = 0
:мотор_метка_3 ; перебираем вещи на поле
счётчик = счётчик + 1
if актёр#чей_ход$место=вещь#счётчик$место then дел=дел+1 & дело#дел$="взять" & арг1#дел$=вещь#счётчик$вп & арг1#дел$n=счётчик
if счётчик<макс_вещей then goto мотор_метка_3
;выложить вещь
счётчик = 0
:мотор_метка_4 ; перебираем вещи в инвентаре
счётчик=счётчик+1
if актёр#чей_ход$вещей>=счётчик then дел=дел+1 & дело#дел$="выложить" & арг1#дел$=вещь#актёр#чей_ход$вещь#счётчик$$вп & арг1#дел$n=счётчик & goto мотор_метка_4
;пускаем список на обработку
if игрок = чей_ход then proc ввод_игрока_локация else proc ход_актёра_локация
:мотор_метка_2 ; если был пропуск хода
if чей_ход < макс_актёров then goto мотор_метка_1
;конец всех действий
end

;------------------------------------------------
:отображение_локация
pln
pln Вы #%поле#актёр#игрок$место$вид$
pln Вы видите:
счётчик = 0
:отображение_метка_1
счётчик = счётчик + 1
if вещь#счётчик$место = актёр#игрок$место then pln . #%вещь#счётчик$вп$
if счётчик<макс_вещей then goto отображение_метка_1
pln Здесь находятся:
счётчик = 0
:отображение_метка_2
счётчик = счётчик + 1
if актёр#счётчик$место = актёр#игрок$место then pln - #%актёр#счётчик$имя$[#актёр#счётчик$вещей$]
if счётчик<макс_актёров then goto отображение_метка_2
end

;------------------------------------------------
:ход_актёра_локация
if дел=0 then end ; бывает из-за пропусков хода
выбор = rnd#дел$
if дело#выбор$="ждать" then proc ждать_актёр_локация
if дело#выбор$="идти на" then proc идти_на_актёр_локация
if дело#выбор$="взять" then proc взять_актёр_локация
if дело#выбор$="выложить" then proc выложить_актёр_локация
end

;------------------------------------------------
:ввод_игрока_локация
vvod="пустой ввод"
proc отображение_локация ; игрок должен видеть текущую ситуацию
pln
pln Введите, что сделать:
input vvod
tokens vvod
if token1="ждать" then proc ждать_игрок_локация
if token1="идти" then proc идти_на_1_игрок_локация
end

;------------------------------------------------
:ждать_актёр_локация
if актёр#чей_ход$место = актёр#игрок$место then pln + #%актёр#чей_ход$имя$[#актёр#чей_ход$вещей$] чего-то ждёт
end

;------------------------------------------------
:ждать_игрок_локация
pln #%актёр#игрок$имя$ чего-то ждёт
end

;------------------------------------------------
:идти_на_актёр_локация
if актёр#чей_ход$место = актёр#игрок$место then pln + #%актёр#чей_ход$имя$[#актёр#чей_ход$вещей$] ушёл на #%арг1#выбор$$
if арг1#выбор$="север" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_се
if арг1#выбор$="запад" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_за
if арг1#выбор$="юг" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_юг
if арг1#выбор$="восток" then актёр#чей_ход$место = поле#актёр#чей_ход$место$_во
if актёр#чей_ход$место = актёр#игрок$место then pln + вошёл #%актёр#чей_ход$имя$[#актёр#чей_ход$вещей$]
end

;------------------------------------------------
:идти_на_1_игрок_локация
if token2="на" then goto идти_на_2_игрок_локация
end

;------------------------------------------------
:идти_на_2_игрок_локация
pln #%актёр#игрок$имя$ ушёл на #%token3$
if (token3="север")and(поле#актёр#игрок$место$_се<>0) then актёр#игрок$место = поле#актёр#игрок$место$_се
if (token3="запад")and(поле#актёр#игрок$место$_за<>0) then актёр#игрок$место = поле#актёр#игрок$место$_за
if (token3="юг")and(поле#актёр#игрок$место$_юг<>0) then актёр#игрок$место = поле#актёр#игрок$место$_юг
if (token3="восток")and(поле#актёр#игрок$место$_во<>0)then актёр#игрок$место = поле#актёр#игрок$место$_во
pln и оказался #%поле#актёр#игрок$место$вид$
end

;------------------------------------------------
:взять_актёр_локация
if актёр#чей_ход$место = актёр#игрок$место then p + #%актёр#чей_ход$имя$[#актёр#чей_ход$вещей$] взял #%арг1#выбор$$
вещь#арг1#выбор$n$место = 0
актёр#чей_ход$вещей = актёр#чей_ход$вещей + 1
актёр#чей_ход$вещь#актёр#чей_ход$вещей$=арг1#выбор$n
proc список_актёра_локация
end

;------------------------------------------------
:выложить_актёр_локация
; внимание! арг1#выбор$n в данном случае хранит номер вещи в инвентаре актёра
if актёр#чей_ход$место = актёр#игрок$место then p + #%актёр#чей_ход$имя$[#актёр#чей_ход$вещей$] выложил #%арг1#выбор$$
; ложим вещь в локацию:
вещь#актёр#чей_ход$вещь#арг1#выбор$n$$место = актёр#чей_ход$место
; убираем вещь из инвентаря:
актёр#чей_ход$вещь#арг1#выбор$n$=актёр#чей_ход$вещь#актёр#чей_ход$вещей$
актёр#чей_ход$вещей = актёр#чей_ход$вещей - 1
proc список_актёра_локация
end

;------------------------------------------------
:список_актёра_локация
if актёр#чей_ход$место <> актёр#игрок$место then goto список_актёра_метка_2
if актёр#чей_ход$вещей = 0 then goto список_актёра_метка_2
p .теперь он несёт:
счётчик=0
:список_актёра_метка_1
счётчик=счётчик+1
p #%вещь#актёр#чей_ход$вещь#счётчик$$вп$.
if счётчик<актёр#чей_ход$вещей then goto список_актёра_метка_1
pln
:список_актёра_метка_2
end

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 55
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 24.03.08 22:40. Заголовок: оставлена отладочная..


оставлена отладочная информация о
выходах из локаций а так же о кол-ве вещей
у неписей а так же о том, что же у непися в кармашке
(последнее-только когда он изменяет содержимое инвентаря).
ВНИМАНИЕ!
как бы соблазнительно ни выглядели буковки [сзюв]
в списке выходов,
необходимо писать команду целиком:
идти на восток
(к примеру)
P.S.
долго ловил баги.
вроде бы всех выловил.
не удержался до окончательной версии- выложил, что есть

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 56
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 24.03.08 22:42. Заголовок: жду рекомендаций по ..


жду рекомендаций по оптимизации кода
(как же, станет кто-нить в этом коде разбираться)
доделки остались элементарные,
жаль из-за работы(стажируюсь)
времени остаётся мало.
иначе я б уже давно всё закончил.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 57
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 24.03.08 22:50. Заголовок: да, кстати, noname -..


да, кстати, noname - это забывший свой пароль qwerty.
мне всё равно, кем быть,
пусть останусь noname,
но хотелось бы просуммировать(или как там ещё учесть)
рейтинги и кол-во постов.
в-общем, объединить как-то два в одно.
а если когда сделаю полноценный квест- назову его qwerty03

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 71
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.03.08 22:09. Заголовок: живой игровой мир вк..


живой игровой мир
включает в себя два момента:

собственно мир, в котором персонажи равны (с учётом их качеств) персонажу игрока
(точнее игрок играет за любого из персонажей)
&
логика поведения персонажей

логично начать с первого пункта, чтоб было где оттачивать второй...
задача не так уж и сложна, если разделить её на под-задачи
p.s.
неписи вполне могут быть умнее игрока, так как "знают", где чего в соседних локациях лежит
(где-то крутой непись шмотку выбросил, где-то на рынок подешёвке что-то выкинули, или наоборот- дорого покупают)
.
сложных алгоритмов я буду избегать как огня:
разумного поведения персонажей можно добиться введением отношений (друг к другу) и ещё всяких отношений(к клану, ...) а так же смысловыми ограничениями: ну там, полить огород можно только если он уже засеян, а так же введением страхов и желаний (об этом я уже постил в этой теме)
p.p.s.
19-го сделал пример№1
22-го после долгих метаний сделал парсерный пример№1
24-го сделал недоделанную версию примера№2
с учётом того, что я работал над каждым из проектов не более 2-х часов- неплохо
сейчас я продолжаю метаться м/ду платформами
везде что-нить не так...
на qsp аналогичный проект движется с большим скрипом,
но я стараюсь.
ИМХО настоящий текстоквестописец должен знать более одной платформы.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 72
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 30.03.08 00:39. Заголовок: да и вот ещё что: па..


да и вот ещё что: пару дней назад акурка(скачал пре1 вместо пре6) стала выдавать сообщение, что файл richtxt32.ocx неверно инсталлирован в системе(либо отсутствует).
и не запускается. в-общем мрак полный.

Спасибо: 0 
Профиль
Nex



Сообщение: 53
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 30.03.08 09:33. Заголовок: noname я лечил акурк..


noname я лечил акурку так:
сделал батник (.bat файл), в котором написал

akurq.exe
regsvr32 /u /s richtx32.ocx

То есть после каждого вызова акурки "удаляется" из системы richtx32.ocx, а при запуске - устанавливается.
Вот такой костыль к этой кривой программе.

Сам файл richtx32.ocx нужно скачать (например, по этой ссылке), и положить в папку WINDOWS/System32.

Спасибо: 1 
Профиль
noname
постоянный участник




Сообщение: 73
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 30.03.08 10:19. Заголовок: уррра! заработала! я..


уррра! заработала!
я как-то слишком быстро отказался от использования акурки...пре1
только из-за того, что она непоняла одну сомнительную конструкцию с xbtn, которую понимала пре6.

может, попробую на акурке...
с кейрусом задалбывает ещё одна интересная особенность:
требуется очень высокая скорость нажатия клавиш переключения режима.
я себе чуть кнопки не раздолбал

постараюсь делать версию URQL совместимую и с досуркой и с акуркой,
а unikbd.com когда-нибудь обязательно достану (может под фаром будет работать)

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 74
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 30.03.08 12:27. Заголовок: что-то Акурка меня н..


что-то Акурка меня не понимает.
из описания в хелпе я пока не понял, что её не устраивает в досурковской версии
дело было явно не в xbtn

какие возможности ловли багов существуют на Акурке(пре1)???

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 76
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 30.03.08 13:35. Заголовок: после того, как заме..


после того, как заменил все 'ё' на 'е' прога кое-как заработала на Акурке_пре1
буду разбираться дальше.
вопрос дебагинга остаётся открытым

Спасибо: 0 
Профиль
AlSid
постоянный участник


Сообщение: 90
Зарегистрирован: 09.09.05
ссылка на сообщение  Отправлено: 30.03.08 18:36. Заголовок: Думаю, что ув. nonam..


Думаю, что ув. noname заслужил победу сразу в трех номинациях - самое большое количество постов подряд (14!), самый длинный пост и самый бесполезный пост (оба - за пост под названием "; ex2alpha.qst ; при.."). И, кажется, это только начало...

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 80
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 30.03.08 20:05. Заголовок: AlSid ну у меня же д..


AlSid ну у меня же до этого проекта были тока совсем простые квесты qwerty01 и qwerty02. я осваиваюсь с URQL. лучше бы про дебагинг Акурки постнул чего-нибудь, а то я воюю с интерпретаторами, как с ветряными мельницами. уже в отчании полез rtads авторский комплект качать(почему его нельзя взять отдельно от проигрывателя?) но, чё-то не качается... у меня к томуж комп новый недавно после большого перерыва и флэшгета у меня нет. и вообще много чего полезного нет.

Спасибо: 0 
Профиль
Korwin
постоянный участник


Сообщение: 348
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 30.03.08 23:20. Заголовок: Qwerty, кинь почту в..


Qwerty, кинь почту в личку только пиши вместо собаки "гав" для спам-роботов, отправлю тебе что нужно для tads. Вообще привет :)

Спасибо: 0 
Профиль
GooseMan



Сообщение: 26
Зарегистрирован: 11.12.07
ссылка на сообщение  Отправлено: 01.04.08 11:19. Заголовок: Для Noname Посмотрит..


Для Noname
Посмотрите URQ Arena. там именно набросок ОБЪЕКТНОГО мира. писалось сие под Досурку, посему весьма коряво обойдено отсутствие xBtn.
Однако монстры (ака боты), вещи и локации задуманы и реализованы как объекты. Ессно, в данной реализации игра весьма тупа, но в свое время у мну были думки заставить ботов двигацо самостоятельно, и брать, например, вещи, "просматривать" локации, соседние со своей в поисках Персонажа. Поройтесь в кишках, я там подробное описание оставил.
А вообще, самостоятельный мир на Урке вполне возможно построить, в частности, описать не только свойства объектов, но и так скэть, их методы: всемогущий #$ творит чудеса. Наброски реализации методов я делал в DoA (лежит в аплоде, перманентно не закончена) - правда, опять же, без алгоритма обработки самостоятельных действий НПС, но сие можно реализовать элементарно, прописываем в метод объекту имя метки, ответственной за некое действие, и обрабатываем эту метку процем в коммоне при каждом ходе...

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 81
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 01.04.08 19:44. Заголовок: GooseMan твою Арену ..


GooseMan твою Арену смотрел и ковырял и она- одна из прог, которые вдохновили меня начать писать Ж.И.М.

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

разве из последней выложенной здесь проги не видно?

#$ мне ооочень нравится, но ненравится работа интерпретаторов
а свой писать- долго, да и наверняка непредвид трудности возникнут
а вообще, в конце-концов напишу свой интерпретёр
p.s.
привинтить интеллект персонажам- не проблема.
могу сделать их хоть умнее гамера,
причём без гандикапа, чисто чесным мухлежом:
они-то знают где что находится, а игрок-нет.
пока проблема в интерпретаторах и неудобствах
p.p.s.
за своё пропадание дико извиняюсь- не виноватый я.
меня жизнь так перевернула, что ваааще.

Спасибо: 0 
Профиль
GooseMan



Сообщение: 33
Зарегистрирован: 11.12.07
ссылка на сообщение  Отправлено: 02.04.08 08:35. Заголовок: noname пишет: дават..


noname пишет:

 цитата:
давать такие имена, чтоб не запутаться, когда прога станет непомерно большой и на куски логические разделять


Это дааааааа, это верноооооо :-D/

кстати - непомерная большесть - это главная трудность имитации ООП на УРКЛ. Хотя ЖИМЪ на УРКЛ при должном умении будет живее чем на специализированных ООП-платфоромах, которые обладают хоть и развитой, но жесткой системой объектов, связанных вполне определенными связями. А вот в УРКЛ мы до поры до времени используем псевдо-ООП, а потом РРРАЗ, и задвигаем его в дальний ящик, возвращаясь к вольному линейно-командному алгоритмическому стилю.

Если бы был нормально реализованный механизм инклюда - тогда запросто можно было бы разбивать игру на отдельные файлы - механизм (движок), карты, монстры, аддоны ))) - что упростило бы навигацию в коде впоследствии

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 84
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 02.04.08 18:53. Заголовок: ну а пока можно разд..


ну а пока можно разделять
;---------------------------------------
комментариями
p.s.
а ещё, по-моему в досурке нет работы с файлами

Спасибо: 0 
Профиль
Korwin
постоянный участник


Сообщение: 350
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 03.04.08 09:28. Заголовок: include..


include

Спасибо: 0 
Профиль
GooseMan



Сообщение: 38
Зарегистрирован: 11.12.07
ссылка на сообщение  Отправлено: 03.04.08 10:17. Заголовок: вот если бы работало..


вот если бы работало такое:

res.qst
-------
:pseudo-function
<code>
end
-------

main.qst
--------
include res.qst

:label
<code>
proc pseudo-finction
<code>
end
-----

пока вроде не работает?

Спасибо: 0 
Профиль
GooseMan



Сообщение: 40
Зарегистрирован: 11.12.07
ссылка на сообщение  Отправлено: 03.04.08 13:00. Заголовок: Прет. Построение вн..


Прет.

Построение внутри-игровых (мировых) взаимоотношений НПС по принципу Рыцарь_ОтношениК_Принцесса - слишком прямолинейно(разве что для каких либо особых отношений). Оценка персов по принципу Плохой-Нейтральный-Злой - нет простора для фантазии. Понятие харизма-слава-карма - не слишком показательно...

Итак, почему бы принцессе не иметь склонность к грубым но не пошлым (обаяние от Х до У) и сильным (сила не менее Х) громилам (класс=варвар, пол=м), которых в свою очередь реально тошнит от слишком умных (интеллект выше Х) дам (класс=не важно, пол=ж)?

Далее, можно дать персам такую интегрированную характеристику, отражающую попросту его индивидуальную внешность-характер-привычки-интересы (тип личности, иначе). В виде диапазона (от Х до У) на определенной условной шкале. Совпадение диапазонов у разных персов означает их предрасположенность/совместимость друг с другом, причем чем больше область совпадения - тем больше совместимость. Более широкий диапазон означает большее обаяние, однако и обаятельный перс вполне может нарваться на того, кто его не поймет. В принципе, можно иметь два таких диапазона - свой собственный тип личности, и предпочитаемый. Тогда свойства разных героев будут сравниваться "вперехлест". Поступки, влияющие на карму/харизму/обаяние - соответственно уменьшают или увеличивают граничные значения диапазонов, изменяя обаяние количественно, но не слишком затрагивая его ТИП. Предпочтения, в свою очередь, тоже могут меняться.

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

Таким образом, не обязательно заранее описывать кучу НПС. Достаточно нарисовать подходящую карту и заселить ее двумя подробно прописанными Адамом и Евой. И почить в день седьмый, устроив себе просмотр Матрицы или 13 этажа

:-D

UPD
Да и карту можно не создавать. Совместив типаж Колумба с некоторыми нестандартными философскими взглядами на мир, вполне можно генерить крату по ходу истории...

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 90
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 03.04.08 21:31. Заголовок: твой пост- о том, ка..


твой пост- о том, какими будут отношения между персонажами на момент начала игры
мой пост был- о том, что
1 отношения м/ду персонажами могут меняться
2 можно задавать разные отношения (напр отношение к клану или группе)
GooseMan пишет:

 цитата:
почему бы принцессе не иметь склонность к грубым


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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 91
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 03.04.08 21:38. Заголовок: карту генерить можно..


карту генерить можно и нужно.
мой вариант карты планеты(карта вселенной-другой вопрос):
квадратный мир разделён на 64 сектора от a1 до h8 (как в шахматах)
каждый сектор имеет 15х15 полей (как в m&m)
на каждом поле может что-нить находиться
дом, церковь, дерево, фонтан и т п
при этом очень желательно, что бы препятствий не было совсем
(проще будет делать интеллект)
например :
"
координаты: сектор d4, x=7, y=8
Вы находитесь перед величественным храмом древних богов
- идти на север
...
- идти на восток
- войти в храм
"
внутри построек (или на дереве) или т п
в общем, во вложенном пространстве- всегда всего 1-на локация
(проще будет делать интеллект)
p.s.
идеи дарю бесплатно- воруйте, сколько унесёте

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 92
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 03.04.08 21:47. Заголовок: что я делаю сейчас: ..


что я делаю сейчас:
-основы игрового мира, поэтому на данном этапе отношения персонажей и их интеллект меня мало интересует, хотя могу подкинуть идею, что отношений по 100-бальной шкале м/ду двумя персонажами может быть много: а боится б если б сильнее и лучше вооружён, а доверяет б если б всегда держит слово, а ненавидит б если б убивал членов клана а. вычисляем начальные значения каждого отношения и модифицируем по ходу игры.
-общий принцип: интеллект один на всех персонажей, игрок может играть за любого, персонажи (торговцы, священники, чиновники, воины и т п) стремятся максимизировать выгоду. что считать выгодой и каким путём проще её увеличить- зависит от характеристик обрабатываемого персонажа. интеллект на всех один.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 93
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 03.04.08 21:53. Заголовок: к основам игрового м..


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

Спасибо: 0 
Профиль
Mioirel



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 03.04.08 23:37. Заголовок: noname, ты можешь по..


noname, ты можешь показать пример того, какая может выйти игра, если она будет использовать твою систему с живым миром? Представим, что она готова на порядочном уровне. Пример, лог игры, также может быть полезен для дальнейшего планирования кода. Возможно, он заранее поможет предупредить подводные камни.
Задумка смелая, но может стать нереальной если ты замахнешься на симуляцию популяции хотя бы небольшой деревни в 50-100 человек. Не говоря уже о чем-то... большем. Платформы не предназначены для расчетов больших количеств массивов.

Спасибо: 0 
noname
постоянный участник




Сообщение: 95
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 03.04.08 23:46. Заголовок: Mioirel пишет: Плат..


Mioirel пишет:

 цитата:
Платформы не предназначены для расчетов больших количеств массивов.


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

это совершенно несложно:
сгенерить 1000 бродячих персонажей на поле 10х100 и посмотреть быстродействие.
выводить стоит просто кол-во персонажей...

так, надо этим заняться...

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 96
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 04.04.08 01:57. Заголовок: :начало pln 'п..


:начало
pln 'приступаю к фазе №1'
x=0
y=1
n=0
:цикл
n=n+1
x=x+1
if x>100 then x=1 & y=y+1
поле#x$_#y$ = 1
персгор#n$ = x
персвер#n$ = y
if n<1000 then goto цикл
pln 'инициализация успешно завершена'
игрок=501
pln 'приступаю к фазе №2'
goto вывод
end

:вывод
pln
pln 'координаты персонажа №#игрок$: x=#персгор#игрок$$, y=#персвер#игрок$$'
pln 'он видит здесь #поле#персгор#игрок$$_#персвер#игрок$$-1$ таких же болванов'
btn перемещение, дальше
btn конец, выход
end

:конец
end

:перемещение
n=0
:цикл2
n=n+1
k=rnd4; сзюв
if (k=1) and (персвер#n$<10) then поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$-1 & персвер#n$=персвер#n$+1 & поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$+1
if (k=2) and (персгор#n$>1) then поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$-1 & персгор#n$=персгор#n$-1 & поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$+1
if (k=3) and (персвер#n$>1) then поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$-1 & персвер#n$=персвер#n$-1 & поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$+1
if (k=4) and (персгор#n$<100)then поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$-1 & персгор#n$=персгор#n$+1 & поле#персгор#n$$_#персвер#n$$=поле#персгор#n$$_#персвер#n$$+1
if n<1000 then goto цикл2
goto вывод
end

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 97
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 04.04.08 02:33. Заголовок: на urq_dos быстродей..


на urq_dos
быстродействие нормальное НО
реально расчётов будет больше,
отсюда получим:

1 персонажей не 1000, а 100
2 из этих 100 "умных" чел 10
остальные 90 могут быть тупыми монстрами

а насчёт деревни в 50-100чел:
50-100 "живых" персонажей- это население
крупного города, такого как Тарант в Arcanum

а для хорошей деревни хватит и десяти

p.s.
а жаль...
мне бы 15000 умных персонажей
и ещё 150000 хитрых монстров
иещё1500000 мелких тварей в пищу монстрам
(не одними же героями им питаться)
p.p.s.
и при десяти персонажах, если сделать их поумнее можно наблюдать самоорганизацию, НО
это уже не то...
экономические кризисы и непредвиденные примеры поведения наблюдать будет сложнее, чем бурю в стакане...
p.p.p.s.
а ещё для большой группы можно сделать хороший интеллект
по-нормальному надо просчитывать ходы наперёд, но это, конечно, муть
а вот сделать побольше сект:

членство в религиозной группе
членство в национальной группировке
членство в проффесиональной гильдии
членство в клубе по интересам
гражданство такого-то города-полиса
принадлежность к такому-то клану (родственная связь)

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

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

и отношение не одно- а несколько линеек отношений (боится/доверяет/ненавидит/завидует/...)

короче, система сект и отношений делает поведение каждого персонажа предсказуемым
для других персонажей: они знают к чему и какими методами он стремится(членство в группах) и насколько это у него получается(статус в группах) и даёт каждому собеседнику
ключ, как на такого персонажа реагировать(с учётом интересов своих групп).

так это я к тому написал, что десять человек по сектам не больно-то и разобьёшь...

Спасибо: 0 
Профиль
GooseMan



Сообщение: 41
Зарегистрирован: 11.12.07
ссылка на сообщение  Отправлено: 04.04.08 08:31. Заголовок: NONAME! Огромный рес..


NONAME! Огромный респект и уважуха за такую мощную работу мысли! Конкретную помощь тебе наверно уже вряд ли кто окажет - это уже стопроцентно твой собственный проект по выжиманию возможностей из УРКи. Так что мой пост носит характер исключительно левого коммента и соображений "на тему". Соображения НЕ ОТНОСЯТСЯ кокретно к проекту NONAME, а вообще к идее ЖиМ.

Ну, вот одно из соображений: как видно из твоей работы, УРКЛ теоретически позволяет создать АВТОНОМНЫЙ мир заданной степени сложности. Однако чем сложней и автономней мир, тем менее он ценен собственно для целей игры. Повышение автономности сужает цель ее применения и стремится к одной единственной - к созданию Матрицы :). Для собственно игры автономность мира может оказаться не настолько интересной - ведь большинство хитросплетенных поступков и изменений в отношениях героев будет происходить "за кадром", невидимыми для игрока. Это во-первых, нивелирует ценность автономного поведения для геймплея, а во-вторых, в конечном счете может сбить игрока с толку - ведь чем более автономен мир, тем меньшую его часть контролирует собственно он сам.

Второе соображение. (СТРОГО МОЕ ИМХО) Например, чисто мне мало нравятся карты в ТЕКСТОВЫХ играх, построенные по принципу квадратной координатной сетки. Во-первых, без карты в них неудобно играть, во вторых, будучи удобными для обсчета, они менее интересны для геймплея. Применение координатных сеток оправдывает себя в небольших задачах, например, при реализации боя. Целая же МИРОВАЯ карта, выстроенная по такому принципу - это будет запутанно и скучно. Текстовая игра позволяет реализовывать связь локаций более свободно.

UPD
Примеры свободных локаций:

Локация1Имя=Лес
локация1КоличествоВыходов=[n]
Локация1Выход1=Речка
....
Локация1Выход[n]=поле

На Локации :Лес в цикле перебираем выходы и формируем кнопы перемещения.

В локациях :Речка и :Поле формируем выходы также. Причем, если Лес имеет выход на Речку, а Речка выхода на Лес не имеет, значит из Леса к речке мы попадаем, скатившись с крутого склона и обратно взобрацо не можем.

Далее, переходы можно производить через шлюзы (навскидку, пишу прямо с головы, так что за код не ручаюсь)

Идем из Леса к Речке, соответсвенно переходим по xBtn на локацию :Шлюз, предустановив в переменные исходную локацию (Старт) и целевую (Финиш).

В локе :Шлюз ищем переменную, допустим, Вида Шлюз$Старт%_$Финиш%. Если этой переменной нет (ее значение = 0 или пусто), то тупо идем в целевую локацию. Если в этой переменной есть значение - то это предустановленное нами (или даже автономно) значение Метки, которую нужно вызвать по proc и обработать особенность перехода из локи в локу.
Так можно прописывать особенные "Мульты" при переходе, реализовывать открываемые/закрываемые запоры ну и т.д.

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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 100
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 04.04.08 18:53. Заголовок: GooseMan пишет: мн..


GooseMan пишет:

 цитата:
мне мало нравятся карты в ТЕКСТОВЫХ играх, построенные по принципу квадратной координатной сетки. Во-первых, без карты в них неудобно играть, во вторых, будучи удобными для обсчета, они менее интересны для геймплея


тут вот какой момент:

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

а в моей системе- не запутаешься. знаешь, допустим сектор a1"Долина Элементалей Огня", координаты такие-то. где бы ты ни находился легко понять направление и без карты.

во-вторых такая карта может быть просто идеальной в плане геймплея, если её толково составить. на поле a1-h8 разбросать, допустим, штук 12 несоприкасающихся секторов(полей) со звучными названиями и соответствующим наполнением; в окружающих "пустых" секторах будут дороги с указателями(на перекрёстках) и разные интересности там-сям. а в пределах сектора: каждый сектор может быть разбит на логические куски, напр:"квартал нищих, центр города и т п"- если город.

получаем:
большую карту, на которой может быть много интересного и на которой легко ориентироваться
редко подглядывая на саму карту

а это- плюс геймплею

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 101
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 04.04.08 19:08. Заголовок: GooseMan пишет: ка..


GooseMan пишет:

 цитата:
как видно из твоей работы, УРКЛ теоретически позволяет создать АВТОНОМНЫЙ мир заданной степени сложности. Однако чем сложней и автономней мир, тем менее он ценен собственно для целей игры.


ну во-первых спасибо за респект
во-вторых: ты 100% прав.

далее возможны два пути:
1. делать модель социума (именно для того и даётся возможность поиграть за любого персонажа, что бы "обсмаковать" происходящие там процессы со всех сторон)
2. более простой путь: делать "Потёмкинскую деревню", т е имитацтию социума, которую легче сделать интересной для игрока, чем 1-й вариант. В этом случае важен контакт с большим кол-вом бета-тестеров и просто игроков, которые будут сообщать:"нет, бармен никогда бы так не поступил..." или: "после того, как я уговорил главу своего(крупного) клана вооружить всех членов АК-47, в обмен на имеющееся у них вооружение и доплату стоимость АК-47 возросла на 30%, а их производство возросло на 10%, что в-общем логично, но не вызвало соответствующих вторичных тенденций на рынке, которые обязательно должны были бы возникнуть. например, такие как..."

p.s.
конечно имитацию делать легче и выйдет интереснее, но для этого идеи должны быть несколько в другом ключе. я не люблю конкретные идеи и сюжеты. буду думать...

Спасибо: 0 
Профиль
fireton
постоянный участник




Сообщение: 64
Зарегистрирован: 20.01.07
ссылка на сообщение  Отправлено: 05.04.08 19:50. Заголовок: Фигня все это. Игрок..


Фигня все это. Игроку интересна именно история, рассказанная автором, а не возможность "побродить" по модели реального мира. Такие "живые игровые миры" интересны, в первую очередь, самому автору, которому нечего сказать, но хочется "попрограммировать"...

Тон. Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 103
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 05.04.08 21:15. Заголовок: fireton, да, автору ..


fireton, да, автору такие миры могут быть очень интересны- ведь это МОДЕЛЬ СОЦИУМА.
ну, и не только автору.

впрочем, я уже пишу игру на конкурс в "обычном" стиле- у меня появился сюжет.
и такой сюжет!
в-общем, даже сам не пойму- то ли тупо, то ли гениально.

уже набил 360 строчек кода под досурку (и потестил немного) - и это только одна из комнат(при чём ещё недоделанная). а всего их будет почти сотня.

эх, если запутаюсь- пропадёт весь эффект. задумка очень рискованная. что бы склонить игроков к оценке "гениально" а не "тупо" нужно отточить каждую мелочь.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 105
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 05.04.08 22:00. Заголовок: кстати, заметил одну..


кстати, заметил одну особенность досурки:
даже обычный переход по btn происходит с некоторым торможением.
таким же, как и в примере с 1000 ходячими неписями.
отсюда вопрос: а если попробовать миллион(миллиард) этих примитивных ходунов-
заметно ли снизится скорость?

но я проверять это пока не буду- квест пишу на конкурс

Спасибо: 0 
Профиль
Евгений
почётное бревно




Сообщение: 357
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.04.08 23:41. Заголовок: Там есть специальная..


Там есть специальная переменная URQ_delay которая замедляет вывод текста на экран, иначе выглядит некрасиво.

Спасибо: 1 
Профиль
Агент 007
постоянный участник




Сообщение: 165
Зарегистрирован: 18.07.05
ссылка на сообщение  Отправлено: 06.04.08 01:25. Заголовок: Привет! noname пишет..


Привет!
noname пишет:

 цитата:
но я проверять это пока не буду- квест пишу на конкурс



На какой, если не секрет?

http://allquests.ru Спасибо: 0 
Профиль
Nex



Сообщение: 55
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 06.04.08 11:19. Заголовок: Агент 007 на КРИЛ, н..


Агент 007 на КРИЛ, надо полагать. Сейчас кроме него конкурсов не ведётся - на "Иллюзию Выбора" приём работ завершён.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 106
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 06.04.08 12:59. Заголовок: Евгений пишет: Там ..


Евгений пишет:

 цитата:
Там есть специальная переменная URQ_delay которая замедляет вывод текста на экран, иначе выглядит некрасиво.


спасибо!
итак, результаты эксперимента:
1. обработка 1000 примитивных ходунов происходит практически мгновенно
2. обработка 10000 таких же болванов заметно притормаживает...
торможение заметное, но не смертельное.

отсюда ВЫВОД:

вполне можно кодить 1000 "продвинутых" персонажей, если придумать, как сделать их поведение разумным с помощью самого минимального кол-ва IF..THEN..ELSE и по-возможности без циклов.

арифметика и прочая как правило выполняются в разы быстрее чем IFы

РЕШЕНИЕ:
очень простое- избыточным кол-вом переменных. т е если после каждого выбора персонажа вставить заполнение большого кол-ва переменных обычными присваиваниями.
ПРИМЕР:
в моих недоделанных примерах живого игрового мира я вывожу персонажей, которые присутствуют в локации перебором их ВСЕХ в цикле. НО если довести до ума списки персонажей в каждой локации (есть такая переменная там: поле#коорд$актёров, поле#коорд$актёр#номер$) то можно будет выводить именно тех, кто на этом поле присутствует- оптимизация скорости за счёт избыточности переменных. впрочем, в данном примере такая оптимизация не стоит выеденного яйца.

я хотел пояснить суть:
интеллект персонажей можно попробовать реализовать всего одним циклом,
в котором будут вычисляться значения всяких переменных с условными переходами
так например должен быть список всех возможных действий
по ходу прохода цикла невозможным действиям вычисляется статус "0" (IF..)
возможным - статус вычислим по формуле
(умным персонажам совсем без IF в формуле не обойтись- достигать какой-то цели- всё равно, что искать путь в лабиринте, НО надо постараться заранее "пометить" все маршруты чтоб хотя бы избавиться от вложения циклов)
в текущую пару переменных заносим максимальный встреченный статус
и действие, которое ему соответствует
после ОДНОРАЗОВОГО прохода цикла получим требуемое действие.

ну а по ходу игры этот интеллект будет применяться для каждого персонажа поочерёдно

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 107
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 06.04.08 13:13. Заголовок: и ещё насчёт избыточ..


и ещё насчёт избыточных переменных есть такая мысль:

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

решение:
-после генерации лабиринта для каждой пары полей лабиринта вычисляем кратчайший путь и помечаем его в полях на этом пути
-пишем всё это дело в файл в виде "instr полеX_Y_цельN_M= север" и аппендим его в файл.qst
это надо делать на дельфях или си или т п
теперь, как будет работать готовая прога на досурке:
-непись находясь на полеX_Y обращается к переменной полеX_Y_цельN_M, в которую занесено требуемое направление движения. N_M- координаты искомого поля.

если, к примеру, размер лабиринта 10х10 полей (стены расположены м/ду полями, впрочем это не важно), то каждое поле лабиринта будет хранить 99 вспомогательных переменных маршрутизации.

к чему это всё:
лабиринты я в живом мире иметь как раз и не собираюсь,
НО тема лабиринтов (причём в которых есть односторонние выходы) имеет прямое отношение к выбору оптимального ДЕЙСТВИЯ сейчас для достижения отдалённой ЦЕЛИ в будущем.

как это привинтить к идее ЖИМ- пока разумных идей нет.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 109
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 06.04.08 14:44. Заголовок: Агент 007 пишет: Пр..


Агент 007 пишет:

 цитата:
Привет!


и тебе привет!
и всем привет!
отвечаю: на КРИЛ-2008
менюшный квест под досурку

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 130
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 12.04.08 22:32. Заголовок: в целях... ну, не зн..


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

на этой неделе это- последний пост в этом форуме.

каждую неделю буду постить не более 4-х постов.
(считая неделю от понедельника по воскресенье включительно).

p.s.
по этому поводу хочется вставить полу-прощальные стихи:

 цитата:
там ангел лёг на мат
карм лодыря рыдал мрак
там ора летних хин тел аромат
мера кар лиха хил рак ярем
но стопа мира а рима пот сон
нот с города кован на века дорог стон
гонец но к воле тело в конце ног
раб стар бил и брат с бар
я слеп мотив вит ом пелся
теплынь к инь ник ныл пет
я нем или плакал пили меня
хорош им дев молот то лом ведьм и шорох
ра во тьме ян ем меняем товар
мол антракт от карт на лом
лог ал гнев вен глагол
дел мило молим лёд
трёт косо даль лад осок тёрт
довила нить тина ли вод
губ будоража жар о дуб буг
дар гуда радуг рад
ими дав в ад или дав в ад ими



Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 131
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.04.08 23:43. Заголовок: в процессе работы на..


в процессе работы над конкурсным квестом/ами случайно между делом родилось следующее творилово:

 цитата:
:инициализация
invkill
perkill
; ГГ ориентировочно 1975 года рождения (переписать для 1985?)
время = 0
ситуа = 0
конец = 10
счётч = 0
goto начало
end

:главная
end

:начало
pln
pln -------------------------------------------------------------------------------
pln
pln
pln
pln * ВЫБОР *
pln
pln
pln Ещё когда я играл в книги Браславского, я задумался:
pln может ли выбор быть более осмысленным, чем идти налево или направо?
pln По жизни нам часто приходится принимать решения, делать ВЫБОР.
pln
pln Представленная Вашему вниманию прога является результатом попытки
pln отразить самые важные решения в жизни в формате текстового квеста.
pln
pln
btn перемещение, дальше
end

:перемещение
время = время+1
ситуа = rnd5
goto #время$
end

:1
бодро= 30 - ситуа*5
интел= 0 + ситуа*5 ; от 5 до 25
pln
pln -------------------------------------------------------------------------------
pln
pln Младшие классы: учиться или гулять?
pln Прийдя со школы домой, ты успел только покушать, когда с работы пришла мама.
pln бодрость : #бодро$ ; словесная оценка: высокий, низкий или т п, как в Fallout
pln интеллект : #интел$
pln характеристики сверстников : мин=5, средн=15, макс=25
btn 1_1, сказать, что все уроки сделаны, и идти гулять
btn 1_2, честно сделать все уроки
end

:1_1
instr выбор= бодро
pln Ты любишь активные игры на свежем воздухе. Твоя БОДРОСТЬ увеличилась ; завёл друзей
goto перемещение ; конкретные имена окружения
end ; и отношения

:1_2
instr выбор= интел
pln Постепенно учёба тебе стала нравится. Твой ИНТЕЛЛЕКТ увеличился.
goto перемещение
end

:2
pln Впрочем, с возрастом увеличились все характеристики. А ещё ты стал чаще
pln обращать внимание на девочек.
бодро = бодро + 5
интел = интел + 5 ; 10..30
#%выбор$= #%выбор$ + ситуа*5 ; 15..55
обаян = 35 - ситуа*5 ; 10..30
btn 2_метка, дальше
end

:2_метка
pln
pln -------------------------------------------------------------------------------
pln
pln Средние классы: бить или не бить?
pln На перемене ты заметил, что Аньку обижает Бутуз из паралельного класса.
pln бодрость : #бодро$
pln интеллект : #интел$
pln обаяние : #обаян$
pln характеристики сверстников : мин=10, средн=25, макс=55
btn 2_1, защитить девчонку
btn 2_2, не лезть не в своё дело
end

:2_1
instr выбор= обаян
случа = 10 + rnd5*5 ; 15..35
pln Драка была жестокой: переходный возраст, за девочку убить готовы.
if случа > бодро then goto 2_1_1 else goto 2_1_2
end

:2_1_1
бодро = бодро - 5
интел = интел + 5
обаян = обаян + 5 ; *
pln На этот раз ты проиграл. Бутуз умудрился сломать тебе руку,
pln но девчонок из твоего класса обижать перестал. Твоя БОДРОСТЬ уменьшилась из-за
pln травмы, но девчонкам твой поступок понравился. ОБАЯНИЕ увеличилось.
goto перемещение
end

:2_1_2
бодро = бодро + 10
интел = интел + 5
обаян = обаян + 5 ; *
pln Ты победил! Бутуз теперь надолго забудет девчонок из твоего класса.
pln Твои БОДРОСТЬ и ОБАЯНИЕ увеличиваются.
goto перемещение
end

:2_2
instr выбор= интел
бодро = бодро + 5
интел = интел + 5 ; *
обаян = обаян + 5
pln Тебя не волнуют эти детские разборки- ты выше этого.
pln Ты растёшь серьёзным, уравновешенным юношей. Товарищи считают тебя слегка
pln двинутым, но тебе нет до этого дела. Ты- не от этого мира, твоя страсть- наука.
pln Твой ИНТЕЛЛЕКТ увеличился.
goto перемещение
end

:3
#%выбор$= #%выбор$ + ситуа*5 ; бодро 5..85, интел 15..85, обаян 15..60, возрастной ориентир 15..35
налич=(6-ситуа)*(6-ситуа)*(6-ситуа)*10 ; 10 40 90 160 1250
pln Все твои характеристики увеличились, а ещё в твоей жизни появились ДЕНЬГИ.
btn 3_метка, дальше
end
:3_метка
pln
pln -------------------------------------------------------------------------------
pln
pln Старшие классы: даст или не даст?
pln Две однокласницы согласны прогулять уроки с тобой и твоим другом.
pln бодрость : #бодро$
pln интеллект : #интел$
pln обаяние : #обаян$
pln деньги : #налич$ руб., у товарищей от 10 до 1250 руб.
pln характеристики сверстников : мин=15, средн=35, макс=85
btn 3_1, прогулять- вдруг они позволят на этот раз больше, чем обычно
btn 3_2, идти на уроки- всё равно они только дразнятся
btn 3_3, продавать мороженое- пора зарабатывать деньги
end

:3_1
instr выбор= обаян
случа = 15 + rnd5*5 ; 20..40
pln Хорошая погода. Весенний день. Ты идёшь с ней за руку, и ты- счастлив.
if случа > обаян then goto 3_1_1 else goto 3_1_2
end

:3_1_1
бодро = бодро + 5
интел = интел + 5
обаян = обаян + 5 ; *
налич = налич
воспо = 0
pln Вы прекрасно провели время: купили мороженное, сходили в видеосалон.
pln А твой друг даже целовался со своей девушкой, и она позволяла ему себя ласкать.
pln Благодаря общению с дамами увеличилось ОБАЯНИЕ- умение им нравиться.
goto перемещение
end

:3_1_2
бодро = бодро + 5
интел = интел + 5
обаян = обаян + 5 ; *
налич = налич
воспо = 1
pln Вскоре вы разделились: ты, узнав, что у неё никого нет дома, уговорил
pln уединиться у неё. По пути заглянули в аптеку- она не возражала... Это было
pln чудесно. Неумело, но без фальши. Этот день запомнился тебе навсегда.
pln Ты стал более уверен в себе. Увеличилось твоё мужское ОБАЯНИЕ.
goto перемещение
end

:3_2
instr выбор= интел
бодро = бодро + 5
интел = интел + 5 ; *
обаян = обаян + 5
налич = налич
воспо = 0
pln Ты знаешь, как важно учиться- от этого зависит твоё будущее.
pln Постоянные занятия повысили твой ИНТЕЛЛЕКТ.
goto перемещение
end

:3_3
instr выбор= счётч
бодро = бодро + 5
интел = интел + 5
обаян = обаян + 5
налич = налич ; *
воспо = 0
pln Ты знаешь, что научиться зарабатывать ДЕНЬГИ нужно как можно раньше.
goto перемещение
end

:4
#%выбор$= #%выбор$ + ситуа*5
if выбор="налич" then налич=налич+1500 else налич=налич+(6-ситуа)*(6-ситуа)*(6-ситуа)*10
; бодро 10..90, интел 20..115, обаян 20..90, возрастной ориентир 20..40(+5), налич 20..2750
if интел>100 then интел=100 & pln * Ты получил приз 1500руб за победу в конкурсе Ботан-1990 * & налич=налич+1500
pln Пока ты молод- ты растёшь, крепнешь, умнеешь, хорошеешь, учишься общению.
займы = 0 ;
btn 4_метка, дальше
end

:4_метка
pln
pln -------------------------------------------------------------------------------
pln
pln Школа и детство позади: ВУЗ или армия?
pln Обучение в ВУЗе обойдётся тебе в 10 тыс.руб. Кроме диплома он даёт освобождение
pln от армии- военную подготовку можно пройти на военной кафедре.
pln
pln бодрость : #бодро$
pln интеллект : #интел$
pln обаяние : #обаян$
pln деньги : #налич$ руб., займы: #займы$, итого: #налич-займы*30000$ руб.
pln характеристики сверстников : мин=20, средн=40, макс=100(абсолютный максимум)
if воспо<>0 then pln ---------------- & pln особые воспоминания : #воспо$

pln
btn 4_1, в военкомат
btn 4_2, в приёмную ВУЗа
btn 4_3, бегать от призыва и всячески косить от армии
btn 4_4, взять кредит
end

:4_1
pln Хочешь служить? - всегда пожалуйста:
btn 4_1_1, пройти медкомисию
btn 4_1_2, откосить (дать взятку 6000 руб.)
btn 4_метка, извините, не туда попал
end

:4_2
pln Хочешь учиться? - всегда пожалуйста:
btn 4_2_1, сдавать экзамены (надо иметь 10 тыс.руб.)
btn 4_2_2, купить диплом (оплатах3 = 30 тыс.руб.) - и можно не учиться
btn 4_метка, пойду-ка я отсюда
end

:4_3
pln Хочешь прятаться в шкафу и иметь проблемы с законом? - лучше не надо
btn 4_метка, вылезти из шкафа
;****************************************** доработать
end

:4_4
pln Хочешь взять кредит? - всегда пожалуйста:
pln можешь брать "займы" по 10 тыс.руб., сейчас твой лимит - 3 "займа"
pln займы автоматически погасятся в конце игры по 30 тыс.руб. за каждый
pln
btn 4_1_1, взять займ
btn 4_метка, вернуться
end


//в ВУЗе / в армии

:выбор работы / выбирай на вкус
/ в любой послед локации можно сменить работу
/ взять займ / купить или продать акции

:работаем или меняем работу / все боссы - гады
/ если продолжаешь работу - можешь получить особое достижение
/ если меняешь работы - можешь найти хорошее место

:выбор жена / ты женился + можешь замутить свой бизнес или работать
/ в кажд посл локации можешь либо работать либо попытаться организовать бизнес
/ если смог успешно заним бизнесом - особое событие

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

:выбор дом / купил дом + можешь купить страховку на дом
/в послед локации есть вер-ть пожара и можешь куп страховки какие не купил

:выбор пенсия ()
/на пенсии за каждое особое воспоминание получаешь
/случайный бонус типа: "вы создали <такое-то творилово>, получите бонус rnd очков"
/т е пенсионер занимается творчеством и получает за это некие очки
/чем больше было ярких событий- тем лучше
/+ очки, равные кол-ву заработанных денег


/ подсчёт очков, вычисляем ранг.
/ КОНЕЦ


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

Спасибо: 1 
Профиль
Korwin
постоянный участник


Сообщение: 362
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 15.04.08 05:10. Заголовок: noname, дружище! Нау..


noname, дружище! Научись выкладывать свои файлы куда-нибудь (хоть в upload) и давать ссылку. С телефона понимаешь, трафик стоит приличных денег, и каждый раз загружать твои посты приличного размера накладно.

А сама идея - хорошая. Очень.


Спасибо: 0 
Профиль
Nex



Сообщение: 61
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 15.04.08 06:30. Заголовок: Скучно!..


Скучно!

Спасибо: 0 
Профиль
Хломидоманад
постоянный участник




Сообщение: 192
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 17.04.08 00:50. Заголовок: Хмм, это слегка срод..


Хмм, это слегка сродни тому, что мы все собираемся когда-нибудь сделать с Демом. Но скучнее (согласен с Nex'ом). Во всяком случае, в таком исполнении, как сейчас.

Спасибо: 0 
Профиль
Byte



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 17.04.08 01:16. Заголовок: По-моему банально. Н..


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

Спасибо: 0 
Korwin
постоянный участник


Сообщение: 365
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 17.04.08 05:33. Заголовок: О банальности


Байт, жизнь вообще банальная штука. Все ситуации вообще уже были, все литературные сюжеты уже написаны, и даже, извините за выражение, об...ание чужих идей тоже давно уже не свежо. Другое дело - конкретная реализация. Важны детали. Неповторимое сочетание оттенков, которое может создать гениальную (или как всегда - серенькую) игру. Оценить идею плавания Колумба на берегу было проще простого - бред. До него уже пытались плавать. Вернулись ни с чем. И он вернется ни с чем или погибнет! - примерно так думали здравомыслящие. Но он заплыл немного дальше других. По сути разговора: до реализации ничего сказать не могу.

Спасибо: 0 
Профиль
GooseMan



Сообщение: 62
Зарегистрирован: 11.12.07
ссылка на сообщение  Отправлено: 17.04.08 08:40. Заголовок: noname пишет: не зн..


noname пишет:

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



Bro! Да у тебя превосходное начало интерактивного эссе. То что получилось, уже звучит философски и немного грустно - как раз как и положено таким произведением. Обязательно доводи до конца! А в конце, в зависимости от результата, хлопай ложкой в лоб ГГ и говори ему мораль :-D (не восприми за иронию - это доброе шутко. мне честно понравилось:)

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 134
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.04.08 23:51. Заголовок: играю щазз в SoftPor..


играю щазз в SoftPorn (графического Larry я прошёл и вариант CGA с текстовым вводом и VGA с мышкой). и вот что подумалось: Larry по сюжету проживает свадьбу, подставу жены, встречу с настоящей женщиной... - именно значимые для любого человека события жизни.

играл Крылья (под Милену)- обалденнейшая задумка, и тоже- показ одной из особенных сторон вполне реальной обычной жизни. с удовольствием прошёл пешком по лестнице 7-ми этажки и прочувствовал реализм происходящего- это вам не 3d какое-нибудь!

што-то тянет меня на такие игры, где интересно обыгрывается обычная жизнь...

Спасибо: 0 
Профиль
Byte



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.04.08 07:32. Заголовок: Korwin, заметь, я пи..


Korwin, заметь, я писал именно об игре "про жизнь". Дело в том, что подобную "жизнь" я вижу каждый день. Для меня гораздо более интересны некие фантастические (вымышленные?) сюжеты, не пытающиеся обыграть реальность.

Спасибо: 0 
Korwin
постоянный участник


Сообщение: 369
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 20.04.08 11:56. Заголовок: Byte пишет: Korwin,..


Byte пишет:

 цитата:
Korwin, заметь, я писал именно об игре "про жизнь". Дело в том, что подобную "жизнь" я вижу каждый день. Для меня гораздо более интересны некие фантастические (вымышленные?) сюжеты, не пытающиеся обыграть реальность.



Специально для тебя напишу!!! Жди к конкурсу мини-игр.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 138
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 13.05.08 06:57. Заголовок: нормальная жизнь (не..


нормальная жизнь (не моя):

 цитата:
Нормальные роды
нормальный мальчик
нормальный крик
нормальное дыхание
нормальная пуповина
нормальный вес
нормальные ручки
нормальные ножки
нормальный животик
нормальный сон
нормальное сосание
нормальная моча
нормальный кал
нормальный подгузник
нормальная пелЛнка
нормальное одеяло
нормальные кружева
нормальная лента
нормальная бутылочка
нормальное молоко
нормальные колики
нормальная коляска
нормальный воздух
нормальные сосны
нормальное небо
нормальный ветер
нормальный песок
нормальный скрип
нормальное солнце
нормальное бельЛ
нормальные облака
нормальные ползунки
нормальная каша
нормальная соска
нормальный сок
нормальные весы
нормальный балкон
нормальная погремушка
нормальная распашонка
нормальные пинетки
нормальный чепчик
нормальная тесемка
нормальное яблоко
нормальные перевязочки
нормальные ноготки
нормальные гуни
нормальная рвота
нормальная ванна
нормальная водичка
нормальное мыло
нормальная губка
нормальное полотенце
нормальная температура
нормальная игрушка
нормальная кошка
нормальные колечки
нормальный мяч
нормальное ползанье
нормальные коленки
нормальное падение
нормальные помочи
нормальные шаги
нормальные сандалии
нормальные камешки
нормальная бабушка
нормальная трава
нормальный жук
нормальный червяк
нормальный одуванчик
нормальный кузнечик
нормальная ссадина
нормальные слезы
нормальная панамка
нормальная кофточка
нормальная песочница
нормальная формочка
нормальное ведерко
нормальный совок
нормальная машина
нормальные качели
нормальная черешня
нормальная клубника
нормальный арбуз
нормальный укроп
нормальный суп
нормальная ложка
нормальная чашка
нормальное молоко
нормальный чай
нормальная конфета
нормальное печенье
нормальный папа
нормальный самолЛт
нормальный дождь
нормальный зонтик
нормальный снег
нормальный дым
нормальный мороз
нормальное окно
нормальные санки
нормальная шубка
нормальная шапка
нормальные варежки
нормальные калоши
нормальный шарф
нормальная собака
нормальные снежки
нормальные лыжи
нормальные сосульки
нормальное горло
нормальный кашель
нормальный озноб
нормальный градусник
нормальная постель
нормальный доктор
нормальный стетоскоп
нормальная ложечка
нормальный аспирин
нормальная машина
нормальный чай
нормальная подушка
нормальные сны
нормальный страх
нормальный горшок
нормальные носки
нормальные горчичники
нормальная книжка
нормальные карандаши
нормальная бумага
нормальный домик
нормальный человечек
нормальный танк
нормальное сражение
нормальная весна
нормальные ручейки
нормальная грязь
нормальный детсад
нормальная воспитательница
нормальная столовая
нормальные котлеты
нормальный компот
нормальные раскладушки
нормальные обручи
нормальная прогулка
нормальные игры
нормальный праздник
нормальные флажки
нормальная музыка
нормальный Ленин
нормальные песни
нормальный танец
нормальные стихи
нормальные подарки
нормальные родители
нормальные ботинки
нормальные штаны
нормальный подзатыльник
нормальная осень
нормальная форма
нормальная школа
нормальный букет
нормальный ранец
нормальная учительница
нормальный класс
нормальная парта
нормальная тетрадь
нормальная ручка
нормальные палочки
нормальные кружочки
нормальные косички
нормальная перемена
нормальный дежурный
нормальный пример
нормальная задача
нормальные чернила
нормальный Вова
нормальный Сережа
нормальный Миша
нормальный Витя
нормальный Петя
нормальный Андрей
нормальная двойка
нормальная тройка
нормальная четвЛрка
нормальная пятЛрка
нормальная единица
нормальный кол
нормальная арифметика
нормальное чистописание
нормальная клякса
нормальная промокашка
нормальный ластик
нормальная Светка
нормальные леденцы
нормальный коржик
нормальный бублик
нормальный бутерброд
нормальная физкультура
нормальный зал
нормальный физрук
нормальный журнал
нормальный мяч
нормальная эстафета
нормальные трусы
нормальная сменка
нормальный турник
нормальное воскресенье
нормальный двор
нормальные ребята
нормальный футбол
нормальный проход
нормальный финт
нормальная пенка
нормальные кеды
нормальный удар
нормальная девятина
нормальный пас
нормальный счет
нормальный СЛга
нормальный Колян
нормальный Жук
нормальная Утка
нормальный Жека
нормальная чеканочка
нормальная рогатка
нормальный фонарь
нормальный сосед
нормальный отец
нормальный ремень
нормальные слезы
нормальный угол
нормальные задачки
нормальный угольник
нормальный круг
нормальная окружность
нормальная биссектриса
нормальный катет
нормальная гипотенуза
нормальное равенство
нормальное тождество
нормальное подобие
нормальный икс
нормальный игрек
нормальный зет
нормальная алгебра
нормальная физика
нормальная химия
нормальный опыт
нормальная колба
нормальный водород
нормальный кислород
нормальная вода
нормальная кислота
нормальная щЛлочь
нормальный натрий
нормальный магний
нормальный марганец
нормальная бомбочка
нормальный взрыв
нормальный дым
нормальные спички
нормальный самопал
нормальное попадание
нормальный хоккей
нормальные коньки
нормальная клюшка
нормальная шайба
нормальный лЛд
нормальный "Спартак"
нормальный бросок
нормальный гол
нормальные щитки
нормальный вывих
нормальная больница
нормальная боль
нормальный гипс
нормальный костыль
нормальный телевизор
нормальный фильм
нормальный шпион
нормальный разведчик
нормальные конфеты
нормальные фантики
нормальные марки
нормальный альбом
нормальная серия
нормальный блок
нормальные колонии
нормальная фауна
нормальная флора
нормальный спорт
нормальный магазин
нормальный обмен
нормальный полтинник
нормальный рубль
нормальное мороженое
нормальные Сокольники
нормальные аттракционы
нормальная карусель
нормальные ребята
нормальная тетка
нормальная сумочка
нормальные деньги
нормальный свист
нормальный атас
нормальная дЛра
нормальные сигареты
нормальная затяжка
нормальная тошнота
нормальный Рыба
нормальная голубятня
нормальный туман
нормальный дутыш
нормальный почтарь
нормальный рынок
нормальный мужик
нормальный пацан
нормальная пятерка
нормальный мент
нормальное отделение
нормальный участковый
нормальная мать
нормальная пощечина
нормальная ругань
нормальный побег
нормальный Славик
нормальный маг
нормальные битлы
нормальные роллинги
нормальные пласты
нормальные колонки
нормальное стерео
нормальный эффект
нормальная цветомузыка
нормальные джипы
нормальная вечеринка
нормальные девки
нормальная Светка
нормальный танец
нормальные сигареты
нормальный портвейн
нормальный смех
нормальный шейк
нормальные губы
нормальный разговор
нормальный Соловьев
нормальная драка
нормальная кровь
нормальный платок
нормальная разборка
нормальный завуч
нормальный классрук
нормальная Жирная
нормальный дневник
нормальная четверть
нормальное полугодие
нормальный год
нормальный аттестат
нормальное ПТУ
нормальные занятия
нормальный станок
нормальная резьба
нормальные фаски
нормальная расточка
нормальный резец
нормальный патрон
нормальные танцы
нормальный ансамбль
нормальный ударник
нормальный вермут
нормальная герла
нормальная подруга
нормальный Рудик
нормальный дом
нормальная квартирка
нормальные кудряшки
нормальное сухое
нормальные бокалы
нормальные шторы
нормальный блюз
нормальный лифчик
нормальная грудь
нормальные трусы
нормальные руки
нормальные слезы
нормальные уговоры
нормальный поцелуй
нормальная кровать
нормальные ноги
нормальный стон
нормальный шепот
нормальная сперма
нормальная простыня
нормальные глаза
нормальная усталость
нормальный хуй
нормальное завтра
нормальный завод
нормальный мастер
нормальный наладчик
нормальный сменщик
нормальный цех
нормальная норма
нормальные детали
нормальный фартук
нормальная стружка
нормальный заусенец
нормальный медпункт
нормальная перекись
нормальный бинт
нормальные рукавицы
нормальный перерыв
нормальная столовая
нормальный борщ
нормальное пюре
нормальная подлива
нормальный компот
нормальный Антон
нормальный аванс
нормальное кафе
нормальная компания
нормальная Люда
нормальное вино
нормальный разговор
нормальное мороженое
нормальное такси
нормальная общага
нормальная лимитчица
нормальный вахтер
нормальная комната
нормальная койка
нормальный засос
нормальная ебля
нормальное утро
нормальный прогул
нормальное пиво
нормальная вобла
нормальный парень
нормальный телефон
нормальные джины
нормальная фирма
нормальный размер
нормальный батник
нормальная стрижка
нормальные друзья
нормальная гитара
нормальная песня
нормальный вечер
нормальная скамейка
нормальное винище
нормальная прошвырка
нормальная кодла
нормальный прикол
нормальная мочиловка
нормальные менты
нормальный отрыв
нормальный фингал
нормальный папаша
нормальный пиздЛж
нормальные слова
нормальный понт
нормальная самостоятельность
нормальное достоинство
нормальный август
нормальный отпуск
нормальные башли
нормальные робя
нормальные девки
нормальный плацкарт
нормальные Гагры
нормальное море
нормальная погода
нормальная вода
нормальные ласты
нормальная маска
нормальная вишня
нормальные шашлыки
нормальные чебуреки
нормальная хванчкара
нормальное пиво
нормальная Тоня
нормальный вечер
нормальная палатка
нормальная ночь
нормальные цикады
нормальные груди
нормальные подмышки
нормальный оргазм
нормальный кайф
нормальные горы
нормальный восход
нормальная лодка
нормальные спасатели
нормальный мотор
нормальные лыжи
нормальное катание
нормальное ныряние
нормальные крабы
нормальные карты
нормальная водка
нормальные помидоры
нормальный лук
нормальный торч
нормальный город
нормальный пляж
нормальные бабы
нормальные креветки
нормальная ханка
нормальный дупель
нормальные размудя
нормальный ужер
нормальная блевотина
нормальный вырубон
нормальный отруб
нормальное состояние
нормальная неделя
нормальный месяц
нормальный скорый
нормальное купе
нормальная Москва
нормальный дождь
нормальный вокзал
нормальная осень
нормальная куртка
нормальная повестка
нормальные проводы
нормальная стрижка
нормальная армия
нормальный карантин
нормальная присяга
нормальная форма
нормальный прапор
нормальный сержант
нормальная казарма
нормальные сапоги
нормальные портянки
нормальный кросс
нормальные мозоли
нормальная жажда
нормальная выкладка
нормальный строй
нормальный воротничок
нормальная ушанка
нормальная шинель
нормальный подъем
нормальный автомат
нормальный шомпол
нормальная ветошь
нормальное масло
нормальные пуговицы
нормальные крючки
нормальные складки
нормальный гуталин
нормальный спортзал
нормальный турник
нормальный конь
нормальные брусья
нормальный канат
нормальные мышцы
нормальный пот
нормальная усталость
нормальная честь
нормальные стрельбы
нормальные мишени
нормальные гильзы
нормальный прицел
нормальная бдительность
нормальная благодарность
нормальная каша
нормальное масло
нормальная вилка
нормальный чай
нормальный сахар
нормальные политзанятия
нормальный долг
нормальная верность
нормальное мужество
нормальная доблесть
нормальный героизм
нормальная самоотверженность
нормальная самоотдача
нормальная самодисциплина
нормальная выносливость
нормальная стойкость
нормальная исполнительность
нормальная смекалка
нормальная сообразительность
нормальная честность
нормальная преданность
нормальная бескорыстность
нормальная убежденность
нормальная непримиримость
нормальная нетерпимость
нормальная заинтересованность
нормальная самоволка
нормальный забор
нормальная улица
нормальный магазин
нормальные поллитра
нормальный Кешка
нормальный Серега
нормальный батон
нормальные сырки
нормальный подъезд
нормально пошла
нормально закусили
нормально вышли
нормально прошли
нормально запили
нормально покурили
нормальная поверка
нормальный отбой
нормальная подушка
нормальная отрыжка
нормальный сон
нормальная тревога
нормальное пробуждение
нормальная голова
нормальные веки
нормальные портянки
нормальные пальцы
нормальные пуговицы
нормальное опоздание
нормальный наряд
нормальная кухня
нормальные котлы
нормальные повара
нормальные половники
нормальные дуршлаки
нормальная картошка
нормальная кожура
нормальное ведро
нормальная вода
нормальная спина
нормальный позвоночник
нормальная поясница
нормальная табуретка
нормальная швабра
нормальный пол
нормальная плитка
нормальная чистота
нормальная быстрота
нормальная грязь
нормальный мусор
нормальные миски
нормальные кружки
нормальные ложки
нормальная струя
нормальная ночь
нормальная зевота
нормальная картошка
нормальная табуретка
нормальное ведро
нормальная вода
нормальный подъем
нормальный кросс
нормальная поверка
нормальная линейка
нормальный воротничок
нормальный сержант
нормальный наряд
нормальная кухня
нормальная картошка
нормальная табуретка
нормальное ведро
нормальная поясница
нормальная швабра
нормальный обед
нормальные миски
нормальные кружки
нормальные ложки
нормальная струя
нормальный пар
нормальная кожа
нормальные ноги
нормальные локти
нормальные колени
нормальный пот
нормальный отбой
нормальный подъем
нормальная линейка
нормальная зарядка
нормальный кросс
нормальный наряд
нормальная хуйня
нормальные будни
нормальные трудности
нормальная воля
нормальный характер
нормальная дружба
нормальный старик
нормальная лычка
нормальный год
нормальные молодые
нормальное чмо
нормальный фуфель
нормальный земляк
нормальная шестерка
нормальная тесная
нормальная взъЛбка
нормальная шерсть
нормальное уважение
нормальный спорт
нормальный бицепс
нормальный уголок
нормальный пистолетик
нормальный переворот
нормальное солнышко
нормальный кульбит
нормальный шпагат
нормальный пудовик
нормальный двухпудовик
нормальный разряд
нормальная мышца
нормальные сборы
нормальные учения
нормальная четкость
нормальная слаженность
нормальное соперничество
нормальное соревнование
нормальное противостояние
нормальная пыль
нормальная жара
нормальная фляга
нормальная скатка
нормальная лопата
нормальный Калашников
нормальные рожки
нормальный подсумок
нормальный противогаз
нормальная атака
нормальное ура
нормальный привал
нормальный перекур
нормальный лейтенант
нормальная шутка
нормальное качество
нормальные ребята
нормальный строй
нормальный марш
нормальный запевала
нормальная песня
нормальный значок
нормальное повышение
нормальный отпуск
нормальный городок
нормальное кино
нормальное мороженое
нормальный музей
нормальней патруль
нормальные увольнительные
нормальные улыбки
нормальное возвращение
нормальный доклад
нормальный вечер
нормальное отделение
нормальная зелень
нормальное обучение
нормальное наказание
нормальный авторитет
нормальная неторопливость
нормальные полуслова
нормальные полувзгляды
нормальная шуточка
нормальная ржачка
нормальные разговорчики
нормальная муштра
нормальное послушание
нормальный престиж
нормальные сапоги
нормальный срок
нормальное время
нормальный дембель
нормальный кайф
нормальный чемодан
нормальный поезд
нормальный буфет
нормальный понт
нормальный коньяк
нормальный шницель
нормальный чай
нормальное купе
нормальные соседи
нормальный пиздежь
нормальные салаги
нормальное пивко
нормальная понтяра
нормальный отдых
нормальная жизнь
нормальные предки
нормальный костюм
нормальная Москва
нормальная дискотека
нормальные кореша
нормальные девчата
нормальный парк
нормальные качели
нормальный засос
нормальные записи
нормальные группы
нормальная вертушка
нормальный усилок
нормальная моща
нормальная громкость
нормальные динамики
нормальный забой
нормальный запил
нормальный лидер
нормальный вокал
нормальный орган
нормальный уют
нормальные картинки
нормальные курсы
нормальный двигатель
нормальный поршень
нормальный шатун
нормальное зажигание
нормальная смесь
нормальный карбюратор
нормальный фильтр
нормальный бензобак
нормальный инструктор
нормальное вождение
нормальные успехи
нормальная практика
нормальный автопарк
нормальный автобус
нормальный учебный
нормальный самостоятельный
нормальная работа
нормальная зарплата
нормальный маршрут
нормальные остановки
нормальная загруженность
нормальный обзор
нормальный режим
нормальный опыт
нормальная легкость
нормальная небрежность
нормальная лихость
нормальная точность
нормальный ништяк
нормальная Марина
нормальный магазин
нормальные родичи
нормальный достаток
нормальное предложение
нормальная свадьба
нормальный ресторан
нормальный костюм
нормальная фата
нормальные друзья
нормальные подруги
нормальные фужеры
нормальное шампанское
нормальные свидетели
нормальный поцелуй
нормальные папы
нормальные мамы
нормальные бабушки
нормальный дедушка
нормальные музыканты
нормальный вокал
нормальные подарки
нормальные поздравления
нормальные танцы
нормальный упивон
нормальная чайка
нормальная комната
нормальная ночь
нормальная девочка
нормальная грудь
нормальная фигурка
нормально попоролись
нормальный сон
нормальное утро
нормальное кофе
нормальная суббота
нормальная житуха
нормальные условия
нормальные средства
нормальная сберкнижка
нормальная обстановка
нормальный сервант
нормальный шкаф
нормальные соседи
нормальная кухня
нормальная любовь
нормальная семья
нормальная жена
нормальный обед
нормальный ужин
нормальный завтрак
нормальный стимул
нормальные квартальные
нормальный план
нормальная тринадцатая
нормальный стаж
нормальный километраж
нормальная прибавка
нормальные ремонтники
нормальный парк
нормальное начальство
нормальные люди
нормальная табельщица
нормальные рейсы
нормальная конечная
нормальное домино
нормальный стол
нормальный Вася
нормальный пузырь
нормальный розлив
нормальное настроение
нормальное пополнение
нормальный отгул
нормальное дежурство
нормальный субботник
нормальный воскресник
нормальный холодильник
нормальный характер
нормальный малый
нормальная беременность
нормальный ценник
нормальный выход
нормальный свитер
нормальные гости
нормальная дулька
нормальное отношение
нормальная дача
нормальная трансмиссия
нормальный минет
нормальный батя
нормальная охота
нормальный пентюх
нормальные поездки
нормальная розетка
нормальные волосы
нормальный пиздабол
нормальные гвозди
нормальная Риточка
нормальный домкрат
нормальный туалет
нормальный пробег
нормальные запчасти
нормальный хлеб
нормальная хреновина
нормальные праздники
нормальное зарево
нормальный задник
нормальный сынок
нормальный штифт
нормальный ветерок
нормальное болото
нормальный кран
нормальные связи
нормальная музыка
нормальные кантики
нормальное чтение
нормальная трахалка
нормальный мореплаватель
нормальный Райкин
нормальный факт
нормальное второе
нормальная обида
нормальный заяц
нормальный Виктор
нормальный дежурный
нормальный вал
нормальный министр
нормальный видок
нормальный шнур
нормальная задница
нормальный отряд
нормальный хозяйственный
нормальный Станислав
нормальный ветрище
нормальный замот
нормальный круг
нормальное поражение
нормальные обезьяны
нормальная Мальта
нормальный топор
нормальная слабость
нормальное ремесло
нормальный карандаш
нормальный Простаков
нормальный театр
нормальные канадцы
нормальный ученичок
нормальный ножище
нормальный шуруп
нормальный расклад
нормальный змий
нормальные выродки
нормальная целина
нормальная вечерка
нормальный райком
нормальные старики
нормальная спинка
нормальное марево
нормальное большинство
нормальный холодец
нормальные веки
нормальная коса
нормальные деточки
нормальный Саратов
нормальный Лбарь
нормальная осока
нормальный штамп
нормальный Сталинград
нормальные руки
нормальная техника
нормальный грохот
нормальная Васницкая
нормальный дымок
нормальный чужак
нормальное железо
нормальное расстегивание
нормальная записка
нормальная точилка
нормальные евреи
нормальный танк
нормальная дубрава
нормальная Америка
нормальное происшествие
нормальный бросок
нормальный Чехов
нормальная коробка
нормальная слабость
нормальные шпоры
нормальный патефон
нормальный Гриша
нормальный отголосок
нормальный мистер
нормальные задние
нормальная рябь
нормальная пара
нормальный ствол
нормальная вершина
нормальный приварок
нормальная акушерка
нормальное курево
нормальный ебальник
нормальная невидимость
нормальный приказ
нормальная лестница
нормальное ошеломление
нормальный глоток
нормальный Гершкович
нормальные близлежащие
нормальный учет
нормальный камешек
нормальный козырь
нормальная жестокость
нормальные расходы
нормальная блядище
нормальный Котлов
нормальное бряцание
нормальное отнятие
нормальный Петро
нормальная нефть
нормальный фланг
нормальное прикосновение
нормальная пыльца
нормальное стечение
нормальный кулачище
нормальный Кенигсберг
нормальное единство
нормальный эффект
нормальная память
нормальное меньшинство
нормальная Волга
нормальный рывок
нормальная метель
нормальный кактус
нормальный подлокотник
нормальное придыхание
нормальная смола
нормальный старпом
нормальная комета
нормальный тиранозавр
нормальный хуй
нормальное существование
нормальный презент
нормальная Танечка
нормальные пасатижи
нормальная нелепость
нормальные квазары
нормальный пляж
нормальная сивуха
нормальная Родина
нормальный колчан
нормальные занятия
нормальное сопротивление
нормальная простота
нормальное солнце
нормальная десница
нормальный пепел
нормальный космолЛт
нормальный Ивашенко
нормальное затемнение
нормальная распущенность
нормальный осколок
нормальный горизонт
нормальный Вашингтон
нормальная каретка
нормальный выебон
нормальный маршал
нормальные туземцы
нормальный Сарочь
нормальный пердЛжь
нормальные нелепицы
нормальные бомбы
нормальное условие
нормальная саранча
нормальное вскрытие
нормальный прицеп
нормальное предательство
нормальная ягодка
нормальная маменька
нормальный якут
нормальное затмение
нормальное горе
нормальный Гершензон
нормальная пора
нормальная нянечка
нормальные жуки
нормальный господин
нормальный вскрик
нормальное сношение
нормальный Котенька
нормальные изумления
нормальный стеклярус
нормальный хуесос
нормальная курица
нормальные беседы
нормальная область
нормальное здоровье
нормальная плотность
нормальный шалфей
нормальный укус
нормальное стремление
нормальная муха
нормальная нежность
нормальный Джапур
нормальное веление
нормальный управдом
нормальная эпидерма
нормальная тяга
нормальное предопределение
нормальная потливость
нормальные яички
нормальная дверь
нормальная свекровь
нормальная метла
нормальные французы
нормальный майор
нормальная пиздища
нормальное промедление
нормальный Ворошилов
нормальная зорька
нормальные кучера
нормальный транзистор
нормальные холмы
нормальный оператор
нормальный Хлестаков
нормальные трубы
нормальные муравьеды
нормальный трамвай
нормальное золотце
нормальное темя
нормальные черенки
нормальные кнопки
нормальный петит
нормальные барабанщики
нормальная сисяра
нормальное извещение
нормальная молитва
нормальное отдохновение
нормальные секунды
нормальное семейство
нормальная олифа
нормальная Сонечка
нормальные педерасты
нормальное почЛсывание
нормальный сюртук
нормальный звукоряд
нормальное удовольствие
нормальный пахан
нормальные губки
нормальный пентюх
нормальные православные
нормальное восхождение
нормальные кичики
нормальный йог
нормальная дура
нормальный кусок
нормальное угождение
нормальный аппаратчик
нормальные поебушки
нормальная комедия
нормальные метростроевцы
нормальная десперссия
нормальный молот
нормальные китобои
нормальное прошение
нормальная тяжба
нормальное воссоединение
нормальный одиночка
нормальный протон
нормальный купчик
нормальное наводнение
нормальный Владивосток
нормальная Таня
нормальное фразЛрство
нормальные снимки
нормальная сечка
нормальные поросята
нормальный Кремль
нормальные триоды
нормальные сеялки
нормальное убийство
нормальный слив
нормальная хунта
нормальная дичь
нормальный кабель
нормальные сапожки
нормальная готовальня
нормальный кооператив
нормальный октаэдр
нормальный подстаканник
нормальное предуведомление
нормальный клитор
нормальный гнев
нормальный выключатель
нормальный контрабас
нормальная Серебрякова
нормальное причастие
нормальный телефон
нормальное опровержение
нормальные планеты
нормальный гемморой
нормальный кубик
нормальная брюнетка
нормальные выборы
нормальные стрельбы
нормальное убожество
нормальный логарифм
нормальное безумие
нормальный Пресли
нормальные соты
нормальный чернокожий
нормальное заступничество
нормальная икона
нормальный цветок
нормальное бродяжничество
нормальные взаимоотношения
нормальный гудок
нормальная сволочь
нормальный крикет
нормальная антенна
нормальный циклон
нормальный короед
нормальный пупс
нормальные метрономы
нормальный ясень
нормальный астероид
нормальные колени
нормальные чашки
нормальный кивер
нормальный шмоняра
нормальное электричество
нормальный атташе
нормальный волк
нормальный куколь
нормальное дифференцирование
нормальный Торжок
нормальное законодательство
нормальный Рихтер
нормальный крючок
нормальный цимес
нормальное панибратство
нормальный Рим
нормальные суставы
нормальное явление
нормальный таракан
нормальная свобода
нормальные крекеры
нормальный хам
нормальный Васнецов
нормальный убой
нормальные фисташки
нормальное улучшение
нормальная тяга
нормальные лесбиянки
нормальный печник
нормальное приземление
нормальная серьга
нормальные подследники
нормальная белизна
нормальное ханжество
нормальная губка
нормальные кружки
нормальная капуста
нормальная лысина
нормальный пасечник
нормальный рубль
нормальные батареи
нормальная видимость
нормальное подножие
нормальная кузница
нормальные Вешняки
нормальный передовик
нормальные модницы
нормальный жираф
нормальная отвертка
нормальный Одоевский
нормальные голоса
нормальная жопочка
нормальная капель
нормальные чапаевцы
нормальный манеж
нормальное преувеличение
нормальный турнепс
нормальный клозет
нормальная акварель
нормальный креп
нормальный бук
нормальная горчица
нормальные святки
нормальное преображение
нормальные заморозки
нормальный скобарь
нормальное самбо
нормальный Мосх
нормальное побуждение
нормальная находка
нормальные гамаши
нормальное мытьЛ
нормальная трясогузка
нормальная медь
нормальный аппетит
нормальное попрание
нормальное козлоебство
нормальная рекомендация
нормальная половина
нормальный хлор
нормальный марксизм
нормальные маляры
нормальный курс
нормальное выпрямление
нормальное лишение
нормальная пленка
нормальная эгоистика
нормальный гемморой
нормальный отдых
нормальные анализы
нормальные внуки
нормальная пенсия
нормальный миокардит
нормальные головокружения
нормальные шлепанцы
нормальный протез
нормальные пломбы
нормальные выделения
нормальное обследование
нормальный уролог
нормальный проктолог
нормальное пальпирование
нормальный рецепт
нормальная аптека
нормальный валидол
нормальный амидопирин
нормальная ношпа
нормальный аллохол
нормальная бессоница
нормальный радедорм
нормальный кашель
нормальное утро
нормальная мокрота
нормальные разговорчики
нормальные воспоминания
нормальное почесывание
нормальная Лида
нормальные ватрушки
нормальная забота
нормальные носки
нормальная заплата
нормальное молочко
нормальное тепло
нормальная грелка
нормальная одышка
нормальный этаж
нормальный валокордин
нормальный сырничек
нормальная Катя
нормальные ветераны
нормальный Петрович
нормальный Семсныч
нормальный бодрячок
нормальная спина
нормальный дождь
нормальная подушечка
нормальный Вовка
нормальный пластырь
нормальная диета
нормальные сорванцы
нормальная кухня
нормальное пюре
нормальное раздражение
нормальный крик
нормальный визг
нормальные слезы
нормальные гадины
нормальная тварь
нормальный паразит
нормальное унижение
нормальная стерва
нормальная блядовня
нормальные истязатели
нормальное неуважение
нормальное пренебрежение
нормальное равнодушие
нормальный клоп
нормальный хлорофос
нормальная вонь
нормальная прогулка
нормальный дворик
нормальная лавочка
нормальные валенки
нормальные старушки
нормальная Акимовна
нормальный Федот
нормальный контролер
нормальная контузия
нормальный маргарин
нормальный корвалол
нормальная посылка
нормальная сгущенка
нормальная воболка
нормальные шашки
нормальная дамка
нормальные поддавки
нормальный ВТЭК
нормальное заключение
нормальный терапевт
нормальный отоларинголог
нормальный сосед
нормальная Машка
нормальные вареники
нормальная сметанка
нормальный творожок
нормальная ложечка
нормальный платочек
нормальный кал
нормальные родственники
нормальный сиропчик
нормальная ватка
нормально пописал
нормальные подарочки
нормальная подагра
нормальный миновазин
нормальная простыночка
нормальные ладошечки
нормальная гадина
нормальный городок
нормальные люди
нормальный телевизор
нормальный бандюга
нормальный волосочек
нормальный сырок
нормальная ряженка
нормальная хохотушка
нормальная повязка
нормальный винтик
нормальный зайчишка
нормальные тараканчики
нормальная Оленька
нормальный пирожок
нормальная начиночка
нормальное яичко
нормальные фантики
нормальные медали
нормальный орденок
нормальный церроз
нормальные фотографии
нормальный потничок
нормальный сухарик
нормальный дурак
нормальные пятки
нормальный замочек
нормальный Васятка
нормальные провалы
нормальная Ниночка
нормальный котик
нормальный костюм
нормальный нафталин
нормальная перхоть
нормальный юбилей
нормальные заслуги
нормальное поздравленьице
нормальный стол
нормальные сослуживцы
нормальный Витька
нормальные стаканчики
нормальная водка
нормальный салатик
нормальная салфетка
нормальный отдых
нормальный пердЛжь
нормальный диванчик
нормальный курослеп
нормальный сахарок
нормальные боли
нормальные крики
нормальная докторша
нормальные санитары
нормальные носилки
нормальная машина
нормальные медсестры
нормальная палата
нормальный укол
нормальное пробуждение
нормальные помутнения
нормальный хирург
нормальный зонд
нормальная кровища
нормальная каша
нормальная отрыжка
нормальные инъекции
нормальное обмывание
нормальный главврач
нормальная дежурная
нормальное судно
нормальная клеенка
нормальное посещение
нормальный совет
нормальные антибиотики
нормальные сульфамиды
нормальная водянка
нормальный прокол
нормальный нашатырь
нормальный профессор
нормальное мочегонное
нормальный консилиум
нормальное решение
нормальный срок
нормальная ответственность
нормальная операционная
нормальный специалист
нормальный наркоз
нормальная операция
нормальное состояние
нормальное давление
нормальный пульс
нормальное дыхание
нормальная фибрилляция
нормальный адреналин
нормальная кома
нормальный разряд
нормальное массированние
нормальная смерть


быть нормальным - не просто безумие, это - преступление

Спасибо: 0 
Профиль
elmortem
постоянный участник


Сообщение: 17
Зарегистрирован: 27.11.07
ссылка на сообщение  Отправлено: 21.05.08 21:00. Заголовок: noname За такие поты..


noname
За такие поты нужно руки отрывать!

Спасибо: 0 
Профиль
VampirE
постоянный участник


Сообщение: 32
Зарегистрирован: 21.11.05
ссылка на сообщение  Отправлено: 22.05.08 10:25. Заголовок: Интересная задумка, ..


Интересная задумка, у меня было нечто подобное на УРКе. Игра была в пост-апокалиптическом стиле, там были случайные встречи, скажем с торговцами или случайными врагами. У торговцев можно было купить какие-нибудь товары, список которых тоже генерировался случайно. Но все это заглохло, хотя сам процесс написания вот таких вещей был крайне увлекательным.

С тех пор себе дал слово, что не сажусь за написание чего либо не имея плана работы и транскрипта. =)

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

Спасибо: 0 
Профиль
Takemikazuti



Сообщение: 1
Зарегистрирован: 22.06.08
ссылка на сообщение  Отправлено: 22.06.08 08:26. Заголовок: Ннм, нечто подобное ..


Ннм, нечто подобное я пытаюсь сделать в акве :)
Только для неё мне были необходимы динамичные персонажи, и я уговорил акелу сбацать мне немного необычную акурку, в которой работают странные на первый взгляд команды, вроде:
a="if номер_локации=1 then "+#%команда$
#%a$

Эти странные конструкции позволят формировать динамичных персонажей, формирующих новые правила самостоятельно :)

Сейчас я уезжаю, а вечером по приезду чекну твой код, и попробую смешать его с динамикой :)

Хватит точить разум о наждак неразрешимых задач. Спасибо: 0 
Профиль
Дозер



Сообщение: 5
Зарегистрирован: 22.06.08
ссылка на сообщение  Отправлено: 22.06.08 14:54. Заголовок: 2noname Круто!!! Су..


2noname

Круто!!! Супер!!! Мне очень понравилась и задумка, и реализация, и именно в виде такого вот небольшого отрывка!!! Продолжай, плз, не дай задумке умереть!!!

Вот только эта, знаешь... Копировать сюда весь орфографический словарь было незачем, 100% тебе говорю...

2Byte А мне, кстати, игрушки про хакеров, и как выжить очень нравятся! Не было скучно ни разу!.. Нет, вру. Было. Игрушатина полная багов попалась, поэтому с досады активны грыз лапу (а что мне ещё оставалось делать-то)

2 Корвин: сделай, плз))) Очень хочется посмотреть на игры такого жанра)))

2All НЕ думаю, что самостоятельные действия персонажей нужны в принципе. Это, как знаете... Как те же самые игры с графикой и без графики. Если с описанием всё нормально упаковано, то никакой графики и не понадобиться - более того, она даже мешаться будет - навязывать чужое понимание.
Ну так и тут, с жизнью. У меня лично полный комплект возник при чтении - как проживается жизнь. Вспомнил и себя в школе, в инстите, с трепетом сердца почитал и о работе...
Так что моё мнение - квест "про жизнь" уже полностью удался, и лучше расширить его вариантами и событиями, чем просаживать время на ботов...
p.s. Может перекинуть ботов истинному программисту, которому бы это было интереснее, чем сам сюжет???

Спасибо: 0 
Профиль
Takemikazuti



Сообщение: 2
Зарегистрирован: 22.06.08
ссылка на сообщение  Отправлено: 22.06.08 22:55. Заголовок: http://urq.allquests..


http://urq.allquests.ru/upload/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA(%D0%B4%D0%B0%D0%B6%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82).rar - мой древний проект, по структуре НУ ОЧЕНЬ похожий на твой код в первом посте. Правда, там я ввёл примитивную графику и управление с клавиатуры :)
ещё я там ужасно ступил с ифами - мал был :)

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

л1описдк="В холл"
л2описдк="В комнату"
л1опис="вы в холле страшного дома"
л2опис="вы в страшной комнате"
с1=1
с1н1=2
с2=1
с2н1=1
персв=1
:ыы
фыва=1
pln #л#персв$опис$
:ыть
if фыва=с#персв$+1 then end else xbtn ыы,{персв=с#персв$н#фыва$},#л#с#персв$н#фыва$$описдк$ & фыва+=1 & goto ыть

Всё!
Проверено, правда, только для двух локаций, но теоретически вытянет и больше :)
Если и не вытянет, то только за счёт мелких багов, с которыми можно разобраться на месте.

Хватит точить разум о наждак неразрешимых задач. Спасибо: 0 
Профиль
qqq



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.08.08 22:25. Заголовок: Takemikazuti пишет: ..


Takemikazuti пишет:

 цитата:
по структуре НУ ОЧЕНЬ похожий на твой код в первом посте


ну да, структура диктовалась языком и целью. (расширяемость кода и тп)

Дозер спасибо за поддержку! действительно, стоило бы убить год хорошей работы на то, чтоб закончить начатое (это если делать покороче но хорошо и в меру широко). но, думаю-таки на это меня не хватит. я сделал своё дело- показал стиль. теперь можно тихо гордиться своей задумкой и повесить распечатку твоего поста на самое видное место в комнате.

elmortem спасибо! похоже, ты- единственный, кто пытался прочесть мой последний пост

VampirE ок!

p.s.
я- забывший свой пароль noname,
а noname- забывший свой пароль qwerty.
вроде бы я ещё раньше был Salazar, но не уверен,
что засветился под этим именем на этом сайте.

пытаюсь подобрать пароль.

Спасибо: 0 
qqq



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.08.08 22:41. Заголовок: админов в списке уча..


админов в списке участников нашёл, но не понял, как им личку слать...

эй, админы, вышлите пароль noname на адрес, указанный в его профиле

(тот ящик я сумел открыть, хотя и не пользуюсь им уже)

Спасибо: 0 
qqq



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.08.08 22:28. Заголовок: по-моему я мог и не ..


по-моему я мог и не указать своего мыла при регистрации,
вот мой ящик: ya2500@yandex.ru
более старый (когда я был qwerty) - уже утерян
вышеупомянутый- был когда я был noname.

помница, Корв чё-то высылал на мой ящик и может подтвердить,
что это действительно ящик noname.
ну, может и ещё кто-нибудь.

ПРОСЬБА К АДМИНАМ заключается в следующем:
прошу выслать на ya2500@yandex.ru пароль noname.
а если можно, то
и пароль noname с тяп-ляпа.

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

Спасибо: 0 
qqq



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.08.08 21:45. Заголовок: помница Корв в теме ..


помница Корв в теме "Akurka (продолжение)" интересовался алгоритмом лабиринта.

:инициализация
invkill
perkill
xmax=15 ; кол-во локаций по горизонтали
xxmax=xmax*2+1
ymax=5 ; кол-во локаций по вертикали
yymax=ymax*2+1
goto предварительное_заполнение
end

:предварительное_заполнение
ycount=1
:yloop_метка_2
xcount=1
:xloop_метка_2
;
world_#xcount$_#ycount$= 2 ; 2 - стена
world_#xcount+1$_#ycount$= 2 ; 1 - пусто
world_#xcount$_#ycount+1$= 2
world_#xcount+1$_#ycount+1$= 0 ; - недообработанная локация
;
if xcount<xxmax then xcount=xcount+2 & goto xloop_метка_2
if ycount<yymax then ycount=ycount+2 & goto yloop_метка_2
goto генерация
end

:генерация
; создаём список активных точек
x_point_1= rnd#xmax$
y_point_1= rnd#ymax$
num_points=1
; выбираем активную точку из списка
cur_point=rnd#num_points$
; выбираем направление сзюв
direction= rnd4
; пытаемся двигаться туда
if direction = 1 then dx=0 & dy = -1
if direction = 2 then dx=-1 & dy = 0
if direction = 3 then dx=0 & dy = 1
if direction = 4 then dx=1 & dy = 0

..........................................................................


end

:отображение
ycount=yymax
:yloop_метка_1
pln
xcount=1
:xloop_метка_1
p #world_#xcount$_#ycount$$
if xcount<xxmax then xcount=xcount+1 & goto xloop_метка_1
if ycount>1 then ycount=ycount-1 & goto yloop_метка_1
pln
end

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

Спасибо: 0 
noname
постоянный участник




Сообщение: 144
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 21:49. Заголовок: о! пришли свежие раз..


о! пришли свежие разведданые,
пароль теперь известен, а qqq разоблачён и забыт.

так о чём это я? ах, да! алгоритм:

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 145
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:10. Заголовок: 1. генерим шаблон ла..


1. генерим шаблон лабиринта. если в предыдущем куске из локации предварительное_заполнение переходить не к генерации, а к отображению, то поймёте, что я имею ввиду. может прога написана не вполне корректно, просто хотел как покороче. подходы могут быть различны, ещё раз повторюсь, что вариаций на тему алгоритма генераций лабиринтов может быть множество. на дельфях я часто обходился и без шаблона.

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

3. выбираем наугад одну из 'активных точек' по списку.

4. если рост (потом объясню) из этой точки невозможен- убираем точку из списка. она больше не активна. если нет больше активных точек- ЛАБИРИНТ ГОТОВ. КОНЕЦ. если есть- читай п3
(тут надо учесть внешние границы и/или предельное кол-во локаций - можно заполнять лабиринтом прямоугольный полигон, либо делать бесформенный лабиринт с заранее заданным кол-вом локаций, в хорошем лабиринте хорошо бы объединять эти подходы + различать различные сектора- но об этом в след раз)

5. выбираем наугад одно из возможных направлений роста, (на урке я хотел сделать хуже и проще: генерим наугад направление, если можно туда расти- растём, иначе выбираем след направление- если все 4-ре напр невозможны- читай п4. ) и "растим" лабиринт туда. что это значит?: расти в некотором направлении = пробить стену в этом направлении, что бы попасть в НЕОБРАБОТАННУЮ локацию. после чего соотв стена помечается, как пустое поле, а необраб поле помечается, как пустое поле тоже, но при этом его координаты добавляются в список активных точек.

<продолжение следует>

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 146
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:13. Заголовок: мозги ещё не опухли?..


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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 147
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:24. Заголовок: 6. иди к п3 КОНЕЦ АЛ..


6. иди к п3
КОНЕЦ АЛГОРИТМА.

как оно работает? репортаж с места событий:

вот замечательный наш шаблон 'в клеточку' подсветила активная точка.
пробита стена, и соседняя точка(локация) тоже стала активной.
потом- ещё и ещё.
из каждой активной локации пробиваются стены и идёт расширение лабиринта
на ещё неосвоенные локации (ВАЖНО: только на неосвоенные!!!).
локации, из которых невозможно пробиться к ещё необработанной точке- 'тухнут'
(перестают быть активными).
в итоге получаем наш шаблон в изгрызенном виде, причём изгрызен он так,
что из любой локации, принадлежащей лабиринту, теоретически можно приблуждать в любую другую. есть тупики и развилки, но нет закольцовок.
(хотите закольцовок- пробейте наугад любую внутреннюю стену! а лучше: найдите сначала такую стену, кратчайший путь м/ду локациями, разделёнными которой, будет максимальным- и пробейте её. ну или ещё как-нибудь извратитесь).

вот и всё, что я хотел сказать по этому поводу.
жду ваших вопросов и пожеланий.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 148
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:35. Заголовок: кста, тут минут пять..


кста, тут минут пять назад Nex в соседней теме упомянул войну платформ,
а войны могут быть выгодным делом:

интересно, на какой платформе (qsp или urq) раньше будет реализован генератор лабиринтов?
( правда мне он всё равно не нужен, ну может кому другому пригодится )

Спасибо: 0 
Профиль
Хломидоманад
постоянный участник




Сообщение: 215
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 29.08.08 00:15. Заголовок: noname пишет: интер..


noname пишет:

 цитата:
интересно, на какой платформе (qsp или urq) раньше будет реализован генератор лабиринтов?
( правда мне он всё равно не нужен, ну может кому другому пригодится )


Two hours' work. Написал бы хоть сейчас, но нет даже этого времени. Так что кому пригодится, тот и напишет)

Спасибо: 0 
Профиль
staticZ



Сообщение: 4
Зарегистрирован: 14.08.08
ссылка на сообщение  Отправлено: 29.08.08 01:18. Заголовок: На QSP их было уже м..


На QSP их было уже много.

Спасибо: 0 
Профиль
СантиМЭТР



Сообщение: 2
Зарегистрирован: 10.08.08
ссылка на сообщение  Отправлено: 29.08.08 07:20. Заголовок: Мне пригодится!


Спасибо, Безымянный!:) в сути алгоритма пока не разобрался, но уже знаю, куда его приспособить с толком.

Спасибо: 0 
Профиль
Nex



Сообщение: 96
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 29.08.08 07:25. Заголовок: noname генератор лаб..


noname генератор лабиринтов был сделан на QSP очень давно, а первой игрой, где он используется, стал рогалик "Серафим".

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 150
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.08.08 18:30. Заголовок: Nex а я придумал это..


Nex а я придумал этот алгоритм в 10-м классе
33-17=16 лет назад.
вот!

а как насчёт лабиринта с дверьми и ключами к ним?

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 151
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.08.08 19:10. Заголовок: Nex пишет: noname г..


Nex пишет:

 цитата:
noname генератор лабиринтов был сделан на QSP очень давно, а первой игрой, где он используется, стал рогалик "Серафим".


ну, там используется более простой алгоритм...
впрочем, для жанра 'Серафима' - в самый раз.
(это я без сарказма- действительно подходящий генератор для этой игры)

так что вопрос реализации алгоритма на куспе или урке остаётся открытым.
p.s.
а алгоритм из Серафима стоит изучить- для широты кругозора.
+ наверняка есть и другие способы простой генерации лабиринтов.
p.p.s.
у qsp-шников отличный архив файлов с описаниями и комментариями!
а урка, видать перестала развиваться давным давно,
и только её изначальная красота кое-как поддерживает её ещё на плаву.
(так же меня до сих пор восхищает задумка Синклера,
но пользуюсь я таки IBM-кой...)
p.p.p.s.
долгой жизни урке!

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 154
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.08.08 22:30. Заголовок: для тех, кто не спит..


для тех, кто не спит:
1. в этой теме чуть выше был описан алгоритм генерации лабиринтов
2. только что скачал из upload-а свою же заготовку,
для которой этот лабиринт мог бы понадобиться.
пока там вместо лабиринта просто несколько стен наугад расставляются.
Uploaded succefully: http://urq.allquests.ru/upload/monst000.qst [10.13 Kb]

суть игры:
---главгерой отстреливает монстров в лабиринте 15х70, который постоянно целиком отображается на экране вместе с расположением 99 монстров.
---безобидные монстры обладают примитивным интеллектом, ходят, огибают препятствия, отдыхают восстанавливая силы (m- ослабленный монстр, M- более здоровый монстр).
---главгерой(смайлик) стреляет, ходит, перезаряжает по одному патрону свой восьмизарядный винчестер, а так же вынужден иногда отдыхать. ослабленных монстров убивает с одного выстрела, более сильных- как повезёт.

игра довольно примитивна, но НЕ шифрована и её код может быть интересен для изучения.

Спасибо: 0 
Профиль
Chicago1920
неизвестный человек




Сообщение: 144
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 30.08.08 07:21. Заголовок: noname спасибо тебе ..


noname спасибо тебе за все! Продолжай в том же духе!! Не пропадай!!!

А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 1 
Профиль
noname
постоянный участник




Сообщение: 162
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 31.08.08 22:37. Заголовок: Takemikazuti твоя сс..


Takemikazuti твоя ссылка не работает

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 181
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.09.08 20:10. Заголовок: следующий пост будет..


следующий пост будет длинным.
ничего не могу поделать- нашёл нового автора: Пётр Бормор.

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 182
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.09.08 20:11. Заголовок: Недобрый сказочник (..


Недобрый сказочник (bormor)
@ 2008-11-15 23:44:00

Трое героев сидели на пригорке, восстанавливая силы после боя. Могучий воин с двуручным топором, тоненькая эльфийка, увешанная амулетами, и рейнджер с висящим за спиной луком.
-Хорошооо!- воин зажмурился на солнышко и потянулся.- Задание выполнили, трофеев набрали. И мне до следующего уровня совсем чуть-чуть осталось.
-А я уже перешла!- похвасталась эльфийка. Она как-раз подсчитывала что-то, чертя палочкой по земле.- Как думаешь, какой мне лучше взять неоружейный навык? Езду верхом или плавание?
-А ты еще не умеешь плавать?- удивился воин.
-Здесь - не умею,- отрезала эльфийка.
-Тогда учись,- посоветовал воин.- Ходить пешком не смертельно, а вот тонуть...
-Ясно,- кивнула эльфийка и снова углубилась в подсчеты.
Воин откинулся на спину и скосил глаза на рейнджера. Тот сидел, обхватив колени и уткнувшись в них лбом.
-О чем задумался?
Рейнджер поднял голову, посмотрел на воина и неопределенно пожал плечами.
-Ничего, ничего, привыкай,- хмыкнул воин.- Поначалу всем трудно, особенно когда в рукопашную. Я, помнится, после своего первого боя вообще ревмя ревел. И после второго, и после третьего. А потом ничего, привык.
-Я убил человека,- прошептал рейнджер.
-Ты убил бандита!- отрезал воин.- Не бери в голову. Гоблин, оборотень, бандит, кентавр - какая разница? Непись она и есть непись.
Рейнджер всхлипнул и отвернулся.
-Я... знаю. Но он... так... на меня посмотрел...
-Ага,- хохотнул воин,- графика здесь на высоте.
-Нет, ты не понимаешь! Он так посмотрел...
-Смотреть они умеют,- не оборачиваясь, сердито заметила эльфийка.- Натурализм, чтоб его... Я у себя в настройках отключила, а то ведь невозможно же! Нервирует. И по ночам потом всякая ерунда снится.
-Не обращай внимания,- посоветовал воин.- В конце концов, это ведь всего лищь игра.
-Игра...- прошептал рейнджер.
-Раньше было лучше,- пожаловалась эльфийка.- Может, не так правдоподобно, зато надежнее, что ли. Порядок был.
-Угу,- подтвердил воин.- А на прошлой неделе, представляешь, беру задание - уничтожить одну банду. Прихожу на место, а банда - тю-тю! Никого нет, все разбежались. Ну, я-то их выследил, конечно, а толку?.. Один устроился в городе помощником кузнеца, двое ушли в монахи, еще один занялся сельским хозяйством... И трогать их запрещено, мэр взял на поруки. Ненавижу, когда квест остается невыполненным! Кого-то, конечно, все-равно достал потом, втихую, но всех разве переловишь? Расползлись, как тараканы.
-Да, с боевками сейчас туго,- согласилась эльфийка.-Монстры поумнели. Я, конечно, понимаю, интеллект интеллектом, но надо же хоть какие-то рамки задавать! Чтобы далеко не уходили, чтобы дрались, а не ловили рыбу... Слышал, кстати, тролли себе целый рыбачий поселок отгрохали? Тролли, прикинь! Обнесли частоколом, поставили башни, выходить не хотят. А мне для эпического посоха нужен глаз нефритового тролля, где я его теперь возьму?
-Ну, если собрать побольше народу, можно попробовать,- задумчиво протянул воин.- Хотя...
-Игра...-рейнджер тихо и невесело рассмеялся.- Всего лишь игра!
-Ну да,- воин бросил на рейнджера недоуменный взгляд.- Игра, конечно.
-Вот ты переживаешь за убитых бандитов,- встряла эльфийка.- А где их трупы? Нету! А на кинжал посмотри, есть следы крови? Тоже нет! Потому что и бандитов никаких не было, это же просто программа.
-Не надо воспринимать игру слишком серьезно,- наставительно поднял палец воин.- Она, конечно, очень похожа на жизнь, специально такой сделана, но по большому счету...
-...это всего лишь игра,- закончил рейнджер.
-Умница,- кивнул воин.- И, кстати, твои бандиты никуда не денутся. Вот уйдем мы с локации, а они опять тут как тут. Должна же игра как-то поддерживать популяцию, а то и правда скоро ни одного монстра не останется.
-Это будут новые? Или те же самые?
-Ну ты и вопросы задаешь!- засмеялся воин.- Ты еще спроси, верю ли я в наличие души у неписей!
-А ты веришь?
-Да её и у людей-то нет,- отмахнулся воин.
-Он атеист,- пояснила эльфийка.- А души у неписей действительно нет.
-Ясно,- тихо произнес рейнджер и снова уткнулся лбом в колени.
-Они только похожи на людей. И ведут себя как люди. Но это потому, что их так запрограмировали. Ты можешь подумать, что непись и правда испытывает боль, или радость, или страх, но всё это одна только видимость, за ней ничего нет. Только единички и ноли, да кое-какой алгоритм. Вот и всё.
-Ага,- подтвердил воин и встал на ноги.- Ну, я уже всё здоровье восстановил. Пойду, пожалуй, у меня в реале сейчас пол-двеннадцатого ночи.
-Спать будешь?- спросила эльфийка.
-Нет, к экзаменам готовиться.
-Я тоже скоро пойду, чуть попозже. У нас еще только восемь с половной, время детское.
-Ты из Питера, что ли?
-Нет, из Хайфы. А ты откуда? Эй, я к тебе обращаюсь! Уснул, что ли?
-А?- рейнджер поднял голову.- Я? Я из Бродервилля... то есть, я хотел сказать...
Договорить он не успел. Свистнул в воздухе двуручный топор, рейнджер коротко вскрикнул, а затем его рассеченное надвое тело замерцало и исчезло. На траве остались только лук, кинжал, да пригоршня монет.
-Ну зачем ты так?- укоризненно произнесла эльфийка.
-Аах, хорошооо!- Воин блаженно потянулся.- Вот и поднялся на уровень... Ты что-то сказала?
-Да нет, ничего особенного. Жалко парнишку. Совсем как настоящий был.
-Брось, нашла о ком жалеть. Он мне сразу не понравился, вялый какой-то. Ты вещи будешь брать?
-Кинжал возьму. А лук мне не нужен.
-Ну тогда лук мне будет, в городе продам. Только не сейчас, а завтра. Мне еще социологию учить.
-Ни пуха ни пера!
-К черту.

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 193
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.10.08 19:03. Заголовок: Nex пишет: noname г..


Nex пишет:

 цитата:
noname генератор лабиринтов был сделан на QSP очень давно, а первой игрой, где он используется, стал рогалик "Серафим".


ага.
и переводчик уэркушных квестов на куспель- тоже есть:)
тока когда захожу за ними на ваш сайт,
то оказывается, что вы имели ввиду совсем не то, что писали
и т п

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

сейчас пишу квест на куспели. она мне начинает нравиться
(хотя и досурка нравится не меньше)
НО подобные сообщения напоминают мне,
что раскрутка куспели- это, в том числе, раскрутка
"гнилой" идеологии.

а мне хочется уюта и штоп было хорошо и не было плохо.
вот.

в "холме фей" тоже лабиринт сделан не по локациям,
а заполняется в массиве, и написан он раньше Серафима,
но причём тут генератор?

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

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
Nex



Сообщение: 115
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 14.10.08 21:01. Заголовок: noname я всегда имею..


noname я всегда имею в виду то, что пишу.
То, что кто-то иногда понимает меня неправильно, не делает меня неправым или обманщиком.

Приведи хоть один пример, где я соврал. Факты в студию.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 194
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.10.08 22:43. Заголовок: Nex, попробую побыть..


Nex, попробую побыть таким же скользким, как и ты:

 цитата:
Приведи хоть один пример, где я соврал. Факты в студию.


а я, что, утверждал, что ты соврал? :)

p.s.
неприятно? вот и мне- тоже.

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

впрочем, готов завязать с перебранкой. прими мои выпады как реакцию на сообщение типа: "то, что вы обсуждаете, на QSP уже сделано очень давно". (ну, не совсем то и не давно, а давно- совсем не то, а самые те файлы, к тому же случайно утеряны, а то, что давнишние сохранившиеся ещё гораааздо ниже по уровню- так это ничего, совпадение такое).

блин, ну аппелировать к твоему знакомству с алгоритмом генерации подземелий Серафима не буду- сам знаю, насколько милее свой алгоритм чужого, так что этот момент, пожалуй, опустим...

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
Nex



Сообщение: 116
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 15.10.08 05:54. Заголовок: Фигли это я скользки..


Фигли это я скользкий? Я прямой, честный и открытый.

Ты упомянул ложь и гнилую идеологию. Теперь отвечай за свои слова.

Спасибо: 0 
Профиль
uux
постоянный участник


Сообщение: 121
Зарегистрирован: 13.03.07
ссылка на сообщение  Отправлено: 15.10.08 10:36. Заголовок: noname пишет: впроч..


noname пишет:

 цитата:
впрочем, готов завязать с перебранкой. прими мои выпады как реакцию на сообщение типа: "то, что вы обсуждаете, на QSP уже сделано очень давно". (ну, не совсем то и не давно, а давно- совсем не то, а самые те файлы, к тому же случайно утеряны, а то, что давнишние сохранившиеся ещё гораааздо ниже по уровню- так это ничего, совпадение такое).



Noname, Вы не правы. Пост Nex'а, который вызвал Ваше порицание, написан как прямой ответ-комментарий вот на этот (Ваш же, между прочим) вопрос:


 цитата:
интересно, на какой платформе (qsp или urq) раньше будет реализован генератор лабиринтов?



Nex дал прямой ответ, правда, касающийся только qsp (так как в "урке" Nex не силен). А то, что "Серафим" назван первой игрой, где используется генератор лабиринтов - так очевидно, что имеется в виду именно куспелевская инкарнация этого генератора. Никаких даже намеков на "спор о первородстве" тут нет.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 196
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 15.10.08 19:46. Заголовок: to uux: 1)споры о пе..


to uux:
1)споры о первородстве меня волнуют меньше всего(т е не волнуют совсем). вопрос в том, что рекламная кампания куспелевцев оставляет неприятный осадок. и не только у меня.

рыть щазз форум в поисках фраз не буду(поиск здесь не очень удобен), но они есть. напр в теме
http://urq.borda.ru/?1-0-20-00000067-000-20-0
есть кое-что, если тебе не лень будет полистать.

так же можно в других темах найти, что я к таким вещам относился более терпимо, чем многие форумчане. (если найтёшь соотв сообщения). но любая чаша может быть переполнена.

2) по поводу Серафима: какая там инкарнация? просто имело место быть мелкая 'поддёвка' со стороны Nex-а. так уж случилось, что последней каплей стала именно она. я убил некоторое время в пустую на разбор 'генераторов лабиринтов на куспе'. про работу с 'конвертером urq игр на qsp' вообще молчу(так уж случилось, что прямые, уверенные утверждения о существовании такового вклинивались в форум незарегистрированными гостями. а куспелевцы тут ни при чём).

3)формально в моём 'порицании' содержится осуждение лжи, а так же негативный отзыв о куспелевском сообществе. и то и другое считаю справедливым.

кроме того(Nex, не подслушивай), это сообщение было адресовано именно Nex-у, которого я уважаю, но чьё поведение иногда вызывает недоумение. если бы я прямо обвинил Nex-а, я бы и тогда не стал извиняться, так как его личностные качества вырисовываются для меня всё более явно. тебе, uux, своего отношения к нему навязывать не могу, не хочу и не буду- сам во всём разберёшься, если когда у тебя будут 'пересекающиеся' с ним интересы.

считаю, что уже дал в предыдущих постах развёрнутый и ясный(для Nex-а) ответ, что именно меня задело в сообщении Nex-а. себя считаю полностью и абсолютно правым, а мой упрёк- справедливым.

to Nex, формально ты не лгал. я- тоже.
ответ тебе в этом моём сообщении, как и в предыдущем, считаю лишним.
более того, проявлением моей слабохарактерности.

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
Nex



Сообщение: 117
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 16.10.08 08:58. Заголовок: Тьфу, блин. Ну какая..


Тьфу, блин. Ну какая к чёрту рекламная кампания? Её нет и не было.

Тема трёхлетней давности при чём тут?

Кое-что следует прояснить.
"Куспелевское сообщество" - это Байт, и авторы интерпретаторов, редакторов, справки, игр, а вовсе не те "ентузиасты", которые "разжигают страсти" и несут ахинею на других форумах. Адекватные участники остаются, и вносят свой настоящий вклад в развитие платформы, а те бесчисленные "революционеры" быстро перегреваются, быстро остывают и исчезают навсегда. Очень жаль, что их, из-за их гиперактивности, принимают за "QSP-сообщество".

Выливая обиду за свои неудачи на меня, или на "куспелевское сообщество", ты тратишь время ещё более впустую. Пиши игры. Игроки тебе спасибо скажут.

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 200
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 20.10.08 00:48. Заголовок: не знаю куда написат..


не знаю куда написать, что бы не потерялось, поэтому пишу здесь:
"Uploaded succefully: http://urq.allquests.ru/upload/unikbd.arj [3.29 Kb]"
это я занёс unikbd в наш аплоад. руссификатор такой.
для досурки эта программулина- то, что надо!
я её давно в инете искал- щазз среди ночи встал погуглить- и нашёл.
-------------------------------------------------------------------------------------
где-то в этой теме давно я уже описывал сложности с русским вводом на досурке,
теперь эта проблема решена! пишем bat-файл:
"
unikbd.com
urq_dos.exe quest.qst
"
и всё!
только что проверено под WinXp SP2,
но и раньше- под чем только не пускал- всегда был доволен работой unikb

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
frodo
постоянный участник


Сообщение: 12
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 26.10.08 00:40. Заголовок: Пример ЖМ


world -- мой пример ЖМ. Правда, персонажи пока только ходят, но их количество, как и количество локаций, не ограничено. Все достаточно просто настраивается и расширяется, а еще НПС могут выбиратся из простых лабиринтов (в примере показано), если заданы обязательные локации. Будет дорабатываться.

Не осудить, а обсудить. Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 204
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 26.10.08 22:00. Заголовок: frodo, было бы неп..


frodo, было бы неплохо, если бы авторы привыкали указывать версию интерпретатора, на котором работает их проект. возможно, я тоже не сказал, что мои проги, приведённые в этой теме писались для ДосУрки- тогда извиняюсь; твою прогу, видимо, нужно пускать под AkURQ1.28pre6. но я пока смог посмотреть только в блокноте- акурок у меня щазз нет. вообще щазз у меня некоторые сложности и со временем и другие...

и СПАСИБО тебе за внимание к теме ЖИМ: радуюсь каждый раз, когда вижу заинтересованность в этом направлении!
p.s.
ссылка на прогу, до которой я дописал свой ЖИМ:
http://urq.borda.ru/?1-0-0-00000231-000-40-0
думаю, что текст достаточно 'прозрачен', и с 'расширением' примера проблем возникнуть не должно. после этой версии я ударился в поиск принципиально других решений, и пока далёк от выпуска очередной версии. в данный момент экспериментирую с ДосУркой в попытке создать хоть что-то достаточно нестандартное и оконченное, что не стыдно было бы вложить на всеобщее обозрение.

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
frodo
постоянный участник


Сообщение: 14
Зарегистрирован: 05.08.08
ссылка на сообщение  Отправлено: 28.10.08 22:14. Заголовок: под AkURQ1.28pre6 Да..



 цитата:
под AkURQ1.28pre6


Да, все верно, прошу прощения. Nex уже постучал из-за подобного по голове на ветке про Локу. Чистосердечно раскаиваюсь, и впредь подобного обещаю не совершать.
На выложенной версии НПС только ходят, но у себя я уже научил их с заданной вероятностью совершать поступки типа "НПС1 выполняет действие2 на локации10", "НПС3 продолжает путь", "НПС5 останавливает НПС4 с целью действия3", "НПС2 выполняет с НПС6 действие1". Протестирую -- выложу.
Осталось придумать, как они будут взаимодействовать с учетом принадлежности к кланам с номерами от 0 до 99, и научить добывать предметы инвентаря при выполнении действий, в том числе красть и покупать.

Не осудить, а обсудить. Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 218
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.10.08 22:36. Заголовок: frodo, респект! а я ..


frodo, респект! а я всё равно всё буду делать по своему :)
эх, жаль времени так мало.
надеюсь, в ноябре с этим утрясётся...

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 234
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 25.11.08 22:09. Заголовок: команда взять что-ли..



 цитата:
команда взять что-либо генерит все кнопки в одном ифе:

if ... then xbtn ход_игрока,{дело#дел$="взять" & арг1#дел$=вещь#счётчик$_имя},#%...$

это позволяет легко добавлять вещи в разделе инициализации, не затрагивая кода.
какую именно из вещей игрок решил взять- ясно будет только ПОСЛЕ нажатия кнопки.
а если аргумент не один, а три?- как тогда?
создавать массив процедур NхMxK?
теоретически можно в локации ход_игрока выцепить название вещи из btn_caption,
НО это уже сложности- прийдётся писать парсер, разбирающий, что НАЖАЛ игрок.

в-общем, мысль была такова: с помощью xbtn можно делать то, что без него- нельзя.


это- цитата из моего сообщения с первой страницы этой темы.

обращаю ваше мнимание:
if ... then xbtn ход_игрока,{дело="взять" & арг1=вещь#счётчик$_имя},#%...$
этот if выполняется в цикле, в котором перебираются все предусмотренные действия. если действие в данной ситуации возможно- выводим кнопку, которая:
1) после нажатия передаст управление процедуре 'ход_игрока'
2) перед тем, как перейти на процедуру- занесёт в переменные 'дело' и 'арг1' (а если надо, то и арг2 и арг3) значения, соответствующие выбору игрока. (т е глагол+сущ для обработки процедурой 'ход_игрока' аналогично тому, как обрабатываются ходы всех NPC)
3) #%..$ - просто генерится капшен кнопки. типа: 'взять яблоко'
---
а как без xbtn? ну, я-то реализовал по-другому, НО для этого пришлось прибегнуть к парсеру(пусть и примитивному). помницца, я писал, что без xbtn для этого пришлось бы написать n*m доп_локаций (где n-кол-во глаголов типа 'взять', а m- кол-во аргументов типа 'яблоко'), но и это НЕ спасает положения: представьте, во што обойдётся добавить ещё один глагол и ещё один предмет, если уже есть 6 глаголов и столько же предметов! а если добавить глагол с двумя аргументами?
---
к чему я это пишу: ЕСТЬ такие случаи, когда без xbtn НЕ обойтись. ну невозможно прописать ручками заранее n*m локаций, где n и m задуманы автором, как величина переменная (кол-во предметов может изменяться, а глаголы хоть и не меняются по ходу игры, но прописаны так для удобства расширения проги. соответственно без xbtn не получится удобно расширяемая прога, а получится дремучий лес во много раз превышающий предположительный объём всей программы, использующей xbtn)

DosURQ- рулез! Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 235
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 25.11.08 22:11. Заголовок: frodo пишет: Остало..


frodo пишет:

 цитата:
Осталось придумать, как они будут взаимодействовать с учетом принадлежности к кланам с номерами от 0 до 99, и научить добывать предметы инвентаря при выполнении действий, в том числе красть и покупать.


frodo, а сколько всего NPC задумано?

DosURQ- рулез! Спасибо: 0 
Профиль
ASBer





Сообщение: 1
Зарегистрирован: 26.11.08
ссылка на сообщение  Отправлено: 26.11.08 15:23. Заголовок: Идеология ЖИМ мне оч..


Идеология ЖИМ мне оч.близка


ТОМ v.0.1.4.0 в разработке Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 243
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 27.11.08 22:42. Заголовок: кста, у меня придума..


кста, у меня придумался другой концепт ЖИМ:

1) прописаны от руки локации с 'обычными' NPC и т п
2) ГГ может бродить и взаимодействовать с миром, как обычно в батонновых URQ-квестах
НО
3) в мире есть ещё и боты, которые имеют те же возможности взаимодействия с миром, что и ГГ

впрочем, ЖИМ меня сейчас 'поотпустил', щазз думаю над другим...

DosURQ- рулез! Спасибо: 0 
Профиль
Nex



Сообщение: 143
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 28.11.08 08:50. Заголовок: noname думаешь? а де..


noname думаешь? а делать когда будешь?

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 266
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 16.12.08 21:01. Заголовок: даю листинг генерато..


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


UPD

да, забыл сказать: писал под DOS_URQ. точки с обеими чётными координатами- комнаты, остальное- стены и проходы.

DosURQ- рулез! Спасибо: 0 
Профиль
Ответов - 136 , стр: 1 2 3 4 5 6 7 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет