Poslao: 28 Jul 2016 17:14
|
offline
- Srki_82

- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Napisano: 28 Jul 2016 18:04
Pa za Linux skini kod i sam iskompajliraj
Dopuna: 28 Jul 2016 18:14
@Srki
Inventar je definitivno u planu. Aliasi za stvari su bili u planu, pa su ispali iz plana, ali možda opet upadnu
U svakom slučaju, ako posle ovog takmičenja budem i dalje radio na ovoj igri, verovatno ću odraditi posao malo detaljnije... lepi tipski podaci (tipovi za svaku vrstu objekta, prototipovi, nasleđivanje, itd...), gui za kreiranje igre (možda neki qt da radi na svim platformama), poseban player za igru koji će simulirati konzolu, ali će dozvoliti i prikaz slike, puštanje zvuka, možda i videa, verovatno i neki rich text (boldovana slova, različiti fontovi) i još po nešto.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 29 Jul 2016 09:56
|
offline
- Srki_82

- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Napisano: 29 Jul 2016 9:03
Za Linux je generalno zeznutno praviti binarne datoteke, jer jedni imaju jednu standardnu c++ biblioteku, drugi drugu, jedni imaju jedne verzije paketa, drugi druge ili ih uopšte nemaju. Zato je već nekako standardno da uzmeš kod i iskompajliraš ga sam na svojoj mašini za svoj Linux. Druga varijanta je da iskompajliram različite verzije za svaku popularniju Linux distribuciju.
Dopuna: 29 Jul 2016 10:56
Woho, inventar i više naziva za istu stvar su završeni napravljeni. Sad ću da se bacim na priču... razmišljam nešto kao džin te je zarobio u kavez kao kućnog ljubimca i ti sad treba da se nekako izvučeš i pobegneš od njega. Videćemo kako će ići
|
|
|
|
Poslao: 29 Jul 2016 23:07
|
offline
- E.L.I.T.E.

- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4576
|
Obzirom da je gotov sav posao vezan za programiranje (front-end ni ne računam, to je oko pola sata posla) i da je pisanje definicija užasno dosadno, počeo sam da pišem mali prevodioc (Lake) u Javi za DSL Swan koji će mi iznimno olakšati dosadan posao:
on "Kako si"
"Dobro, hvala na pitanju :)"
end
on "Kako si *"
jump "Kako si"
end
Lake pomoću Tokenizer komponente razlaže Swan kod u tokene kreirajući Swan Token Model (STM) koji izgrađivač tagova (TagBuilder) koristi kako bi kod pretvorio u AIML (evo i dijagrama koji prikazuje proces prevođenja). U suštini ovo je običan source-to-source kompajler, ali mi je mnogo lakše da pišem ovako nego da kucam tagove, a i biće korisno svima koji rade sa AIML i svako će moći da po specifikaciji napiše prevodioc i u drugim jezicima (C++, Python, Ruby...)
Prva verzija prevodioca će da ima samo osnovne funkcionalnosti, nakon takmičenja ću da nastavim dorađivanje prema specifikaciji AIML 2.0.
|
|
|
|
Poslao: 31 Jul 2016 17:08
|
offline
- E.L.I.T.E.

- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4576
|
Hmm, ovo je bilo mnogo lakše nego što sam mislio da će biti
Kompajler za sada uspešno prevodi osnovne strukture u AIML:
on "Kako da *"
"Otkud ja to znam?"
end
on "Šta si rekao"
"Rekao sam, \"Bravo!\""
end
<category>
<pattern>KAKO DA *</pattern>
<template>Otkud ja to znam?</template>
</category>
<category>
<pattern>ŠTA SI REKAO</pattern>
<template>Rekao sam, "Bravo!"</template>
</category>
Još da implementiram struktuiranje u TagBuilder i mogu da nastavim sa definicijama - evo i trenutne specifikacije.
Scopes sam implementirao preko listi - kada se oformi novi scope (recimo, ulazak u if petlju), lista sa procedurama dobija token sa tipom procedure i argumentom start. Kada kompajler učita end komandu, uzima tip poslednjeg dodatog tokena, dodaje argument end i uklanja poslednju dodatu proceduru. Ako je poslednja procedura bila template, automatski uklanja sve ostale (jer, ako nijedna procedura nakon template nije započeta, znači da je kategorija gotova i da tokeni mogu da se šalju TagBuilder komponenti).
|
|
|
|
|
Poslao: 01 Avg 2016 14:59
|
offline
- Srki_82

- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Toliko od mene Igrica je igriva, pričica je napisana, ima tu još dosta grešaka, ali šta da se radi
U suštini, program ne radi ništa komplikovano. Najkomplikovaniji deo je upoređivanje stringova preko regex-a i traženje komandi. Na taj način sam odradio jednostavan parser koji je, moram priznati, prilično glup
Neki bolji način bi bio da sa se model malo raširi tako da svaki objekat ima imenicu ili imenice koje ga predstavljaju, prideve koji ga opisuju i glagole za koje ima definisanu radnju. Tako bi parser imao mnogo više informacija i mogao bi da obraćuje dosta komplikovanije rečenice. Osim toga, mogao bih da uvedem i neke veznike pa da recimo "take this and that" parser prepozna i izbaci 2 komande "take this" i "take that". Nažalost, za sve to treba dosta vremena... dobar parser se piše prilično dugo, a još duže testira
Prostor za podoljšanje postoji i u delu za ispis opisa. Trenutno je svaki opis samo običan tekst. Bilokakvo menjanje sadržaja sobe zahteva i ručno menjanje opisa. Umesto toga, bih mogao da napravim funkcije, koje bi na osnovu vrste objekta (soba, stvar, izlaz, itd...) i objekata koji se u njemu nalaze, same pripremile opis. Uz to verovatno bih mogao da napravim i neki mali templating endžin za tekstualni opis objekata, pa da u samom tekstu mogu da se koriste neka grananja, promenljive i slično, npr: "He was very {if obj.tall}tall{else}short{endif} man.". Na taj način bi se opis "sam" menjao u zavisnosti od trenutnog stanja igre.
Šta još fali... recimo promenljive koje bi uticale na samu igru. Recimo glad, žeđ, energija i slično. Sve u svemu, uz malo više truda i slobodnog vremena, mogla bi da se napravi mnogo bolja igra
Evo i verzije za Windows. Ovog puta je osim exe datoteke tu i još jedna u kojoj se nalaze podaci za igru. Potrebno je da se obe datoteke naleze u istom direktorijumu prilikom pokretanja igre: [Link mogu videti samo ulogovani korisnici]
|
|
|
|
Poslao: 01 Avg 2016 15:32
|
offline
- mpman

- Mod u pemziji
- Pridružio: 12 Okt 2010
- Poruke: 10910
|
Ne radi.
Koja god komanda da se ukuca, ne izbacuje nikakav odgovor.
|
|
|
|
Poslao: 01 Avg 2016 15:40
|
offline
- Srki_82

- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Radi kako je isprogramirano Probaj "look at box", probaj "look at lock".
|
|
|
|
|