Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
08.01.2006 18:02

haM3r
Участник
Зарегистрирован: 19.05.2004
Сообщений: 11

Новый движок для создания текстовых квестов.

Появилась довольно смелая идея. Написать новый движок для создания текстовых квестов. Что-то наподобие URQ. Но более простой и удобный. Опыт в создание интерпритаторов уже есть. Кое-какие нароботки есть, но до готовой версии далеко... Так вот главная проблема - это решение, как будет выглядеть сам язык. Если кто-нибудь хочет помочь советом, пишите письма.

Я тут немного подумал, над тем как будет выглядеть программа и пришёл к такому варианту(просто пример):

Код:

//#TQ_PROJECT 
/* 
  Пример многострочного комментария. 

  Пример простейшей программы квеста. 
  Автор: haM3r 
  E-mail: bvlad36@bk.ru 
*/ 

// Пример подключения дополнительной библиотеки. 
// Проект можно разбивать отдельные на файлы. 
 #include "scene_1.tq"; 
 #include "scene_2.tq"; 
 #include "scene_3.tq"; 


/* 
  Пример работы с #define. 
  #define - автозамена текста. Довольно полезная вещь. 
  Можно сказать  #define "btn", "button"; и использовать 
  во всей программе заместо button - btn. 
*/ 
 #define "btn", "button"; 



//———————————————————————- 
/* 
  Пример локации. 
  Локация должна начинаться со слова location или room 
  и заканчиваться end. 
  <main> - указывает на то, что с этой локации начинает 
  работать программа. 
*/ 
location [first_location] <main> 

   // Устанавливаем цвет текста. 
   textcolor 5; 

   // Проиграть звуковой wav файл. 
   play "sound.wav"; 

   // Вывод сообщения на экран. 
   print "Первая локацияn"; 

      button room_1, "@Wкомната-1"; 
      button room_2, "@Bкомната-2"; 
      button room_3, "@Rкомната-3"; 
end; 

//———————————————————————- 

room [room_1] 
   // Проигрывание звукового сигнала. 
   beep; 

   print "В комнате 1 вас убили!n", 
         "Какая досада!n", 
         "Попробуйте ещё раз.n"; 

   // Заснуть на 1 секунду. 
   sleep 1000; 

   // Выход из программы. 
   exit; 
end; 


procedure getkey 
   print "Press any key..."; 

   // Считывание клавиши. 
   key = readkey; 

   print "key = ", key; 
end; 

room [room_2] 
   // Отчистка экрана. 
   cls; 

   // Вызов процедуры. 
   call getkey; 

   // Сохранение состояния программы. 
   save; 

   btn first_location, "Назад"; 
end; 


room [room_3] 
   a = 10; 
   b = "test"; 
   print "This is" + b + "n"; 


   :label_1 
   // Пример цикла.    
   while (a > 0) 
   { 
      print a, "n" 

      // Пример условного оператора. 
      if (a == 3) 
      { 
         print "That's All!n"; 
         break; 
      } 
      a = a - 1; 
   } 

   if (a > 0) 
      goto label_1; 

   exit; 
end; 

Неактивен

0    0    #2
09.01.2006 10:33

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Новый движок для создания текстовых квестов.

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

Неактивен

0    0    #3
09.01.2006 11:00

haM3r
Участник
Зарегистрирован: 19.05.2004
Сообщений: 11

Re: Новый движок для создания текстовых квестов.

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

Неактивен

0    0    #4
09.01.2006 11:50

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Новый движок для создания текстовых квестов.

Занимаюсь именно этим...
Главное — использование в синтаксисе русского языка. Касательно всего остального: ориентация на объекты, нетипизированные переменные, наличие у объектов (помимо свойств и методов) ещё и событий и т.п.
Ветка, посвящённая моим изысканиям: https://forum.ifiction.ru/viewtopic.php?id=467

Неактивен

0    0    #5
09.01.2006 13:08

haM3r
Участник
Зарегистрирован: 19.05.2004
Сообщений: 11

Re: Новый движок для создания текстовых квестов.

Olegus t.Gl. написал:

Занимаюсь именно этим...
Главное — использование в синтаксисе русского языка. Касательно всего остального: ориентация на объекты, нетипизированные переменные, наличие у объектов (помимо свойств и методов) ещё и событий и т.п.
Ветка, посвящённая моим изысканиям: https://forum.ifiction.ru/viewtopic.php?id=467

Прочитал ветку. Задумался... Нужно подумать. А нельзя бы получить пример программы на e-mail? (желательно, что бы в ней было побольше кода)

Неактивен

0    0    #6
09.01.2006 16:25

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

Re: Новый движок для создания текстовых квестов.

Пока увы... Нечего.

Неактивен

0    0    #7
17.01.2006 17:52

qwerty
Участник (+244, -117)
Зарегистрирован: 21.12.2005
Сообщений: 206
Вебсайт

Re: Новый движок для создания текстовых квестов.

думаю, что прежде, чем создавать свой движок, стоит ознакомиться с RTADS и с ADRIFT.

достоинство RTADS- на нём (теоретически) возможно написание безглючного русского квеста.

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

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

недостаток ADRIFT- невозможность полностью корректной русификации вводимых фраз.

Неактивен

0    0    #8
19.01.2006 04:37

GrAndrey
папа RTADS и Бяка (+49, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1198
Вебсайт

меньше слов

Re: Новый движок для создания текстовых квестов.

qwerty написал:

даже в обучающем примере "три медведя" и то есть недодумки

Трех медведей я писал через три недели знакомства с системой, сразу после того как её перевел. Собственно, на медведях была первая обкатка перевода. Так что нечего удивляться качеству игры. Более того, она не  использует всех фич, накопленных более чем за два года дальнейшей доработки РТАДСа.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru