Хочешь беспорядочных связей? Книга-игра – свобода выбора!

 

Потехи ради решил вспомнить как работать с базами данных и набросал за пару часов небольшой (не могу пока сказать движок) интерпретатор базы данных
возможности
1. Путешетвия по параграфам и до 4-х вариантов каждого параграфа
2. Сражения с монстрами из базы данных
3. Смерть главного героя
движок пока сырой вот прошу совета стоит ли продолжать и накручивать двигло?
есть ли люди, которым это интересно?

dungeon.rar

192.58 КБ

собственно сам прототип двигла 

Загрузок: 60 раз(а)
Герой легенд

А редактор книг-игр "Я – мастер книг" видел?

Да конечно видел, но это несколько разные вещи....
задумка написать именно двигло для игр, совместимое с базами данных access… а я мастер это инструмент для написания игр... веселая штука есть к чему стремится но он из другой категории...

Герой легенд

Хм, любопытная вещь. Вот админ подойдёт – он может чего-нибудь дельного посоветовать по поводу

писал(а): EnMErkar
прошу совета стоит ли продолжать и накручивать двигло

А о секретных переходах думал? Smile

если честно плохо себе представляю что это такое если объясните можно написать модуль и такая функция будет...
формат базы данных и само двигло легко модернезируются и дополняются...

Добавил через 3 минут 28 секунд:

да и я заранее прошу прощения за куцость этой версии в базе данных всего 4 строки....
просто цель продемонстрировать начальные (как я считаю основные функции)
1. перемещение по параграфам и возможность выбора
2. боевка (формулу можно адаптировать и изменять)
3. смерть и начало заново
в ближайшее время я добавлю инвентарь и немного графики (которая будет выражаться в картинках к каждому параграфу и монстру + картинки инвентаря)
но графика вопрос желания а двигло есть вещь основная...

Герой легенд

Секретный переход – это когда по ходу приключения получаешь какую-нибудь важную информацию или артефакт. И чтобы не было жульничества, автор пишет, к примеру: "когда будете там-то и там-то, прибавьте 50 к номеру параграфа, на котором будете находиться".

да это продумано и в базе данных присутствует параметр (+ или – от текущего параграфа) который может сработать при нажатии на кнопку предмета (этого пока в текущем релизе нет но модуль уже я включил)
вообще двигло я писал изначально на книге детства Браславского....
так что секретные параграфы есть...
по природе своей секретные параграфы я рассматриваю как предметы инвентаря...

Знаменитый приключенец

писал(а): EnMErkar
задумка написать именно двигло для игр, совместимое с базами данных access…

Хм...а зачем обязательно Access? И зачем вообще базы данных? Базы данных предполагает постоянное изменение информации в течении долгово времени. Для того, чтобы считать, сколько хитов осталось у Героя и Дракона – база не требуется. Если конечно задумываться о многопользовательской игре...но тут тогда непонятент выбор Access, эта база явно не расчитана на нормальную работу через И-нет.

Если интересно именно проигрывание квестов на компе – то, IMHO, на сегодняшний день есть 2 основных менюшных системы – URQ и QSP (да, есть еще много других, я помню Smile ) Еще есть парсерные системы (с языковым вводом), но с "высоты птичьего полета" это те же менюшные квесты, только игрок еще должен догадываться, "сломать", "вскрыть" или "выбить" дверь.

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

Если же хочется написать просто свой движок...то может стоит присоедениться к разрабочикам уже имеющихся, чем изобретать велосипед заново? Например – тут.

писал(а): EnMErkar
а я мастер это инструмент для написания игр...

Не только, у него еще есть полноценный Интерактивный плеер, который автономно проигрывает написанное на любой платформе (которая имеет стандартный браузер и JavaScript)


_________________
Редактор книг-игр "Я - Мастер Книг"


Последний раз редактировалось: Logger (Вс Янв 31, 2010 2:12), всего редактировалось 1 раз
Герой легенд

Почему нельзя было просто кинуть mdb-файл? Sad

Ошибка Microsoft .NET Framework

Строка D:\dungeon\game.mdb задает ошибочный путью

а также

Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

  • Текст исключения **************
System.Data.OleDb.OleDbException: Строка ‘D:\dungeon\game.mdb’ задает ошибочный путь. Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы. в System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) в System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) в System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) в System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) в System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) в System.Data.OleDb.OleDbConnection.Open() в System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) в Dungeon.gameDataSet1TableAdapters.gameTableAdapter.Fill(gameDataTable dataTable) в Dungeon.GameWindow.GameWindow_Load(Object sender, EventArgs e) в System.Windows.Forms.Form.OnLoad(EventArgs e) в System.Windows.Forms.Form.OnCreateControl() в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) в System.Windows.Forms.Control.CreateControl() в System.Windows.Forms.Control.WmShowWindow(Message& m) в System.Windows.Forms.Control.WndProc(Message& m) в System.Windows.Forms.ScrollableControl.WndProc(Message& m) в System.Windows.Forms.ContainerControl.WndProc(Message& m) в System.Windows.Forms.Form.WmShowWindow(Message& m) в System.Windows.Forms.Form.WndProc(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  • Загруженные сборки **************
mscorlib Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3603 (GDR.050727-3600) CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll————————————————————Dungeon Версия сборки: 1.0.0.0 Версия Win32: 1.0.0.0 CodeBase: file:///C:/Documents%20and%20Settings/Admin/Local%20Settings/Apps/2.0/PYXP2M2K.GJC/3RT5PL8J.LVY/dung..tion_9bdc58d72ba93dfb_0001.0000_a25321720f4807be/Dungeon.exe————————————————————System.Windows.Forms Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll————————————————————System Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll————————————————————System.Drawing Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll————————————————————System.Data Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll————————————————————System.Xml Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3082 (QFE.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll————————————————————System.Windows.Forms.resources Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.42 (RTM.050727-4200) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll————————————————————mscorlib.resources Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3603 (GDR.050727-3600) CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll————————————————————System.Configuration Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll————————————————————System.Transactions Версия сборки: 2.0.0.0 Версия Win32: 2.0.50727.3053 (netfxsp.050727-3000) CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll————————————————————

  • Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данногоприложения или компьютера (machine.config) должен иметьзначение jitDebugging, установленное в секции system.windows.forms.Приложение также должно быть скомпилировано с включеннойотладкой.

Например:

<configuration>
<system>
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.


_________________
Эти морские зайцы, эти дохлые медузы отказываются следовать за своим капитаном!

Во-первых спасибо за видение и дискуссию...
постараюсь ответить по порядку...
1. Access это наиболее гибки и простой и мощный инструмент для создания баз данных.
2. Сама архитектура книг-игр наиболее полно отражается в базах данных
3. Постоянное изменение данных в дальнейшем предпоагает наиболее гибкий и удобный интерфейс для создания книг-игр (баз данных)
4. есть опыт удачных веб проектов где вормат аксеса использовался успешно (правда это были биржевые приложения) но тем не менее.
5. Системы да но движки врядли...
6. База данных позволяет сделать множество вещей для повышения интерактивности книги, например наполнение локаций рандомными монстрами... (как пример)
7. идею поддерживаю, но движков на C++ и C# просто не нашел а это достаточо интересные языки и возможности этих языков намного больше чем у простите Java…
8. и аргумент: "а уже такое есть...", никогда не останавливал нас разработчиков Smile
Добавил через 2 минут 25 секунд:

[quote="Смелый Хвост"]Почему нельзя было просто кинуть mdb-файл? Sad

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

Знаменитый приключенец

писал(а): EnMErkar
2. Сама архитектура книг-игр наиболее полно отражается в базах данных
6. База данных позволяет сделать множество вещей для повышения интерактивности книги, например наполнение локаций рандомными монстрами... (как пример)

Не совсем точно. Книга-игра (или квест) замечательно представляются в виде структуры реляционных обьектов. Тот же Мастер Книг в памяти строит именно набор обьектов типа "Параграф", "Переход", "Монстр" и т.п. Но сохраняется все это в виде файла, а не в базу данных. Потому как
1) Книгу игру/квест делает один автор. Совместный труд в режиме реального времени (когда потребуется именно база данных) пока не популярен.
2) Книга-игра меняется только в процессе ее создания. Потом это фиксированный набор сущностей, который не меняется (если только автор не решит что-то кардинально поменять). Сохранения игры/квеста опять же не требуют базы, так как сохраняется вся структура разом.

писал(а): EnMErkar
8. и аргумент: "а уже такое есть...", никогда не останавливал нас разработчиков Smile

Ну, если время девать некуда и не жалко отправить результаты работы "в стол" – то конечно пробуй. Просто новые плееры квестов появляется несколько раз в году. И так же быстро изчезают (ибо авторы не спешат писать под них свои квесты). А вот URQ/QSP, если не ошибаюсь, видели еще на i386.

писал(а): EnMErkar
7. идею поддерживаю, но движков на C++ и C# просто не нашел а это достаточо интересные языки и возможности этих языков намного больше чем у простите Java…

Не согласен.
1) QSP – написан на C (на каком точно – не знаю Smile )
2) С# – ничем не лучше Java, но менее надежен. Точнее – менее надежен не сам C#, а его сервер. Ты никогда не задумывался, почему весь интернет держится на xUNIX, а не Windows? Smile
3) C (C++) – отличный язык для низкоуровневых высокоскоростных приложения. Типа обработчка видео. Но плеер книг-игр 99% времени просто ждет ответ Игрока. Так что вопрос скорости просто не стоит.

А теперь представь, сколько будет гемора перенести плеер, написанный на C, на мобильный телефон? На Mac? Нет, если хочется софт, который будет работать не только на MS Windows XP сервис-пак 3, но и на Маке, Юниксе, ай-фоне и обычном мобильнике – альтернатив Java попросту нет.

писал(а): EnMErkar
3. Постоянное изменение данных в дальнейшем предпоагает наиболее гибкий и удобный интерфейс для создания книг-игр (баз данных)

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

писал(а): EnMErkar
1. Access это наиболее гибкий и простой и мощный инструмент для создания баз данных. .... есть опыт удачных веб проектов где вормат аксеса использовался успешно (правда это были биржевые приложения) но тем не менее.

Хм...ну как бы это...ты IMHO "несколько" преувеличиваешь способности Access. Это очень простая база данных, расчитанная на небольшие и преимущественно однопользовательские приложения. Чтобы сделать большее, нужно цепляться к нормальной базе класса MS SQL, Oracle и т.п. (никто бы просто не покупал MS SQL, если бы все такое же можно было получить на Access). Да и как веб-сервер из Access тоже почти никакой.


_________________
Редактор книг-игр "Я - Мастер Книг"

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