Newsgroup: it.comp.giochi.avventure.testuali
Titolo: [INFORM] Oggetti irraggiungibili

Ciao a tutti.
Il mio e' un ritorno (ma forse nessuno si ricordera' di me e del mio
tentativo di scrivere una AT direttamente in Delphi senza l'ausilio di
nessuna libreria specifica - il cui "diario di sviluppo" era pure pubblicato
su di un sito...).
Dopo aver abbandonato l'ennesimo progetto (qualcuno di voi, non ricordo chi,
lo prospetto' :-( ) e aver fatto passare qualche mesetto di tempo, ci
riprovo ancora, stavolta con INFORM.
Mentre "giochicchiavo" con esso mi e' sorto il seguente interrogativo: come
si possono gestire con facilita' degli oggetti che per il giocatore
dovrebbero essere visibili ma irraggiungibili? Cioe', se in una stanza c'e'
un lampadario appeso al soffitto, come posso evitare che il giocatore ci
possa interagire (metterci oggetti dentro, toglierli, ecc.) evitando una
lunghissima procedura che intercetti tutte le possibili azioni sul
lampadario stesso?
Chiedo scusa se magari ho fatto una domanda banale, ma non sapevo con che
termini effettuare una ricerca su Google per trovare eventuali threads gia'
esistenti sull'argomento.
Raffaele Giannini

 lampadario stesso?
Creati una classe ad hoc e gestisci le azioni (che poi non sono tante)
opportune.
bai
t


bye
-- 
Paolo Lucchesi
email: plucchesi(at)tin(dot)it
home page: 
http://www.paololucchesi.it
"Tempus Edax Rerum"

 lampadario stesso?
nota che molte azioni non sono possibili se non marchi l'oggetto 
opportunamente: se non è enterable non ci entri, se non è container non 
ci puoi mettere roba, se non è edible non lo puoi mangiare e così via. 
Per gli oggetti standard l'unica cosa che tipicamente puoi non volere è 
che si muovano; allora li puoi mettere scenic (il lampadario mi sembra 
un buon esempio).
Se poi sono oggetti più complessi del semplice scenario, diventano parte 
dell'avventura e allora vale la pena di scrivere un po' di codice 
dedicato...
ciao
S

 Beh... semplicemente intercetti tutto tranne quello che puoi fare
Anch'io faccio così.
f.

Ringrazio tutti per i consigli.
Io speravo che in Inform esistesse una gestione della "posizione" degli
oggetti, mentre da quanto mi consigliate, pare che tutti gli oggetti sono
considerati posti su un solo "livello".
Credo che per il momento (ho solo un oggetto posto in alto) intercettero'
tutte le action e poi magari con piu' calma mi scrivo una classe apposita.
Ciao e grazie ancora.
Raffaele Giannini

 considerati posti su un solo "livello".
non è affatto un problema banale... devi giocare con lo "scope" e 
modellare bene la differenza tra un oggetto visibile e uno a cui puoi 
accedere. Ci sono dei ben noti problemi inform tipo "cosa succede se la 
stanza è buia e un oggetto è chiuso dentro un contenitore trasparente 
insieme a un altro che emette luce?"  :)
ciao
S

stefanogaburri wrote:

interactive.science.fiction
-- 
"love is good and love is kind/love is drunk and love is blind/love is 
good and love is mine/love is drunk all the time
shame"
Billy Corgan

 insieme a un altro che emette luce?"  :)
Mha...
sono sempre stato dell'idea che le AT siano appunto Avventure Testuali e non
simulazioni del mondo reale. Un problema tipo quello da te esposto mi sembra
(IMHO) un po' esagerato: basta evitare situazioni del genere (e non credo
che sia un grossissimo sacrificio).
Mentre il problema della gestione di oggetti visibili ma non raggiungibili
credo che sia molto piu' "normale" e frequente.
Raffaele

 credo che sia molto piu' "normale" e frequente.
a parte che ti abbiamo stra-risposto, non è ancora chiaro cosa tu ci 
voglia fare con questi oggetti: sono solo scenario? E allora sono 
oggetti scenery. Fanno altro? Allora raggiungerli e/o attivarli è un 
puzzle che merita codice dedicato. Mi sembra abbastanza semplice...
ciao
S

 2) buoi e luce
o anche "vacche e fotoni"... ehm, ovviamente era buio :)

 puzzle che merita codice dedicato. Mi sembra abbastanza semplice...
l'ho capito l'ho capito, non ti scaldare! ^_^
Non aggiungo altro per non spoilerare: se non abbandono tutto un'altra
volta, e se riesco a completare l'avventura per dicembre, puo' essere che
partecipo alla  ORGC...
Raffaele Giannini

 partecipo alla  ORGC...
vai tranquillo, io sono 5 anni o giù di lì che rimando... :)
ciao
S

 vai tranquillo, io sono 5 anni o giù di lì che rimando... :)
O_O
non credo di avere la tua pazienza! (purtroppo mi e' gia' capitato molte
volte di abbandonare progetti iniziati) ;)
Raffaele


In uno dei miei giochi ho gestito un oggetto (container) messo su un armadio
e, sempre in Inform, ho facilmente inserito il concetto di oggetto 
"vicino a",
nel senso che a seconda di dove si trovava la sedia
potevi raggiungere l'oggetto in alto... implementazione banale.
Dato che nel tuo caso l'oggetto non č scenery, ti basta veramente poco 
codice
per gestirlo, il fatto che poi sia container non implica nulla perché Inform
gestisce perfettamente questo tipo di oggetto. Poi dipende, se č 
transparent,
aperto/chiuso, etc... qualche controllo in piů...
bai
t

 potevi raggiungere l'oggetto in alto... implementazione banale.
premesso che, naturalmente, quello da me esposto non e' un problema
insormontabile (in realta' non ho mai detto questo ma solo che pensavo ci
fosse un modo "automatico" gia' previsto da Inform per gestire "oggetti
posti in alto") per me, che ho da poco iniziato a conoscere Inform, non e'
nemmeno un problema banalissimo: diciamo che mi ci sono dovuto applicare un
po'.
Cmq... a quale dei tuoi giochi ti riferisci? Si potrebbe avere il sorgente?
(giusto per vedere se hai adottato delle soluzioni migliori, cosa di cui
sono abbastanza convinto...)
Dai... sono un tuo corregionale! (anzi coprovinciale) ^__^
Raffaele


Addirittura... e di dove sei? Cmq su 
www.ifitalia.info
 puoi trovare
il codice sorgente di Schizo (il gioco a cui mi riferivo). Il gioco è 
scritto
in inform-glulx, ma per il 90% è puro inform.
bai
t

 Cmq su 
www.ifitalia.info
 puoi trovare il codice sorgente di Schizo (il
gioco a cui mi riferivo).
ok, ora lo scarico...
Raffaele

 vai tranquillo, io sono 5 anni o giù di lì che rimando... :)
Non me ne parlare, la volta che ci ho pensato mi e' andato a 
catafascio il lavoro (no, non credo ci sia una relazione tra le due 
cose...).
   .Erix.