Advenures: application- or web-based?

Discuss text adventures here! The classics like those from Infocom, Magnetic Scrolls, Adventure International and Level 9 and the ones we're making today.

Moderators: AArdvark, Ice Cream Jonsey

User avatar
Tdarcos
Posts: 9333
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

Advenures: application- or web-based?

Post by Tdarcos »

I was going to discuss something but got into this in order to explain something first so I'll do a technical article then explain the question.

Back in the 1970s IBM developed the CICS transaction monitor; a program which allows other programs running on a mainframe computer that handle human-based input programs not generally interactive to be run more efficiently.

This was a different paradigm than the typical batch processing that COBOL code-grinders put out where the program was loaded and ran through a database and ran through each processing record to either add, delete or alter its contents.

A human-based input program such as data entry or database browsing usually involves the person starting the application, filling out a form, then submitting the contents of the form, and either submitting another form or browsing the results of what they submitted, then "lather, rinse, repeat."

The point is that when the person gets the screen under a transaction monitor like CICS, the program exits, putting no load on the mainframe system and uses no system resources. The program does remain in memory if someone else is running it, but because programs have to be re-entrant, only one copy of the program is in memory no matter how many people are using it, only the scratch memory used by the program for variables related to that user's execution is consumed, and even that is reclaimed when the program exits, leaving the program using no resources while waiting for input.

Let me repeat that: the program shows a screen, then quits. When the user is thinking or entering data, they put no resource load on the system, other than a few bytes to store the information about that terminal.

On a mainframe, this vastly increases the number of users that can connect to the one machine. A mainframe which had 1% of the memory and disk space of what's sitting under your desk right now, and probably ran at about 10% of the speed, routinely handled upwards of 50+ to as many as several hundred terminals because of this vastly increased efficiency.

This is how a transaction-based application system works. A standard application in a non-transaction system "speaks" to one user at a time, sits in memory the whole time it's running, and often handles interactive responses while the program is running.

If you've come to the conclusion that a web browser fits the classic definition of a standard application, while a program running on a Web Server sounds a lot like a CICS transaction, guess what: you're spot-on right.

So now that I've explained the technical differences I'll go on to part 2 of this posting.
Last edited by Tdarcos on Fri Oct 15, 2010 5:38 am, edited 2 times in total.
Alan Francis wrote a book containing everything men understand about women. It consisted of 100 blank pages.

User avatar
Tdarcos
Posts: 9333
Joined: Fri May 16, 2008 9:25 am
Location: Arlington, Virginia
Contact:

Advenures: application- or web-based?

Post by Tdarcos »

The distinction isn't really that clear, because Windows Applications are actually written in a way similar to a transaction monitor except the program isn't cleared from memory when waiting for input and not in use. A Windows application is supposed to be designed to run when a user-initiated "event" happens: a keypress, a mouse click, or other action. It's supposed to quit with a yield to the system when not doing this. With much more interactivity such as video or audio streaming many Windows applications no longer really do much waiting and they're more like the older interactive programs rather than transaction processors.

But text adventures appear to be perfect for use in a transaction monitor-style system. Original Adventure - "Collossal Caves" - was written for a series of mini- and mainframe- computers which did not run as transaction monitors, and instead displayed output and paused for input, waiting with the program in memory for the user to type in whatever they were going to say, then respond to that typed-in input.

I'd love to see Collossal Caves or especially Dungeon written as PHP applications that run over a web browser as I think they'd be perfect for this sort of situation. I'm considering it myself.

So now, here's the point: is it better to consider developing a text adventure or similar game for a transaction-based system such as a web-served application or is it still appropriate to use desktop-style "full-blown" applications for running a text adventure?

Now, one reason to support running a text adventure as a desktop application over web-based transaction processing can be due to the lack of need for an Internet connection if it runs as an application, but with the development of XAMPP - a package of Apache, MySQL and PHP/Perl for local running of a web server on their own computer - this isn't so much of an issue.

Thus someone can create an adventure game that runs in a web browser instead of having to run the game as a full-blown application on the desktop.

What's your opinion on doing it this way?
Alan Francis wrote a book containing everything men understand about women. It consisted of 100 blank pages.

Post Reply