Calling all interactive story authors, aspiring and practicing!
The POEM Lab at NC State University (see http://go.ncsu.edu/poem) is conduc= ting research to assess our authoring tool, Villanelle, for creating autono= mous characters in interactive stories. Want to participate? Learn more at = https://sites.google.com/a/ncsu.edu/villanelle/contribute-to-research.
I do know how to program in Glulx, and other programming languages, and
I don't really like GUI so much; a text-based batch interface is better. Programming the game is the easy part; the difficult part is the story.
To my knowledge you can't "program in Glulx". Glulx is a virtual machine
that provides a platform for interactive fiction games. Inform 6 and 7
are two languages that compile to a format suitable for the Glulx platform.
rpresser@gmail.com wrote:
To my knowledge you can't "program in Glulx". Glulx is a virtual machine that provides a platform for interactive fiction games. Inform 6 and 7
are two languages that compile to a format suitable for the Glulx platform.
Actually, you can program in Glulx, or, more specifically, using a
specific assembler, such as Glasm. I have written a few programs using
that assembler, including a Z-machine implementation in Glulx, as well
rpresser@gmail.com wrote:
To my knowledge you can't "program in Glulx". Glulx is a virtual machine
that provides a platform for interactive fiction games. Inform 6 and 7
are two languages that compile to a format suitable for the Glulx platform.
Actually, you can program in Glulx, or, more specifically, using a
specific assembler, such as Glasm. I have written a few programs using
that assembler, including a Z-machine implementation in Glulx, as well
as partially a game called "Game of XYZABCDE -- Part II" (incomplete,
because I don't know what to put in, not because I can't program it;
I wrote about it in article <1586845486.bystand@zzo38computer.org> if
you are interested). Another example of a Glulx code is listed here:
<!include ":glulx"
<!include ":glk"
!stack 256
:Prompt !string ">> "
!main 3
; Check if Glk supported; quit if not
gestalt gs.IOSystem,2,$
jz $,0
; Open window
!pushr 0,0,0,glk.wintype_TextBuffer,0
glk glk_window_open,5,$2
jz $2,0
push $2
glk glk_set_window,1,0
setiosys 2,0
; Main loop
; Check if number is -1 or 256
0h jne $0,-1,1f
2h copy 0,$0
1h jeq $0,256,2b
; Prompt and get input
streamstr Prompt
!pushr $2,Buf,1,0
glk glk_request_line_event,4,0
1h push Event
glk glk_select,1,0
jne @Etype,glk.evtype_LineInput,1b
jz @Eval1,0b
; Execute operation
copyb @Buf,$1
jeq $1,'i',I
jeq $1,'d',D
jeq $1,'s',S
jeq $1,'o',O
jump 0b
; Increment
:I add $0,1,$0
jump 0b
; Decrement
:D sub $0,1,$0
jump 0b
; Square
:S mul $0,$0,$0
jump 0b
; Output
:O streamnum $0
streamchar 10
jump 0b
!bss
:Event !allot 16
:Etype !is Event
:Ewin !is Event+4
:Eval1 !is Event+8
:Eval2 !is Event+12
:Buf !allot 8
(This program isn't really so useful; it is an implementation of the
rather worthless "Deadfish" esolang. It is just for demonstration.)
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 83:42:54 |
Calls: | 6,658 |
Calls today: | 4 |
Files: | 12,203 |
Messages: | 5,333,527 |
Posted today: | 1 |