Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
10.06.2002 18:16

sereg@
Участник
Зарегистрирован: 10.06.2002
Сообщений: 6

Посморишь на него - человек, как человек, а внутри - город, дымящийся в руинах

Люди-люди, человеки!!!!!!

Всем привет! Поиграл тут недавно в игру Вася-2. И захотел сделать нечто подобное, но не знаю с чего начать. Кто нибудь, подскажите плиз, где взять информацию о том как пишутся игрушки, или совет дайте, ведь есть же здесь люди, которые сами до всего додумались, помогите други пожааааааааалуйста!!!! %))))))))

Неактивен

0    0    #2
10.06.2002 21:33

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Люди-люди, человеки!!!!!!

  Серега, привет!

   Во-первых, поиграй во что-нибудь получше Васи, например, в Тень Злобы или Зомби4 и тогда, надеюсь, у тебя отобъется всякая охота делать текстовые игры smile
   Во-вторых, на сайте .www есть много отличных статей (в частности, четырехлогия (wink Имперора о создании IF-игр. ("Разделы -> Статьи", там найдешь).
   В-третьих, убедительно прошу не выкладывать игрушку ТАКОГО качества, как Вася....

   Отчаянный Дух (ОДИН)

Неактивен

0    0    #3
12.06.2002 04:33

JackCL
Участник (+55, -24)
Зарегистрирован: 03.03.2001
Сообщений: 416

Re: Люди-люди, человеки!!!!!!

Дух, браво!  8)

PS Почему ты не зарегистришься как постоянный посетитель?  ???

Неактивен

0    0    #4
12.06.2002 22:25

sereg@
Участник
Зарегистрирован: 10.06.2002
Сообщений: 6

Посморишь на него - человек, как человек, а внутри - город, дымящийся в руинах

Re: Люди-люди, человеки!!!!!!

Согласен, что Вася не шедевр. Поиграл в Зомби, понравилось. Хочу сделать такую же, а может быть и круче. И хочу написать ее на с++, только н_е знаю как, и где взять инфу о том как это сделать тоже не знаю, поможите люди добрые, плизззззззз

Неактивен

0    0    #5
13.06.2002 01:50

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

Re: Люди-люди, человеки!!!!!!

Во-первых, не мешало бы вам, ребята, эту дискуссию перенести в раздел "Техническая часть".
Во-вторых, на сайте SolitaryPilgrima (http://gcmsite.chat.ru) для всяких Зомбей есть исходники. Можешь в них покопаться.
Что касается всего остального - задавай конкретные вопросы, а уж на них-то мы может и найдём, что ответить...

Неактивен

0    0    #6
13.06.2002 20:10

sereg@
Участник
Зарегистрирован: 10.06.2002
Сообщений: 6

Посморишь на него - человек, как человек, а внутри - город, дымящийся в руинах

Re: Люди-люди, человеки!!!!!!

В исходниках покапался, но ничего не понял, так какПаскаль не изучаю. Понятночто они с с++ похожи но все это другое. А насчет конкретных вопросов:  Как сделать перемещения по миру, как сделать битвы, как прописать IQ героев, как сделать чтобы характеристики влияли на количество хитов или размер повреждений. Кто играл в игры типа всяких MUD'ов тот меня поймет

Неактивен

0    0    #7
14.06.2002 03:02

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Люди-люди, человеки!!!!!!

JackCL написал:

Дух, браво!  8)

PS Почему ты не зарегистришься как постоянный посетитель?  ???

По глазам вижу, ты это смеешься надо мной... Или нет?
   И к тому же, я уже довольно давно зарегился (как dyx) на этом форуме, а в последнее время лень заходить на форму ввода пароля, лень все это набивать, а сам форум меня в последнее время не определяет. Вот такие фишки. (кстати, как некоторые уже поняли, то е-мыл, что я пишу абсолютно бредовый и ни к кому хорошему вы не напишите, так и знайте wink)
   Так все таки, ты надо мной смеялся? (какой я недогадливый, а?)

   Отчаянный Дух (ОДИН)

Неактивен

0    0    #8
14.06.2002 03:22

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Люди-люди, человеки!!!!!!

  Хм... Обычно локации делают массивом (MyLocs: Array[1..const_countlocs of Record...). Каждая локация содержит переходы с нее (север, юг, запад, восток и, возможно, 6 дополнительных: вверх, вниз, сз, св, юз, юв), а также свое описание (хотя в ДОСе это вряд ли приемлимо - там строка ограничена 255 символами). Можно добавить еще разные штуки, как то: предметы, которые там есть (точнее, ссылки на них), длинное и короткое описания, различные флаги при входевыходе на локацию и т.д.
   (Кстати, у меня исходники СолитариПилгрима не скачиваются...)
   Вот насчет битв я не знаю, т.к. ни разу не видел нормального применения в IF-игре. Но, предполагаю, их надо делать так же, как и в РПГ-ах, только с текстовым выводом. (пример: идет герой, заходит на локацию, где его ждет злой пират. Программа смотрит: есть пират и он злой; будем бить героя. Программа пишет: Пират вас атакует и отнимает жизнь [сила удара пирата * рандом(20)  3.14] (формула полностью бредовая). Ударили, если не убили, то ходит игрок. Игрок говорит: ударить пирата. Программа вновь вычисляет удар по той же формуле (вместо силы удара пирата ставится ваша сила). Если пират убит, программа это пишет, если нет - все по новой). Вспомнил, есть же у Пилгрима Зомби! И там достаточно неплохо все сделано (если не считать того, что после первого удара игрока схватка идет до конца, то есть нельзя, скажем, выстрелить из пистолета после удара ногой или удрать от зомби, чувствуя, что силы на исходе).
   Пока все,
   Отчаянный Дух (ОДИН)

Неактивен

0    0    #9
14.06.2002 03:33

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Люди-люди, человеки!!!!!!

  Вновь я.
   (ха, у меня две звездочки! Я почетный мембер этого форума! [плачет от радости])

   Насчет IQ героев - это ты очень интересно завернул. То ли ты имеешь ввиду просто их реакции на действия игрока, то ли ты про их активные действия (хождение, разговоры между собой, некоторые спонтанные действия).
   Если первое - то никаких проблем. Смотришь фразу, которую ввел игрок. Например, он ввел: "просить у Мути арбалет" (эх, наследство...). Разбираешь, если есть слово "Мути" (означающее персонаж), ищешь, а есть ли этот Мути на этой локации. Не находишь - пишешь "вы о чем?!", если да, то продолжаешь разбирать фразу. Потом смотришь, если ли у класса (типа, рекорда...) Мути арбалет в запасе. Если есть - даешь... Ну и т.д. и т.п.
   Если второе - то все гораздо хуже. Хождение реализовать просто - можно делать рандомное перемещение между соседними локациями или можно задавать специальный маршрут, по которому должен ходить персонаж. Здесь трудностей вроде не возникнет.
   [дальше не дописано]

   В общем, надо примеры кода давать... Который надо еще и разработать... Или можно скачать мануал у Грехема Нельсона по Информу и читать-читать-читать...

   Отчаянный Дух (ОДИН)

Неактивен

0    0    #10
14.06.2002 06:00

JackCL
Участник (+55, -24)
Зарегистрирован: 03.03.2001
Сообщений: 416

Re: Люди-люди, человеки!!!!!!

По глазам вижу, ты это смеешься надо мной... Или нет?

Оставим сие на моей не очень чистой совести  roll

А по поводу ввода пароля и прочего - ну вот видишь, ввел и уже почетный мембер стал, опять же слезы радости, умиления и неописуемого счастья. Как сказал бы какой-нибудь романтик - "это прекрасно". Сам сейчас заплачу от умиления. (Кто-нибудь из админов, срочно поставьте сюда смайлик со слезами умиления!  ;D )

Вообще же Олегус прав: тема съезжает в технические подробности и заслуживает переноса в изредка (очень изредка) мною модерируемую "техчасть". К сожалению у меня нет прав на модерируемость раздела "игры", так что перетащить к себе данный тред я не могу.

2sereg@: мне думается, что некоторое количество заданных тобой вопросов так или иначе обсуждалось в той же самой "техчасти". Поброди там, может найдешь что для себя полезное.

Неактивен

0    0    #11
14.06.2002 20:46

sereg@
Участник
Зарегистрирован: 10.06.2002
Сообщений: 6

Посморишь на него - человек, как человек, а внутри - город, дымящийся в руинах

Re: Люди-люди, человеки!!!!!!

Наверное, тупой человек так до конца жизни тупым и останется smile)) Может у кого-нибудь есть исходник игрушки на с++. Дайте плиззззззззз. Я что-то ничего не понял sad(((((((((( :-/

Неактивен

0    0    #12
14.06.2002 21:04

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Что тебе конкретно не понятно?

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

Тебе не понятно как на С++ это писать?

Неактивен

0    0    #13
15.06.2002 18:16

sereg@
Участник
Зарегистрирован: 10.06.2002
Сообщений: 6

Посморишь на него - человек, как человек, а внутри - город, дымящийся в руинах

Re: Люди-люди, человеки!!!!!!

В том то все и дело не понимаю как это реализовать в программе

Неактивен

0    0    #14
16.06.2002 00:24

dyx
Участник
Зарегистрирован: 15.12.2001
Сообщений: 99

Re: Люди-люди, человеки!!!!!!

  Пара линков (если еще не читал):
http://fiction.pp.ru/articles.php?op=show&aid=36
http://gcmsite.chat.ru/gamemaker.htm

   А вообще, у меня закрадываются большие сомнения насчет твоих познаний в прог. языках. Купи себе хорошую книжечку по Си, по алгоритмам и вообще по теории программирования, почитай пару умных статей на разных сайтах, посвященных игроделанию (типа .www) и т.д.
   Ну ты меня понял

   Отчаянный Дух (ОДИН)

Неактивен

0    0    #15
16.06.2002 03:02

Adramelek
Участник (+1)
Зарегистрирован: 07.07.2006
Сообщений: 193

Re: Люди-люди, человеки!!!!!!

А вообще-то можно и на платформе что-нибудь написать. Что у нас есть русское и с текстовым вводом? IFML, Hydra, что ещё?

Неактивен

0    0    #16
16.06.2002 10:22

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

serega написал:

В том то все и дело не понимаю как это реализовать в программе

начнем с самого начала:

псевдо бесконечный цикл

Код:

void main()
{
  boolean flag_of_exit = TRUE;
  while (flag_of_exit)
  {
     // получаем команду из устройства ввода
     // обрабатываем ее
     if (you_are_deadman) { flag_of_exit = FALSE }
  }
  printf("%s","Хо-хо-хо! Вот ты и помер, дружище!");
}

smile smile smile

Неактивен

0    0    #17
16.06.2002 21:53

sereg@
Участник
Зарегистрирован: 10.06.2002
Сообщений: 6

Посморишь на него - человек, как человек, а внутри - город, дымящийся в руинах

Re: Люди-люди, человеки!!!!!!

Это сообщение духу. Просто когда тебя учат считать матрицы всевозможными способами и объктному програмированию, сложно понять как те же вещи применить для игрушки, фантазия слабая  8) Кстати сайт про игроделание не работает, нет его там, страничка не найдена sad Я не могу понять как мир-то сделать, мне эти примеры на паскале, млин, ну не понимаю я их, как все это в с++ реализовать, а книжки у меня есть только толку от них hmm

Неактивен

0    0    #18
16.06.2002 22:02

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Я думаю, что можно сделать например так:

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

Например:
struct room{
room* if_go_north,if_go_south,...;
char* short_desc;
char* long_desc;
}

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

А дальше в игре просто оперируешь нужными тебе структурами или объектами.

Неактивен

0    0    #19
17.06.2002 09:01

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

Ну... я все-таки бы оперировал классами. Задачка-то просто под них и сформулирована.  wink

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

По своему (хилому, бестолковому и незначительному) опыту скажу, что описание игрового пространства в терминах хоть объектов, хоть чего - по сравнению с распознаванием тестового ввода - Гы! wink просто и прозрачно. (реверанс в сторону Olegus t.Gl.).

Скажу больше. На самом деле, все эти технические стороны - пустяки по сравнению с ИДЕЕЙ и СЮЖЕТОМ.

И - собственно текстами wink...

Иначе - почему же так немного есть игрушек в которые приятно не выйграть-пройти а просто играть....

(опять поклон Olegus t.Gl. - я терпеть не могу демки. Никогда нельзя в них понять, толи ты сам идиот и тупица, толи - просто еще не до конца эпизод дописан.... Но на мой взглад твоя затея стоит того, чтобы ее до конца довели.).

Неактивен

0    0    #20
17.06.2002 11:09

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Согласен ООП (Объектно Ориентированный Подход smile ) в данном случае оптимален. А по поводу текстового ввода тут задачу нужно разбить на несколько частей:

1. получение команды от пользователя (собственно работа с устройством ввода)
2. разбиени команды на части с предварительным анализом введенной информации (парсинг)
3. реакция игры на команду

Вот и решать нужно эти задачи отдельно и обстоятельно.

Неактивен

0    0    #21
17.06.2002 11:40

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

stalker написал:

Согласен ООП (Объектно Ориентированный Подход smile ) в данном случае оптимален. А по поводу текстового ввода тут задачу нужно разбить на несколько частей:

1. получение команды от пользователя (собственно работа с устройством ввода)
2. разбиени команды на части с предварительным анализом введенной информации (парсинг)
3. реакция игры на команду

Вот и решать нужно эти задачи отдельно и обстоятельно.

Голова - хорошо, а полторы - лучше!  ;D
Обмозговать попробуем?

Неактивен

0    0    #22
17.06.2002 11:54

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

Согласен. Ты на чем пишешь ? Я вот хочу на object pascal - оно же Delphi, накатать библиотеку классов облегчающую создение своей игрушки.

Неактивен

0    0    #23
17.06.2002 12:00

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

stalker написал:

Согласен. Ты на чем пишешь ? Я вот хочу на object pascal - оно же Delphi, накатать библиотеку классов облегчающую создение своей игрушки.

На ++. wink "Пишу" - громко сказанно.

Впрочем язык - не столь важен.

И потом, думается мне, что проще (интереснее и полезнее) написать самому хомутов, глюков и багов, чем разбираться в чужих. big_smile

Я вывалю свое видение предмета, Ок?

Неактивен

0    0    #24
17.06.2002 12:18

stalker
Участник
Откуда: Сургут
Зарегистрирован: 09.05.2002
Сообщений: 41
Вебсайт

wbr.

Re: Люди-люди, человеки!!!!!!

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

Неактивен

0    0    #25
17.06.2002 13:59

Ar.A.B.
Участник
Откуда: Moscow
Зарегистрирован: 30.05.2002
Сообщений: 49

Все Боги были бессмертны.....

Re: Люди-люди, человеки!!!!!!

Я понимаю тебя. Давай-ка к этому еще вернемся, Ок? И предлагаю
(поскольку сам - тупой, невежественый, ленивый)
для начала обсосать идеи.

Кто знает - может кому-нибудь и поможет.
(Мне, к слову, это помогает сосредоточиться и расставить все по полочкам.)


stalker написал:

Согласен ООП (Объектно Ориентированный Подход smile ) в данном случае оптимален. А по поводу текстового ввода тут задачу нужно разбить на несколько частей:

1. получение команды от пользователя (собственно работа с устройством ввода)
2. разбиени команды на части с предварительным анализом введенной информации (парсинг)
3. реакция игры на команду

Вот и решать нужно эти задачи отдельно и обстоятельно.

Оспариваю:
Первые два пункта разумно объединить в один. И назвать интерфейсом.
От того, КАК происходит ввод команды сильно зависит то, ЧТО с вводом прийдется сделать,
прежде чем его можно будет использовать.

Наиболее простой метод получения команды от игрока- использование меню.
В любом его виде. Когда просто предоставляется список возможных выборов.
Даже если это "чтобы зажечь свечу введите 1, чтобы закрыть окно -2"....
(Выскажу свое IMHO: даже использование столь примитивного интерфейса,
при наличии всего остального в должной степени, не способно погубить хорошую игру.
Равно как и наоборот - даже экспертная система с элементами искуственнного
интеллекта не способна сама по себе вытянуть игру, сделать ее интересной.)

Так вот. По сути для такого минимального варианта не требуется ничего, кроме собственно моделирования, второй (и основной части).

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

(Возможен, к примеру, промежуточный вариант - манипулирование определенным набором понятий. <Действовать>=Зажечь, <объект>=Свеча, <средство>=спичкой....
Или там, явное ожидание ввода определенной(до символа) фразы "зажги свечку спичкой"
Как и всякий компромисс - морская свинка, ни рыба ни мясо... )

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

Вот. Теперь о моделировании.
Собственно всю игра - это не более чем совокупность (массив, список, итд) объектов с теми или иными свойствами.
Реакция программы на действия пользователя - в том или ином виде изменение свойств объектов.

Как все просто, не так ли? wink

Я ничего не про(у)пустил?

С чего начнем?

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru