Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
22.02.2002 09:04

MasterK
Участник
Зарегистрирован: 18.12.2001
Сообщений: 15

РУССКОМУ IF БЫТЬ!!!

Товарищи программисты! Сейчас обращаюсь к вам и только к вам.

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

Все мы пытаемся создать эту платформу. Но как?! Хотите скажу, что вы все делаете? Каждый из вас пытается создать СВОЮ собственную платформу. При этом многие бросают, многие хорошие идеи остаются за бортом, а те, кто всё-таки сделал что-то, не имеют достаточно времени продолжить и развить свой проект. Каждый программист по нескольку раз повторяет в своих проектах одни и те же блоки, которые пишут все. И в итоге проект либо откладывается в долгий ящик, либо загибается.

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

Итак, что же я предлагаю?

1. Организовать СОВМЕСТНУЮ разработку одной платформы, которая бы стала основной в IF мире. Разработка будет вестись всеми программистами сразу, при этом мы обговорим, кто какие модули делает. Ведь действительно, IF система состоит из ряда совершенно независимых частей, каждая из которых может существовать и тестироваться отдельно от других. Например, это парсер, система обработки стандартныъх команд, интерпретатор, дебаггер и т.д.
Наша конечная цель - создать полноценный пакет для разработки IF. В него будут входить: собственно IF платформа (если угодно, IF плеер), интегированная среда разработки (совмещённая с средствами поиска ошибок и отладки), комплект вспомогательных утилит, развёрнутая детальная документация, расчитанная как на новичка, так и на профессионала.

2. Разработка должна вестись по системе Открытых Исходного кода. На специальной странице в сети будут лежать все исходники модулей проекта в том состоянии, в котором они пребывают на тот момент. Любое действующее изменение, которое кто-либо внёс в один их модулей проекта, немедленно становится доступно всем. Естественно, тут необходим координатор, которые будет принимать исправленные версии, а аткже пожелания/замечния тестеров промежуточных демо версий, и мгновенно отражать всё это в сети. В разработке могут принимать участие неограниченное число человек.
Я уже работал в системе Открытых Кодов, говорю официально: всё только на словах сложно, а на деле гораздо проще и легче. Именно система совместной разработки позволит нам довести-таки проект до конца.

3. Естественно, существует много вариантов будущего облика системы. В основном, расхождение вызывает язык и интерпретатор команд. WildWizard предлагает Python, я предлагаю OpenGL - подобную разметку, кто-то предлагает Паскаль-подобный язык. Но это ни в коем случае не должно мешать проекту! Ведь посудите сами. Неужели нельзя написать несколько модулей интерпетации команд, а потом в разных билдах программы подставлять их к всем остальынм модулям? Ведь это проще простого. Можно вообще интерпретатор команд организоваь в виде dll, а конечный пользователь пусть решает, что ему больше нравится, и соотвественно с тем языком и работает. В крайнем случае, можно сделать либо одну универсальную программу, которая понимает все языки, либо несколько разноязычных. Но ведь сделать это легко! Интерпретатор явяется одной пятой всего проекта, а после того, как будут сделаны первые четыре пятых, эти вопросы отпадут сами собой.
Самое привлекательное в процессе открытой разработки - это
1) Все программисты возьмут свои наработки и воплотят их не в гипотетической системе, которая будет сделана лет через десять, а в реальной системе. При желании, авторские права на отдельные модули будут сохранены.
2) Каждый будет видеть, над чем в данный момент работает другой, можно  будет помочь, подискутировать над сложными моментами, быстро протестировать и отыскать глюко-баги в новоиспечённом кусочке (!) кода.
3) Любые предложения по усовершенствованию будут обрабатываться уже на ранней стадии разработки, когда они пойдут только на пользу.

4. Слава Богу, что хоть в языковом плане мы с вами примерно однородны. Одни программируют на Паскале, другние на Делфи (что в принципе одно и то же). Так что проблем на этой почве не возникнет. Если кто-то будет писать модулm на другом языке - не беда, мы просто подключим его к уже существующей основе, как dll, и всё будет работать.

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

Неактивен

0    0    #2
14.03.2002 11:38

Namor
Участник
Откуда: Довольно Средняя Азия
Зарегистрирован: 03.05.2001
Сообщений: 33
Вебсайт

Re: РУССКОМУ IF БЫТЬ!!!

А чё, я опоздал на эту тему? Она у меня чешется. Вернувшись в отчий дом я сразу задумал иф, но как водится сразу влетел в проблему "как писать". Наверно попробую на паскале. Исходники Пила поштудирую - и помолясь начну. А вот что вчера вечером родилось на моей бумажке.

Имеется локация, на ней стоит игрок, давший команду "выстрелить из ружья в Васю" и ещё два объекта:

ОБЪЕКТ Ружьё
ОН ЖЕ ружья
ОН ЖЕ ружью
ОН ЖЕ ружьём
ОН ЖЕ оружие
ОН ЖЕ носимое
ОН ЖЕ заряжено
ЕСЛИ заряжено И ДАНА КОМАНДА Выстрелить из ружья в (живой) ТО
  ВЫВЕСТИ "Бабах!"
  ТЕПЕРЬ НЕ заряжено

ОБЪЕКТ Вася
ОН ЖЕ Васю
ОН ЖЕ Васей
ОН ЖЕ человек
ОН ЖЕ живой
ЕСЛИ ДАНА КОМАНДА Выстрелить из (оружие) в Васю ТО
  ВЫВЕСТИ "Вася охнул и упал."
  ТЕПЕРЬ НЕ живой

В результате появится сообщение "Бабах! Вася охнул и упал.", объект "Вася" потеряет свойство "живой", а ружьё разрядится.

Большими буквами написаны ключевые слова. Обработчики команд находятся внутри самих объектов. Проблема склонений решается посредством алиасов "ОН ЖЕ". Алиасы-же помогают создавать команды, срабатывающие на нечётко заданные типы объектов, так что ружьё бабахнет и в оленя и в кого угодно "живого". А Вася подохнет и от лука, если лук будет "оружием". Операторы "ТЕПЕРЬ" и "ТЕПЕРЬ НЕ" могут задавать или отбирать у объектов алиасы, так что алиасы могут работать и как переменные. Короче вот простейший язычок, позволяющий обрабатывать взаимодействия предметов. Не знаю, будет ли работать на практике, но - хоть что-то.

Неактивен

0    0    #3
16.03.2002 13:40

Namor
Участник
Откуда: Довольно Средняя Азия
Зарегистрирован: 03.05.2001
Сообщений: 33
Вебсайт

Re: РУССКОМУ IF БЫТЬ!!!

Нет, тут дело не в том что хочется писать платформы, визард! Я лично этот подход для себя давно отмёл. Проблема в том, что ну не писать же на паскале! Я попробовал на с++ - чуть не взвыл. Hydra как я понял это голимый python? А синтаксис у неё русский? И готова ли эта Hydra? Если да - то я на всё плюю и перехожу на Hydra - только напишу под неё диблиотечку чтобы работать МНЕ стало удобнее. Главное что? Главно страшно начинать большую работу на хрен знает какой платформе, поэтому и выдумываешь что-то своё, чтобы если чё не так - сам бы и исправил. Визард, ты бы создал дистрибутив с подробной инфой по установке и страничку с кратким описанием основ, а? А то ведь и вправду тоскливо новую платформу создавать. Ты бы положил начало, а мы бы включились - совместными усилиями бы доделали Гидру, как америкосы развивали с++...

Неактивен

0    0    #4
16.03.2002 15:13

Namor
Участник
Откуда: Довольно Средняя Азия
Зарегистрирован: 03.05.2001
Сообщений: 33
Вебсайт

Re: РУССКОМУ IF БЫТЬ!!!

Визард, документация нужна! И пример игрушки с исходниками!

Ты говоришь что хочем писать платформы а не игры, а сам? Ты говоришь что гидра пашет? Докажи!  Как только появится исходник игрушки-примера который можно было бы переписать в свою игру - лично я тут-же примкну!

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru