Форум » » уроки URQ » Ответить

уроки URQ

qwerty: Они самые. предлагаю вести такую тему, где будет по шагам описано создание игры на досурке. UPD уроки по досурке (URQ_DOS от 30.11.04). Скачать её(досурку), а так же её описание можно здесь: http://urq.plut.info/soft (см ссылки: [quote]Скачать URQ_DOS от 30.11.04 - 132 Кб Описание URQL для URQ_DOS версии 1.35 от 23.11.2006 года от Корвина.[/quote] ) UPD(11.02.09, 0:59): оказался недостаточно организован, что бы вести уроки. НО с удовольствием отвечу в этой теме на любые вопросы по urq_dos. появляюсь на форуме не реже 1 раза в неделю

Ответов - 139, стр: 1 2 3 4 5 6 7 All

Nex: noname здесь всё зависит от автора. Чем более автор игры углубляется в программирование, тем меньше его локации соответствуют определению "единица игрового мира". В парсерных движках типа RTADS есть чёткое разграничение, там как бы "всё предусмотрено", а в менюшных самопалах QSP и URQ - нет. Учитывая то, что большая часть "новоприбывших" садятся писать на URQ и QSP "такое, чего раньше не было", и большинство из них - программисты, то разграничения понятий и не предвидится. Все будут только глубже закапываться в код, за редким приятным исключением. Для упрощения терминологии можешь "служебные локации" называть "процедурами". Только учти при этом, что в некоторых менюшных играх не будет ни одной "настоящей игровой локации".

Григорий: "Служебная локация" это не процедура, а метка, туда можно попасть и с помощью оператора безусловного перехода. В урке с самого начала метки зачем-то назвали локациями, из-за чего и возникла некоторая путаница. Кроме того, "локация" выше описана в терминологии парсерных игр, хотя в урке этот термин употребляется в том же смысле, что и геймбуковское "параграф". Т.е. де факто в урке "служебная локация" повсеместно называется просто "локацией", а понятия "локация" в приведенном смысле просто не существует, это чуждая urq-идеологии терминология парсера. Сам конечно не понял что написал. Короче - терминология хреновая, но ее нельзя поменять, потому что она уже много лет как устоялась.

ASBer: Эх... хорошо то у вас как! Может сделать к ТОМу чисто менюшный интерфейс в URQ стиле без всякой командной строки? Локации будут локациями, а меток вообще не будет... ;)


Nex: Я надеюсь, это сейчас шутка была. От движкоделов чего угодно можно ожидать...

uux: Nex пишет: noname здесь всё зависит от автора. Чем более автор игры углубляется в программирование, тем меньше его локации соответствуют определению "единица игрового мира". В парсерных движках типа RTADS есть чёткое разграничение, там как бы "всё предусмотрено", а в менюшных самопалах QSP и URQ - нет. Nex, не флуда ради, а педантизьма для;). В TADS'е тоже не так просто разделить локации, которые видит игрок, и локации служебные. Иногда одну локацию в игровом мире бывает удобно представить несколькими объектами-локациями в коде. В некоторых случаях имеет смысл ввести локацию в коде, вообще не имеющую эквивалента в игровом мире (т. е. в которую игрок не будет попадать в принципе). Я уж не говорю про "вложенные" локации (например, если ГП стоит в комнате на стуле - считать стул отдельной локацией или нет?) А уж к парсерности/менюшности классификация локаций ИМХО вообще не имеет отношения. Тут все зависит от структуры конкретного языка. В urql логично было бы назвать "настоящими" локациями промежутки между меткой и оператором end, где есть кнопки, хотя и такое определение не будет вполне строгим. Про QSP сказать ничего не могу, так как незнаком с языком. Только, Бога ради, не считай это приглашением к дискуссии по выработке строгого определения локации в игре - я к этому не готов;). ASBer пишет: Может сделать к ТОМу чисто менюшный интерфейс в URQ стиле без всякой командной строки? Локации будут локациями, а меток вообще не будет... ;) Nex пишет: Я надеюсь, это сейчас шутка была. От движкоделов чего угодно можно ожидать... Хех... Какая же это шутка? В том же ТАДСе, например, чаще всего как раз обходятся без меток, при этом чисто менюшная игра там делается... ну, наверное, не на раз, но все-таки делается.

ASBer: На правах флуда: Nex пишет: Я надеюсь, это сейчас шутка была. От движкоделов чего угодно можно ожидать... uux пишет: Хех... Какая же это шутка? В том же ТАДСе, например, чаще всего как раз обходятся без меток, при этом чисто менюшная игра там делается... ну, наверное, не на раз, но все-таки делается. - Технически - это легко реализуемо без переделки движка, просто парсер не буден задействован. Менюшные игры даже будет легче делать чем парсерные. - Фактически - врядли кто соблазнится на СИ-подобный язык и ООП для изготовления менюшных игр, поэтому можно считать шуткой.

Korwin: Гмм... кто тут вечно пищал, что для больших пребольших квестов надо ООП? Вот - пожалуйста. Я пищал? Склероз!

qwerty: Так и на урке можно в стиле оопа писать. Тут только самодисциплина нужна. А для больших-пребольших квестов нужна строгая самодисциплина, строгое соблюдение единого, продуманного, стиля. ну и, переписывать игру с самого начала, время от времени- когда выяснится, что стиль кодинга выбран неудачно. Тут уж никакая платформа, мне лично, не помогает. К сожалению, трудность с большими квестами ещё и в том, что быстро реализовать задумку не удаётся, а долго- ... Ну, каждый чел меняется со временем, разные идеи притягивают интерес, мысли скачут, не стоят на месте- короче, через какое-то достаточно длительное время уже пропадает желание реализовывать основную идею, заложенную изначально. p.s. Да, вот и 'уроки' я щазз пока не делаю- думал над примерами, и начал писать одну маленькую прогу... Хорошо, если ко втронику успею закончить. Так, ничего особенного- в основном операторы pln и btn. Если допишу, то единственное, что текст проги будет демонстрировать- важность строгого кодинга. UPD Не, к ближайшему вторнику- точно не успеваю.

noname: однако, в очередной раз ненаписанная игра, навела меня на мрачные мысли: что имеет смысл писать? и что из этого возможно написать? простенькая игруха qwerty01-"Суд" несла в себе какой-то смысл, а её создание- доставило удовольствие(не смотря на сплошной плагиат). в игре меньше 9кб, 12-ть "фрагментов", и три концовки. операторы: pln, btn, end. qwerty02-"Убить Мамеза" был попыткой реализовать идеальный(с моей тз) геймплей- выбор из 6-ти персонажей, но сюжет-один, но выбор приходится делать разный, в зависимости от персонажа. создание- доставило удовольствие, хотя сделать игру законченной, видимо не удалось. менее 57кб, под конец дебажить и доделывать стало чуточку нуднее, но мой интерес к творилову был на высоком уровне. операторы: rnd, pln, btn, end, if..then, goto, работа с переменными. далее- пошли "серьёзные" задумки, которые оказалось невозможно реализовать даже в максимально упрощённом виде. например, после qwerty02 хотел к концу 2006-го года создать игру с тремя ГГ, взаимодействующими друг с другом, и видящими ситуацию с разных точек зрения. игрок играет за любого из 3-х ГГ, за 2-х других- играет комп. чтоб хоть как-то дать почувствовать игроку идею, требовалось не менее 3-х ключевых выборов, хотя бы из 2-х вариантов каждый. за "своих" ГГ комп делал бы выбор случайным образом(т е всего 9-ть развилок- выбор предоставляется каждому ГГ по очереди, хотя каждый не видит непосредственно выбора других, а только его последствия). фишка была в том, что ход игры в равной степени зависел как от игрока, так и от других игроков-своеобразное "развенчание" игрока. в этом-то и была суть. игра разрослась невероятно. к тому времени, как я догадался урезать её до вышеописанного варианта, я уже начал терять интерес к этой, фактически небольшой задумке, на которую понадобилось бы терпения куда больше, чем я мог потратить на одну небольшую идею. операторы: pln, btn, end. далее- небольшое "сочинение" о человеческой жизни, недописанный кусок которого выложен в теме "ЖИМ". одна из стоящих моих идей. думаю, релиз только ухудшит идею, не говоря уж о том, что если я буду писать большой труд- я буду писать его всё хуже и хуже. далее- размышления на тему "ЖИМ", открыл целую тему по этому поводу. попытка написания квеста то ли на ЛОКу-2008, то ли на КРИЛ-2008. идея была в передаче определённого мироощущения. квест был разбит на 5-ть глав, из которых третью так и не дописал. активная работа с переменными, а именно учёт влияния прошлых действий на последующее развитие мира и привело к непомерному разрастанию игры. упрощение привело бы к "убийству" идеи. бросил, потеряв интерес. к счастью, удалось сделать кое-что для поднятия самооценки: квартиру в "дом, который построил URQ", генератор лабиринтов в теме "ЖИМ", нечто на ХОККУ-2009(пока не положенный на плут). пожалуй, поделка на конкурс хокку вполне достойна на_звания qwerty03. т о мои нечётные поделки- сплошной плагиат, а чётные- недоделки. сейчас у меня постоянно "варятся" несколько идей. засев за очередное творилово, я сразу сказал себе: выбери самую незначительную идею, и упрости её до предела. так я и сделал: небольшой "рисунок" начинается с единственного выбора "нарисовать небо". далее- можно либо "добавить облака", либо "нарисовать солнце". игрок, по замыслу, с лёгкостью творит свой мир. всего 4-ре объекта, каждый из которых может либо не быть, либо быть в одном из 3-х состояний: небо(ясное/облака/тучи), солнце(утро/день/вечер), флора(трава/+дерево/+плоды), фауна(хомяк/медведь/человек). операторы: pln, btn, end. дописав до дерева и, слегка затронув хомяка, я почувствовал, что до ума доводить эту игру будет слишком муторно. многие описания можно было лишь слегка модифицировать, но всё равно на долю автора выпало довольно много работы: напр, тучи в небе, пока нет земли, роняют капли в никуда, и так- в каждом конкретном случае есть что прописать вручную. для красоты. сухой шаблонный вывод никуда не сгодился бы. концовка- свеженарисованный человек оказался бы автором игры(qwerty), взглянул бы с экрана на игрока, и- выключил игру[b- начать сначала,...]. для столь простой идеи трудозатраты оказались слишком высоки. интерес пропал. собирался доделать её к этому вторнику. дано: есть идеи, владею urql, могу освоить любой другой язык, получается программить. проблема: те идеи, которые стоит реализовать, и стоит реализовать именно в виде РИЛ,(а не, к примеру, просто рассказа)- не могут быть реализованы. и никакие РТАДСы с ООПами тут не помогут: в случае необходимости реализовать сюжетные ветвления- возрастание объёма необходимого для набивания текста ничуть не меньше. вот такие вот грустные мысли. надеюсь через неделю написать сообщение повеселее.

Nex: noname возьми соавтора, некоторым для создания игры нехватает именно навыков программирования, ты бы мог им помочь.

fireton: что имеет смысл писать? Ты не поверишь. Имеет смысл писать игру, в которую будет интересно играть. И совершенно не важно на каком уровне технического кунг-фу она написана.

Saruman: noname пишет: дано: есть идеи, владею urql, могу освоить любой другой язык, получается программить. проблема: те идеи, которые стоит реализовать, и стоит реализовать именно в виде РИЛ,(а не, к примеру, просто рассказа)- не могут быть реализованы. и никакие РТАДСы с ООПами тут не помогут: в случае необходимости реализовать сюжетные ветвления- возрастание объёма необходимого для набивания текста ничуть не меньше. вот такие вот грустные мысли. надеюсь через неделю написать сообщение повеселее. I love Sinclair, DOS and URQ Ага! До тебя тоже дошла вселенская грусть автора! Единственный выход подсказывает Маяковский "Наступить на горло собственной песне" и заранее прописать то, что хочешь сделать. Писать на заказ. Свой. Не можешь ограничить себя сам - предложи соавторство Платову. P.S. I love Sinclair too

Nex: noname я правильно понимаю, что на QSP-Compo ты уже окончательно забил?

qwerty: Nex, не хочу я на него забивать. по крайней мере- сейчас уже не хочу. qsp- хорошая платформа. на фоне застоя и развала урки- просто отличная. настроения писать щазз под неё нет. возможно, слеплю что-нить миниатюрное, парсерное. а может, и нет. денежное вознаграждение для меня перестало быть побуждающим мотивом к чему-либо. хочется поддержать РИЛ-движение. и отметить упорство Байта, который долгие годы верил в свою платформу. и она таки стала лучшей. надеюсь- ненадолго :) пока ещё надеюсь, что fairurq, или другая urql-платформа вас 'сделает'

Ktirff: Доброго времени суток) У меня есть несколько вопросов по urql, ответы на которые, в общем-то, можно найти в документациях\faq'ах, но прошу помощи форумчан) 1. Как сделать фоновый рисунок в Акурке и Фурке? Как сделать рисунок рядом с текстом? 2. Как изменить основной цвет фона и шрифта в Фурке? 3. Можно ли как-то переименовать инвентарь в Акурке или сделать дополнительное меню в том же стиле? 4. Как добавить музыку в акурке и фурке, сильно ли она грузит систему?

noname: А) ну, про фурку ответить просто: пока интерфейс в разработке, и НЕ поддерживаются не только рисунки, но даже и изменения цвета/размера шрифтов. что, конечно же не есть гут на данный момент хороших GUI-платформ URQL просто нет. есть фурка в стадии разработки, и акурка в стадии 'заброшенной разработки'. ну, и- досурка с дос-консолью Б) ну, про акурку- сложнее. потому что про неё я мало знаю. НО скажу, что могу. надеюсь, кто-нить ещё заглянет сюда и даст более толковый ответ: 1. фоновый рисунок в Акурке либо невозможен, либо делается не стандартными средствами 1. рисунок рядом с текстом в Акурке я видел только в одном квесте, но я не вникал в его код. обычно такое почему-то не делают как это сделать- не знаю (вообще-то в Акурке, вроде бы, возможен вывод и массивов рисунков и рисунков с наложением, но я на Акурку ни разу не писал, т к её язык отличается от URQL) 3. нельзя 4. по моим наблюдениям- не сильно. вообще не замечал. добавить музыку можно так: Music="\sound\A.mid" в данном случае в папке с игрой находится подпапка sound с файлом A.mid, который будет крутиться по кругу подробнее- в описании. (самому что ли посмотреть?) В) какие продвинутые вопросы!

qwerty: кроме описалова можно глянуть игрухи под Акурку, напр по ссылке http://urq.borda.ru/?1-0-0-00000272-000-0-0-1235465237 игра 'похищенные' не зашифрована. кроме картинок и музыки использует ссылки хотя, этож книги-игры... ну, мож кто подскажет более подходящие примеры. upd: вот, свежая игруха Рыцари Математики: http://urq.plut.info/taxonomy/term/1 тоже не шифрованная

Ktirff: Вопросы не такие продвинутые, как может показаться :) Я блуждаю в операторах "простейшего" интерпретатора как в дремучем лесу) Спасли smsq и faq korwin'a по досурке. Из полученных ответов выстраивается следующая цепочка) 1. "Фоновый рисунок в Акурке либо невозможен, либо делается не стандартными средствами". Я склоняюсь ко второму варианту, потому что оф. википедия презентует вот такую картинку http://ru.wikipedia.org/wiki/Файл:AkURQ.jpg (ссылка немного косячит) Именно этим данный интерпретатор мне и понравился изначально) 2. "рисунок рядом с текстом в Акурке я видел только в одном квесте, но я не вникал в его код. обычно такое почему-то не делают". Из всех виденных игр, наиболее распространённое явление - это картинка, которая свободно "висит в пространстве". Ну вот как в примере игры "Рыцари Математики" или более старой "Без права на надежду". Совершенно не подходящий вариант и без интеграции вовнутрь текстового поля, не вижу никакого смысла) 3. Музыка. Её можно добавлять только в формате .mid? Если я закину полноценный мп3-файл на несколько мегабайт - он будет проигрываться? 4. Я посмотрел игру "похищенные" :) Даже не представляете, сколько радости ощутил)) Лет 6-7 назад, эта книга-игра скрашивала мой школьный досуг и была одной из первой в жанре if. Теперь по делу. На протяжении всего текста квеста используются стандартные метки urql (может еще какие-то операторы, подробно не всматривался), но в большинстве своём там html-код. Игра выглядит очень приятно и склонен заново переучиться на хтмл, ради соответствующего дизайна) Как мне кажется, использовался какой-то редактор для создания текста, а не упорный труд ручками в блокноте. Что-нибудь посоветуете на этот счёт? upd: 5ый вопрос еще появился) Как сделать случайное событие при выборе варианта действий? Т.е. одно из подготовленных заранее.

noname: Спасли smsq и faq korwin'a по досуркевот, несколько сырое, описание Акурки: http://tightbow.narod.ru/AkURQ.chm Как сделать случайное событие при выборе варианта действий? Т.е. одно из подготовленных заранее в чём сложность-то, не пойму? приведи пример, чего ты хочешь

qwerty: наверное что-то вроде этого: :1 invkill perkill goto 2 end :2 pln Ты стоишь у очень широкого обрыва pln Ветер обдувает решительное лицо, pln Лучи заходящего солнца окрасили обнажённую катану. pln За спиной- враг pln r=rnd2 btn #2+r$, говорить btn #4+r$, действовать end :3 pln вариант говорить- А pln btn 2, откат end :4 pln вариант говорить- Б pln btn 2, откат end :5 r=rnd2 if r=2 then goto 7 pln действие успешно pln btn 2, откат end :6 pln действие неудачно pln btn 2, откат end :7 pln критический успех! pln btn 2, откат end



полная версия страницы