Форум » » Учебник по QSP для редактора QGen » Ответить

Учебник по QSP для редактора QGen

Nex: WladySpb не обязательно писать на вики, можно и просто в html, да собственно в любом виде, главное чтоб текст был, форматирование и картинки. Вот ссылка на учебник по движку PopCap: http://developer.popcap.com/forums/showthread.php?t=3326 Обучение в этом учебнике заключается в создании простой игры(арканоид), следуя подробным инструкциям. Разбито на несколько частей. В конце каждой части у нас должно получиться что-то готовое. Первая часть - делаем "шаблонный проект", в QSP, думаю, эта часть для новичков не нужна. Вторая часть - учимся выводить картинку на экран Третья часть - двигаем картинку по экрану Четвёртая часть - добавили объект, управляемый мышкой Пятая часть - добавили "кирпичики", игра готова Каждая часть учебника сопровождается примерами кода, скриншотами и архивом с готовым "результатом". На какие части можно разбить учебник по созданию игры на QGen, к примеру: Дисклеймер. Объяснить, что для достижения эффекта обучаемому придётся "вручную" выполнить каждое задание, а не просто прочитать и сделать всё "в уме". Объяснить, что для обучения необходимо выполнять задания именно в той последовательности, в которой они даны, 1-2-3-4-5-6-7-8-9-10, не пропуская ни одну. Пообещать золотые горы. 1. Создать игру. Открыть QGen, написать приветствие в поле описания локации "Начало", сохранить игру, запустить. Написать в поле "выполнить при посещении" код, отключающий лишние окна, запустить, посмотреть, что изменилось. 2. Создать действия с переходами. Создать две локации - "Об игре", "Об авторе", сделать 2 перехода на локации "Начало" ("Об игре", "Об авторе"), и по одному переходу ("Вернуться") на локациях "Об игре" и "Об авторе". Запустить, посмотреть что получилось, походить по действиям. 3. Простейшая игра с выбором. Создать первую игровую локацию и переход на неё из локации "Начало". Добавить три действия "Налево пойдёшь - коня потеряешь", и т.д. Сделать две соотв. локации, одна - выиграл игру, вторая - проиграл. В плохой концовке сделать "Начать сначала". Запустить. 4. Переменные. Что такое переменная, как вывести значение переменной на экран, какие операции возможны с переменными. Наглядный пример в виде игры. 5. Условия. Немного удлиним путь и сделаем на одной из локаций необязательное действие, от которого будет зависеть, прошёл ли ты игру. Например - "свернуть с дороги на тропинку", переход на "ответвлённую" локацию, установка переменной "был на тропинке", возврат в основную линию. В конечной локации вставить проверку на эту переменную и соотв. две концовки, успешная и нет. Запустить. 6. Учимся "брать предмет" и выводить сообщения в основное окно описаний. Три способа брать предмет - так, чтобы он брался всегда; так, чтобы он брался один раз и действие "взять" удалялось; так, чтобы считалось количество взятых предметов и после достижения "максимума" действие осталось, но взять уже было нельзя - реакция игры меняется. Для каждого из способов лучше сделать отдельный предмет, может, даже отдельную локацию, чтобы лучше проиллюстрировать различие. Запустить. 7. Учимся отпирать двери. Сделать прохождение игры зависящим от предметов в рюкзаке - добавить в игру ключ и запертую дверь. Запустить. 8. Сюжет! Делаем настоящую игру, с диалогами и т.п., используя только те приёмы, которыми научились владеть. Запустить. 9. Графика и звук. Добавляем графику в игру. Запустить. Добавляем звуковые эффекты и музыку. Запустить. 10. Деньги Добавляем деньги и магазин - как в "Уроках QSP для TXT2GAM". Запустить. Части 1-7 - "Основной курс", части 8-10 - "Продвинутый курс". В каждой из частей должно получаться не "Действие 1", "Действие 2", а интересный, краткий, живой набросок, максимально привлекательный для игрока. В каждой части в конце должен подводиться итог "чему мы научились". Навигация по частям должна быть хорошо продумана, должно учитываться то, что обучаемому захочется вернуться к одной из частей, для повторения и закрепления знаний.

Ответов - 53, стр: 1 2 3 All

Byte: Ты уже сам переконвертировал в cp1251. Теперь нормально.

WladySpb: Так я ещё утром переконвертировал, с работы.. Ладно, раз работает, то всё в порядке)

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


noname: отличная идея! мне она понравилась ещё когда читал описание URQL для dos_urq. правда, там этому уделено недостаточно внимания: на примере создания мини-квеста показали только самые простые операторы, работу с инвентарём и IF-ы, а дальше- отошли от примера. да и сам квест можно было поинтереснее выбрать. но всё равно запомнился такой стиль подачи описания языка: очень наглядно.

WladySpb: noname И как тебе первый урок?) Скоро второй наверно выложу на обсуждение, он уже почти готов, немного доделать осталось. Блин, с этим новым годом ни на что времени нет

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

WladySpb: ах да, сцылко! http://qgen-teaching.spb.ru/QgenHelp02.html

noname: WladySpb пишет: ах да, сцылко! ёпрст! а я лазию, ищу, понимаешь... С НАСТУПАЮЩИМ! заходи к нам на огонёк: http://urq.borda.ru/?1-0-0-00000262-000-0-0-1230734390 p.s. а ссылку на учебник я бы дал так: http://qgen-teaching.spb.ru/ UPD до уроков ещё не дошёл, но в первом же абзаце первого знакомства увидел пару ошибок. отчёт жди в новом году

fireton: И убери форматирование текста по центру. Пожалуйста.

WladySpb: noname Ссылка на весь учебник чуть повыше, здесь кинул уже конкретно на вторую главу. Если ошибки орфографические, фиг с ними. При переносе в вики можно будет поправить основательно. Главное - ошибки примеров, ошибки описания, неточное или неправильное описание. Я всётаки не автор программы, с её кодом знаком сам всего недели две-три. Так что некоторые вещи мог описать неправильно. fireton В самом центре нашёл кусок кода неотформатированный, поправил. Или ты имеешь ввиду, во всём тексте?

noname: WladySpb, замечания по вервой страничке по ссылке: http://qgen-teaching.spb.ru/ (кста, нигде в другом месте я её не нашёл) 1. необходимо пригласить к сотрудничеству человека, владеющего русским языком, для вычитки текста. я знаю только одного знатока в этом деле: Дженни с нашего форума. 2. На данный момент последняя версия Qgen - 4.0.0 alfa 8. Этот редактор позволяет создавать текстовые игры в практически любом жанре не требующем реакции. предыдущие редакторы позволяли создавать игры на реакцию. см песнь войны, или дему dynamic. (так же, такая возможность есть в любой urql-платформе) UPD т е я, конечно, не сомневаюсь, что возможность создавать игры, в которых события могут происходить и без ожидания ввода игрока, никуда не пропала. просто нужно исправить строчку описания возможностей редактора. и различать возможности РЕДАКТОРА и возможности ПЛЕЕРА. а так же, возможности, предусмотренные ЯЗЫКОМ QSP. а так же требования ЖАНРА и- реакцию. ну, в-общем, надеюсь, ты понял.

noname: вторая страничка: урок первый 1)Вы заметили, что после того как вы создали локацию, она автоматически открылась? Теперь вам доступны три окна: "Описание", "Выполнить при посещении" и "Базовые действия". Нас сейчас интересует первое окно. Введите в нём строчку "Привет, мир!". хорошо бы вставить картинку, показывающую куда надо написанный текст. ИМХО по просмотру результата выполнения проги вопросов у новичков будет куда меньше, чем по написанию с непривычки этой фразы. 'что, так просто и писать? а операторы?' 'нужно ли писать строчку "Привет, мир!" с кавычками, или без?' 'какое из окон считать первым? у меня в первом окне уже написано "начало"' - ну такого типа вопросы. мало ли кто куда что может с непривычки написать. 2)Итак, в первом уроке мы разобрались в том как создавать локации, писать описания локаций, создавать действия, выводить текст при нажатии на кнопку, и перемещаться между локациями. Потренируйтесь с известными вам командами прежде чем перейти к следующему уроку. Убедитесь, что вы хорошо поняли, для чего они предназначены, и как ими пользоваться. В следующем уроке мы будем знакомится с переменными и предметами, а так же попытаемся сделать нашу игру более разнообразной. честно, мне всё понятно. но было некоторое ощущение слишком быстрой подачи материала. будет ли сложно новичкам? надеюсь, они не поленятся написать свои отзывы в эту ветку. да, и насчёт 'сделать нашу игру более разнообразной': пока что никакой игры нет. впрочем, это не упрёк- просто крупных багов найти не смог. отсюда вывод: чистая работа! UPD ещё одно небольшое, но ВАЖНОЕ замечание:Дисклеймер. Объяснить, что для достижения эффекта обучаемому придётся "вручную" выполнить каждое задание, а не просто прочитать и сделать всё "в уме". Объяснить, что для обучения необходимо выполнять задания именно в той последовательности, в которой они даны, 1-2-3-4-5-6-7-8-9-10, не пропуская ни одну. Пообещать золотые горы. 1. Создать игру. Открыть QGen, написать приветствие в поле описания локации "Начало", сохранить игру, запустить. Написать в поле "выполнить при посещении" код, отключающий лишние окна, запустить, посмотреть, что изменилось. рекомендую автору уроков учесть пожелания модератора. цитата- из шапки темы. так, например, натыкался на квесты, авторы которых не отлючили лишних окон. эффект- неприятный. откуда игроку знать, будет игра выводить что-нить в эти окна, или нет? так же необходимо с пелёнок приучать авторов сохранять свои творилова почаще. и ещё: создавать лучше не кнопкой F7- для начала пусть лучше по значкам ориентируются- быстрее освоятся.

noname: третья страничка: урок второй 1)В первом уроке мы научились создавать локации, выводить текст и переходить с одной локации на другую. Но всё это будет смотреться как интерактивная книжка, если мы не добавим .................................. для справки: смотреться это будет- лучше некуда. квест любой сложности можно так реализовать. только много локаций создавать придётся. так даже шахматы можно сделать. очень хорошие и красивые. и вообще любую настольную игру. один косяк: кол-во локаций будет не меньше кол-ва возможных различных ситуаций в игре. 2)Создать переменную очень просто. В отличие от некоторых языков программирования, нам не обязательно обьявлять все переменные в самом начале. Мы можем добавлять их по мере надобности. По умолчанию переменной присваивается значение '0'. Знание эой особенности позволяет сэкономить лишнюю строчку кода в некоторых ситуациях.замечаний к этому тексту нет. надеюсь, так оно и есть. знаю случай, когда это может много строчек кода сэкономить. лишь бы не подвело... 3)В области кода локации "Кухня" вводим:куда вводим? не всем может быть понятно. 4)Так же обратите внимание, что в конце у нас стоит два (end). Это не опечатка. Как и оператор (if), оператор (act) нуждается в "закрывающей скобке", которая укажет интерпретатору где заканчивается код относящийся к данному оператору. В данном примере первый (end) закрывает оператор (act) а второй - (if). При создании многоэтажнык конструкций очень частой ошибкой бывает не поставленный где-то (end),... так же обратите внимание, что программисты отмечают более глубокие уровни вложенности бОльшими отступами. например - текст м/ду if...end имеет отступ в два пробела. текст м/ду act...end имеет отступ в четыре пробела. не вложенный текст- без отступа. это требования хорошего стиля. лучше сразу привыкать, чем потом путаться. 5)Соответственно, у нас в локации обработчике может быть хоть сотня предметов с описанием.хорошенькая формулировочка! ещё, чего доброго, могут подумать, что больше ста предметов в этой локации быть не может. 6)должны уметь.........добавлять динамику в локации посредством объявления условийкак представлю, что новички будут пользоваться этим языком на форуме- волосы встают дыбом. если по существу, то ДИНАМИКА тут и близко не лежала. не фик вносить путаницу. 7)кста, рекомендации в шапке темы мне кажутся вполне разумными и интересными. и более размеренными- нет такой гонки лошадей, как у тебя. пример:Создать две локации - "Об игре", "Об авторе", сделать 2 перехода на локации "Начало" ("Об игре", "Об авторе"), и по одному переходу ("Вернуться") на локациях "Об игре" и "Об авторе". Запустить, посмотреть что получилось, походить по действиям. - ОЧЕНЬ интересное предложение. замечательная идея. почему бы так не сделать? (аж самому захотелось уроки написать. но, блин, я и так с вероятностью выше 50% не успею закончить квест в срок. и не из-за сроков, а из-за того, что нормальный показ идеи требует длительной набивки кода и текста. это как воздушный шарик- вид половины шарика не даёт представления о целом.) скачать, что ли, последние версии QSP и QGen? а ссылки в уроках точно на последние?(на второй странице, в начале первого урока )

WladySpb: noname брр, я щас слегка подвыпивший, всё сразу не усвою.. Да и внести исправления не смогу) Вкратце - насчёт чистки знатоком русского языка - я целиком за) В идеале, это всё по мере готовности будет переноситься в ifwiki, и в процессе правиться. Насчёт отступов - сам считаю что нужно в самом начале учить этому, но.. гхм.. Кароч, не помню как это сделать в хтмл) а искать лень) опять же, это то что надо будет ОБЯЗАТЕЛЬНО добавить перед переносом в вики.. Версии в ссылках вроде свежие, по крайней мере, из официально выложенных. По поводу последней фразы - читателю всё нужно разжёвывать, но предполагается что если в первом уроке некоторые вещи усвоены, то повтор не обязателен. Иначе под конец, объясняя что-то сложное, придётся по сотому разу втолковывать и элементарные вещи. А если человек не может что-то понять, и при этом не имеет желания перечитать первый урок - честно, а зачем с такими возиться? Формулировочки могут хромать... Писал начерно. Всё можно подправить и переделать, затем и выложено) Насчёт кода - всё проверено по возможности лично. Если в чём-то не в курсе - вообще не объяснял, при необходимости буду докапываться до байта) Собственно, скоро придётся, а то ещё урок - и мои знания исчерпаются)

Nex: а ссылки в уроках точно на последние? noname последняя версия плеера QSP всегда доступна по одной и той же ссылке, просто с выходом новой версии обновляется лежащий на сервере файл. Насколько я знаю, с QGen4 точно так же.

WladySpb: ЗЫ. Насчёт слишком быстрой подачи материала... Я не очень хочу писать "Qgen для чайников" на 300 страниц с иллюстрациями) Основная задача - сделать вводной курс с примерами, немного более помогающий новичку стартовать чем файл помощи страдающий отсутствием примеров, и демо игры не всегда имеющие пояснения что и как. Я всё это использовал, но уже несколько раз вставал в тупик в банальных ситуациях, и помогал только Byte с конкретными примерами кода) А в идеале, надо сделать так чтобы можно было обойтись без помощи.

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

WladySpb: noname в том-то и дело что хелп полезен, по моему, только при определённом знании основ.. Я по крайней мере в нём не разобрался) вот примеры - это да, но и в них не всё понятно..

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

WladySpb: Nex Это вердикт по прочтении двух глав?) Или после фразы в том-то и дело что хелп полезен, по моему, только при определённом знании основ.. Я по крайней мере в нём не разобрался) вот примеры - это да, но и в них не всё понятно.. если второе - я имел ввиду что не смог разобраться с нуля Ладно, пока забью на это дело. Буду игру писать) У меня литературный язык лучше чем поучительный выходит



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