LINUX.ORG.RU

Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

 , ,


0

0

Небольшой квест: «Одна старая история» — история о программисте-параноике и его войне со злом.

Интерпретатор STEAD (Simply Text Adventure) позволяет проигрывать игры, которые по жанру являются смесью визуального повествования, текстового квеста и классических квестов 90-х.

>>> Скриншоты и описание

>>> Скачать.

>>> Сайт проекта



Проверено: Shaman007 ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Эээ… как-то так :) // Не проверялось, ибо пересобирать прямо сейчас не могу.

: diff unix.c /home/new/unix.c
54c54
< snprintf(save_path, sizeof(save_path) - 1 , "%s/.insteadrc", pw->pw_dir);
---
> snprintf(save_path, sizeof(save_path) - 1 , "%s/.instead/insteadrc", pw->pw_dir);

Mystra_x64 ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Это не правильно, так как каталога .instead может не быть. ;) Так что в каком-то смысле текущая схема правильная.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

> Выложил сборку n810 на ftp форума n8xx.com О, спасибо! Попробую сегодня. Там правда надо бы и тему переделать книжную под 800x480.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

А save'ы сохраняются туда мистическим образом? Уж не знаю, кто в программе за это отвечает, я вообще руби больше как-то :}

Mystra_x64 ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

А save создают этот каталог -- т.е. это продукт деятельности игры. Можно сделать и так и так. Оба варианта на мой взгляд подходят. Поэтому, инициатива в ваших руках (хочется немного отдохнуть). :)

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Угу. Теперь мои фичреквесты (мб есть что, с Lua не работал) :
1) Анимация (различные каринки для одной и той же локации в зависимости от условий)
2) В инвентаре сделать разбиение предметов по группам (доспехи, оружие, еда etc)
3) Возможность ассоциации предмета с картинкой (возможность сделать меч с максимальным/минимальным уроном и показать, как он красиво выглядит)
4) В инвентаре показывать количество предметов. Типа: Деньги (5000), Ящик (4)

DeXPeriX ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Ответы.

1) Уже есть (собственно это реализовано в обоих квестах). pic может быть функцией.

2) можно сделать прямо в игре, используя lua.

3) этого нет -- пока не планирую делать. Но можно при щелчке на инвентарь показывать его изображение прямо в сцене.

4) реализуемо в самой игре, lua. nam может быть функцией.

В любом случае, движок, кончено, направлен на определенный тип квестов, вроде тех, что есть сейчас. Но большинство вещей могут быть сделаны в самой игре, за счет lua скриптинга.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

побольше интересных игр на этом движке, рюшечки не нужны. Главное чтобы игралось как будто книжку читаешь :)

alt0v14 ★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Собирал instead-0.8.6 под MOPS Linux 6.0

Сначала не обнаруживался пакет lua5.1, несмотря на его наличие:

---------------------------------------------------
$luac -v
Lua 5.1.2 Copyright (C) 1994-2007 Lua.org, PUC-Rio
---------------------------------------------------

Потом правда я заметил, что у меня этот пакет в системе зовется просто lua и сделал соответствующие правки в Rules.make.standalone

Собралось. Но теперь после выбора игры в стартовом окне падает с ошибкой сегментирования. =(

cPunk ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Было бы хорошо запустить под gdb и сделать backtrace. Попробовать параметры к sdl-instead: -nosound, -alsa.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

>Попробовать параметры к sdl-instead: -nosound, -alsa.

-no-sound помогло, а вот с -alsa все равно вылетает.

cPunk ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

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

Как остальные SDL игры? Работают? Что говорит gdb? Или запустить с valgrind?

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

$ gdb sdl-instead
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb)
(gdb) run
Starting program: /usr/local/bin/sdl-instead
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1214576960 (LWP 12192)]
[New Thread -1214837872 (LWP 12195)]
[New Thread -1223226480 (LWP 12196)]
[Thread -1223226480 (LWP 12196) exited]
[Thread -1214837872 (LWP 12195) exited]
[New Thread -1214837872 (LWP 12237)]
[New Thread -1223226480 (LWP 12238)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1214576960 (LWP 12192)]
0xb7d1f253 in strlen () from /lib/libc.so.6
(gdb)

cPunk ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

>Как остальные SDL игры? Работают?

Из других SDL-ных на этой машине у меня только freedroid-classic и он работает нормально.

>Или запустить с valgrind?


Та же ошибка сегментирования.

cPunk ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

в момент падения под gdb напишите пожалуйста backtrace. И результат вывода.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

(gdb) backtrace
#0 0xb7d90253 in strlen () from /lib/libc.so.6
#1 0xb7ea9711 in open_file () from /usr/lib/libSDL_mixer-1.2.so.0
#2 0xb7eb3b08 in ?? () from /usr/lib/libSDL_mixer-1.2.so.0
#3 0xb7eb91ff in ?? () from /usr/lib/libSDL_mixer-1.2.so.0
#4 0x00000001 in ?? ()
#5 0x00000002 in ?? ()
#6 0xbfc1b597 in ?? ()
#7 0xb7e61458 in main_arena () from /lib/libc.so.6
#8 0xb7e61158 in main_arena () from /lib/libc.so.6
#9 0xb7e61150 in main_arena () from /lib/libc.so.6
#10 0x00000000 in ?? ()
(gdb)

cPunk ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Не понятно, что происходит. Выглядит так, как будто проблема в SDL. Возможно, разные заголовочные файлы/библиотеки? Можно попробовать запусить win версию из-под wine. :)

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

>Не понятно, что происходит. Выглядит так, как будто проблема в SDL. Возможно, разные заголовочные файлы/библиотеки? Можно попробовать запусить win версию из-под wine. :)

Тут, на работе, у меня все равно колонок нету, так что пока не важно. Могу поиграть и с -no-sound. Вечером попробую запустить дома, там у меня не такой старый дистрибутив.

cPunk ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Прошел только-что квест про кота :) Супер :)

zHACKa ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

да, квесты хороши! Надо бы у себя со временем обзорчик накатать про сие чудо ))

И игр бы побольше...

vovans ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

У INSTEAD английский интерфейс есть, или только русский?

По-моему, без английского в официальный Gentoo не примут.

question4 ★★★★★ ()

Правильный ебилд

Люди! Предыдущие ебилды не учитывают некоторые изменения, которые автор внёс между версиями 0.7.4 и 0.8.5. В результате — мусор в / . Пожалуйста, смените ебилд на этот (проверено на 0.8.7):

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit games

DESCRIPTION="INSTEAD quest engine"
HOMEPAGE="http://instead.googlecode.com/"
SRC_URI="http://instead.googlecode.com/files/${P/-/_}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="=dev-lang/lua-5.1* 
	media-libs/libsdl
	media-libs/sdl-mixer
	media-libs/sdl-image
	media-libs/sdl-ttf"
RDEPEND="${DEPEND}"

src_unpack() {
	unpack "${A}" || die "Cannot unpack archive"
	cd "${S}" || die "Directory ${S} doesn't exist"
	cp Rules.make.system Rules.make || die "Cannot copy Rules.make.system"
	sed 's/lua5.1/lua/; s:DESTDIR=.*:DESTDIR=:; s:BIN=.*:BIN=$(DESTDIR)'"${GAMES_BINDIR}"':; s:$(DESTDIR)/share:$(DESTDIR)'"${GAMES_DATADIR}:" -i Rules.make || die "Cannot patch Rules.make"
	sed 's:$(DESTDIR)/share:$(DESTDIR)'"${GAMES_DATADIR_BASE}:" -i desktop/Makefile doc/Makefile || die "Cannot patch makefiles"
}

src_install() {
	emake DESTDIR="${D}" install || die "emake install failed"
	prepgamesdirs
}
question4 ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Английский интерфейс есть, можно убрать define при сборке. Но игры-то только русские :)

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Подняли форум: http://instead.pinebrush.com

Насчет игр, зависит от энтузиастов. :)

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

>Подняли форум
Не охота регится, такой баг: в информации напиано "Версия для Windows" :)
З.Ы. Linux 2.6.30-gentoo-r5

xorik ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Там написано два имени: Автор движка И автор порта под windows :)

Хотя может стоит сделать надпись понятней.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

> Английский интерфейс есть, можно убрать define при сборке.

Из всех CFLAGS убрать -DRUSSIAN достаточно, или есть что-то ещё?

> Но игры-то только русские :)

Думаю, перевода туториала хватит :) Могу перевести, если с английским трудно.

Заодно вот такой вопрос:

На сайте GNU make рекомендуют оставлять DESTDIR пустым (http://www.gnu.org/prep/standards/html_node/DESTDIR.html), а /usr/ или /usr/local/ задавать в переменной PREFIX.

ip1981 предложил такой вариант для Rules.make.system :

PREFIX=/usr/local
DESTDIR=
BIN=$(DESTDIR)$(PREFIX)/bin/
STEADPATH=$(DESTDIR)$(PREFIX)/share/stead
THEMESPATH=$(STEADPATH)/themes
GAMESPATH=$(STEADPATH)/games
ICONPATH=$(PREFIX)/share/pixmaps 

Есть какие-то причины для нестандартного использования DESTDIR?

Соответственно, для desktop/Makefile будет:

install -d -m 0755 $(DESTDIR)$(PREFIX)/share/applications
install -m 0644 instead.desktop $(DESTDIR)$(PREFIX)/share/applications/instead.desktop
(Кстати, зачем там последняя строка дважды?)

Для doc/Makefile:

install -d -m0755 $(DESTDIR)$(PREFIX)/share/doc/instead
install -m0644 *.jpg *.html *.txt $(DESTDIR)$(PREFIX)/share/doc/instead

question4 ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

> Из всех CFLAGS убрать -DRUSSIAN достаточно, или есть что-то ещё? Достаточно.

Насчет DESTDIR -- там действительно все запущено. Попробую привести Makefile'ы в порядок. Основная сложность -- должно работать для Windows, для /usr/share и для ./ путей одновременно.

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Насчет tutorial. Была попытка первода -- но с тех пор он (tutorial) уже изменился. Если переведете -- будет замечательно. :)

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

> Основная сложность -- должно работать для Windows, для /usr/share и для ./ путей одновременно.

Сейчас нормально работает с DESTDIR и без PREFIX? Тогда просто надо перенести нынешнее содержимое DESTDIR в PREFIX, и все упоминания $(DESTDIR) заменить на $(DESTDIR)$(PREFIX). Мне кажется так.

question4 ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Да -- я заложил это в svn. Но для верности (перед выпуском версии) надо собрать debian пакет, win версию и ach пакет. :) + я хотел кое-что поправить из мелочей. Через день два -- выпущу 0.8.8

gloomy ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Работает.

Ебилд:

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit games

DESCRIPTION="INSTEAD quest engine"
HOMEPAGE="http://instead.googlecode.com/"
SRC_URI="http://instead.googlecode.com/files/${P/-/_}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND="=dev-lang/lua-5.1* 
	media-libs/libsdl
	media-libs/sdl-mixer
	media-libs/sdl-image
	media-libs/sdl-ttf"
RDEPEND="${DEPEND}"

src_unpack() {
	unpack "${A}" || die "Cannot unpack archive"
	cd "${S}" || die "Directory ${S} doesn't exist"
	cp Rules.make.system Rules.make || die "Cannot copy Rules.make.system"
	sed 's/lua5.1/lua/;'  -i Rules.make || die "Cannot patch Rules.make"
	sed 's:PREFIX=.*:PREFIX=/usr:' -i Rules.make || die "Cannot patch Rules.make"
	sed 's:BIN=.*:BIN=$(DESTDIR)'"${GAMES_BINDIR}:" -i Rules.make || die "Cannot patch Rules.make"
	sed 's:STEADPATH=$(DESTDIR)$(PREFIX)/share:STEADPATH=$(DESTDIR)'"${GAMES_DATADIR}:" -i Rules.make || die "Cannot patch Rules.make"
	sed 's:DOCPATH=$(DESTDIR)$(PREFIX)/share:DOCPATH=$(DESTDIR)'"${GAMES_DATADIR}:" -i Rules.make || die "Cannot patch Rules.make"
}

src_install() {
	emake DESTDIR="${D}"  install || die "emake install failed"
	prepgamesdirs
}

question4 ★★★★★ ()

Re: Вышла еще одна игра для INSTEAD - интерпретатора простых текстовых приключений

Ок -- разместил на сайте,

OFFTOP:

Кстати, мы тут работу ищем, нет завязок никаких? :)

http://www.linux.org.ru/view-message.jsp?msgid=4003318&lastmod=1251726780653

gloomy ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.