IF Quake Takes Fragging To Whole New Level 257
Thanks to ShackNews for pointing to the impressive technical feats showcased at the unofficial IF Quake page, which bills itself as "...a port of id Software's Quake 1 engine to the Inform programming language." The site includes riveting in-game screenshots, and the FAQ page has important info on bugs with this genuinely playable, downloadable Alpha release, noting: "IF Quake interfaces directly with the Quake engine, which was obviously not designed for [this advanced] output. The errors you see related to audio and OpenGL are due to the fact that the engine is being tricked into thinking it's running normally." Rumors that John Carmack will be switching Doom 3 to this impressive new engine are yet to be substantiated, however.
Re:Oooh, funny and mysterious (Score:5, Interesting)
Re:See you in 24 hours. (Score:2, Interesting)
Re:FPS games are just not playable with text (Score:5, Interesting)
Genocide MUD (link [genocide.org]) was exactly that (well, it still is, but I haven't played it in 10 years). A multi player player killing game, insanely fast, using only text.
There'd be wars, like two teams, play until one team is dead, restart... or all vs all wars, etc. The game is a really nice MUD (text adventure style), with beautiful descriptions, monsters, treasure etc.
You run past the descriptions. The monsters explode on your entering the room, dropping their stuff, which you take immediately, to sell for weapons and healing, in the first half minute of the war.
The team play is quite complex, because of difference classes. I'm not sure if there are things like Mages in online FPS games yet? The mage could 'port' to other players, to help them defeat their opponent - or walk into a death trap. Mages were the most important position in the team, when I played.
Anyway, some of those nerds did 200+ commands per minute, without any sort of client (mostly w e n s of course, and you can make aliases). It was fast, it rocked, and it was exactly what you describe.
Re:Are the downloads real? (Score:3, Interesting)
Too bad I suck so bad at all these reading stuff, but for fun I tried to type "carmack" and "romero" and I got some feedback
I wonder what other little easter eggs are in this game.
Re:Inform programming language? (Score:2, Interesting)
There are many other IF languages, TADS being the most popular besides Inform.
There is still a thriving interactive fiction "scene" and some very interesting things are being done with the medium (Photopia, Galatea).
Re:Inform programming language? (Score:2, Interesting)
Sorry about the thin-to-nonexistant indentation, but the postercomment
compression filter makes it really hard to post source code segments:
Object fridge "refrigerator" kitchen2
with
name 'fridge' 'refrigerator' 'kenmore' 'freezer',
description "It's a Kenmore combination refrigerator and freezer.
The front is covered with irrelevant notes from days gone by.",
before [;
Take: "Oh, you ", (pbold) "want", " a hernia?";
Open: if (cupboard hasnt general) {
give cupboard general;
"You open the refrigerator, but there's no light inside.
Suddenly, you realise that nothing in the house is running.
In your worry, you had neglected to notice that your music
had stopped playing. The refrigerator isn't even humming.
The power must be out. You reclose the refrigerator to
keep it from loosing its cool. The only sounds are coming
from the storm outside -- storm? There wasn't any storm
earlier.";
}
"You don't want to open the refrigerator with the power out; if
it gets too warm in there everything will spoil.";
],
has openable container scenery;
This is a simple object, a refrigerator. Other objects and code may refer to
it as fridge. "refrigerator" is the hardwired short name, which is what it
will be called when the game is talking to the player, in the absense of a
short_name property. (Giving an object a short_name property allows you to
do more complex things, like change the name in mid-game, determine the name
each time on the fly with a routine, or cetera.) kitchen2 is the parent
object, in this case the "room" where the refrigerator is located at the
start of the game. (This particular object will _stay_ there, because the
scenery attribute prevents the user from carting it around. Normally the
static attribute is used for that, but scenery also prevents it from being
mentioned automatically, which is useful for objects that you want to mention
manually in room descriptions.) The name property contains dictionary words
that the player may use to refer to the object; more complex objects can have
a parse_name routine, but for the refrigerator the name property is good
enough. The description property in this case is a string, though it could
just as well be a routine; anyway, it's used when the user looks at the
object. The before property holds a routine that gets a crack at doing
whatever it wants just before an action happens, whenever the user attempts
something with the object. In this case, if the user attempts to take the
refrigerator the routine prints a snide remark (and, since it uses the
implicit print_ret feature, it returns true, which prevents the action from
taking place). If the user tries to open the refrigerator, an attribute on
another object is tested, and an appropriate message is printed (again, using
the implicit print_ret to return true and prevent the action). (What the
cupboard object has to do with the player knowing the power is an interesting
question; I don't remember, to tell the truth; this code is several years old,
and I have barely looked at it ad interim.)
This is a very typical segment of code. With just a little practice, Inform
code is very easy to read. The really great thing about Inform, though, is
not the language itself, but the Designer's Manual. The DM *rocks*. It's
one of the three or four best computer books I've ever read. Especially the
section on the world model, with the Ruins example code. You can download
it for free, or I suspect you can still get a print copy, though I've
forgotten where. (Go to Google groups and ask on rec.arts.int-fiction
and someone will know for sure.)