Falcon's Eye: a Make-over for Nethack
chromatic writes "Howard Wen has written two pieces on Falcon's Eye (an alternate interface for Nethack). The first is a description of Falcon's Eye and its features. The second is an interview with Jaakko Peltonen, the project's creator."
I know slashdot is a little slow with the news, but holy crap. Falcon's Eye comes with Mandrake. And I'm almost 100% sure it's been there since version 7 or 8 at least. This is YEARS old. Falcon's eye is pretty cool, but any nethack purist will dismiss it as total crap.
notice the most recent update to the site is almost
a year
stale
and despite how nice the screenshots look, there's no animation. chess boards are more exciting
wouldn't it be nice if when the message "The gnome drinks a bubbly potion" appears, you actually saw him do it?
but nethack code isn't designed for that as it stands.
even the sounds effects are a kludge
(it just watches the text output for "You hear a X")
and as far as I know, no one's working on this,
at all.
monkeys.
Published on The O'Reilly Network (http://www.oreillynet.com/)/ falconseye.html
http://www.oreillynet.com/pub/a/onlamp/2003/01/02
See this if you're having trouble printing code examples
Falcon's Eye: The Making-Over of Nethack
by Howard Wen
01/02/2003
Nethack is one of the oldest and most acclaimed games in the history of open source software. It's also, quite frankly, dull looking. This single-player, Dungeons & Dragons-inspired game presents immersive dungeons, though it represents walls, monsters, items, and everything else with simple ASCII characters. Your player character, for example, is @.
Enthusiasts of NetHack with programming skills have devised various graphical overlays to enhance the game's look. These "windowing interfaces" essentially replace each ASCII characters with a bitmapped image. Your @ becomes a graphic of a warrior or wizard, and the various keyboard symbols that comprise a map are replaced with colorful tiles to form what actually looks like a dungeon layout. Most of these interfaces perform a make-over of NetHack with flat, 2D graphics, but some also present a pseudo-3d look.
Falcon's Eye aims for a much more sophisticated transformation, visually and otherwise. It overlays the ASCII characters with detailed graphics presented in an isometric 3D perspective -- accompanied with animation, sound effects, and music -- for the dungeons, player characters, creatures, and items. This particular windowing interface also adds mouse support, tooltip information for creatures and items, shortcuts for several keyboard commands, and many customization options. Falcon's Eye coats NetHack with so much eye candy that it makes the visually minimalist game look, sound, and play almost like a commercially produced role-playing title.
NetHack's steep learning curve and crude non-graphics turn away many users. That motivated Jaakko Peltonen, the 25-year-old from Finland who created Falcon's Eye. He works as a researcher of neural networks at Helsinki University of Technology. "Text-based games may not seem so appealing to computer gamers nowadays. On the other hand, I knew that NetHack's game content was varied and interesting," says Peltonen. "It seemed natural to upgrade the graphics, in order to better appreciate the game play."
Working with NetHack's Friendliness Toward User Interfaces
Peltonen originally developed a self-standing engine for displaying isometric graphics, then grafted it onto NetHack so he could incorporate his other creative skills -- drawing and sound composing. Falcon's Eye has, thus far, been solely his work in terms of its design, artwork, and programming. However, many people have sent him suggestions, bug reports and fixes. Others submit art and sound effects, which are usually added to the latest releases.
While there are several patches available which alter NetHack's game play, Falcon's Eye itself doesn't provide such changes. It does add some helpful features, like a path-finding "autopilot" algorithm to help the player character navigate long distances, but the windowing interface remains strictly compatible with the official releases of NetHack. "If Falcon's Eye were to have changes [to NetHack], they might be redundant or contradict other modifications. NetHack has been developed over many years, so many people prefer the game play in its current form," says Peltonen.
He was pleasantly surprised to discover how well NetHack's code had been arranged to accommodate different user interfaces. NetHack assumes very little about the user interface: the game tells which dungeon maps and messages to display and what to ask from the player, but leaves the implementation details to the interface. "This versatility helped a lot to create Falcon's Eye," says Peltonen. "If NetHack had been tied to a character-based interface, I might have needed to work around it a lot. Thankfully, this was not the case."
Like NetHack itself, Falcon's Eye is programmed in C, except for a few system-dependent functions that require C++. It uses various graphics, sound and input libraries: SDL for the Linux and BeOS versions and DirectX for Windows. Aside from linking with these libraries, the code of Falcon's Eye is original.
One challenge in designing Falcon's Eye was making its code "system-independent" as much as possible, so it could be used under different operating systems. "[Achieving] this is often difficult with game programs, since they use graphics and sound extensively," says Peltonen. "As a result, Falcon's Eye has 'wrapper functions' for all the graphics, sound, input tasks it needs. These then call DirectX, SDL or whatever is needed."
Peltonen managed to narrow down such system-dependent code to a few files. To port his NetHack GUI to another operating system, you only need to create new versions of these files, instead of having to rewrite everything.
Implementing the mouse interface was another programming challenge. The NetHack game control scheme is oriented toward the keyboard, so Falcon's Eye's code has to incorporate work-arounds to make mouse inputting work. "If you right-click an in-game creature or item, Falcon's Eye opens a context menu with possible actions, such as 'Open' or 'Kick'. NetHack doesn't have built-in support for such menus, so Falcon's Eye creates them on its own, and translates your choices to keyboard commands," explains Peltonen.
It's Another Way to Look at NetHack
In future versions, Peltonen plans to add more options for user-customization of Falcon's Eye. The current release allows you to configure the keyboard commands and add sound effects without the need of programming skills. But he wants to make it so players can also create their own graphics for the game.
Some have reported difficulty compiling and installing Falcon's Eye, which its creator admits should be a simpler process. This is because NetHack has several options available for its installation, which, combined with Falcon's Eye's own, can make getting the game up and running more complicated than it ought to be. "The default settings are often enough, but I still hope to make the installation and customization easier in the future," says Peltonen.
As dazzling as his Falcon's Eye is, he doesn't mean for it to replace the other, more established NetHack windowing interfaces. Instead, he sees it as another novel method for players to see and interact with NetHack. Though he's not working on such a thing, Peltonen envisions that an application or patch for NetHack which would enable the NetHacker to switch from Falcon's Eye to another NetHack GUI would be beneficial to the NetHack community.
"Ideally, one could switch between these various interfaces at will during the game, much like some computer programs have changeable 'skins,'" says Peltonen. "That way, players who are accustomed to one interface could still view how a particular game situation would look in the other interfaces. Currently, this isn't possible, but hopefully it will be in the future."
Getting Away from the Heart of NetHack?
Falcon's Eye doesn't just show a different "view" of NetHack. Though the game play itself is technically the same, you have to keep reminding yourself of this as you play because it simply "feels" different from NetHack. This raises the question of how much the candy-coating alters a player's perception of the game. NetHack's ardent fans love it for focusing squarely on game play. In a way, it's a reduction of computer gaming to its basic elements, right down to the ASCII symbols. With GUIs like Falcon's Eye, how much becomes too much, detracting from the heart of NetHack?
"One could in theory create a full 3D interface with a rotating/zooming view and so on," says Peltonen. "Would such additions improve or harm game play? The overall experience is what matters. I believe the graphical overlays are a useful middle ground, each with different amounts of changes. All [of them] leave room for the player's imagination as well."
Howard Wen is a freelance writer who has contributed frequently to O'Reilly Network and written for Salon.com, Playboy.com, and Wired, among others.
The lameness filter almost certainly wont let someone post an authentic screenshot, even though you could as it's purely text based.. This link has a "screenshot" of what a typical screen might look like.
Falcon's Eye does have a brother in glHack.
Although top-down instead of isometric view, I find it much nicer.
my
This should explain it (if it isn't /.'d first).
Nethack is a game very much in the tradition of Rogue, so much so that it (and its bretheren like Crawl, Angband, and Omega, to name a few) are called "roguelikes".
A roguelike generally has the following features:
We who were living are now dying
With a little patience
> Anybody know what NetHack's relation to Rogue is? The games are incredibly similar.
Basic answer here and here. You should be able to find more by googling for roguelike.
Sheesh, evil *and* a jerk. -- Jade
Falcon's Eye was one of those nifty BBS door games like Usurper, Legend of the Red Dragon, Tradewars, et al. It came from the same author as the great BRE (Barren Realms Elite). Next time I name something I'm checking Google first....
From the Nethack Guidebook (ships with at least the official sources from nethack.org):
- fader
Just found this tree diagram which describes the state of evolution from Rogue to Nethack.
make world, not war
There is no such thing as 'original pong code', as the original pong was discrete TTL chips. DUH!
Substantial character death. No saving, except to stop playing for the night and to come back in the morning. When you die, you _die_.
Or, when you die, you reload the other save file you had to manually duplicate the last time you were out of the game.
Maybe I wasn't very hard-core to be 'cheating' in this fashion, but that's how I killed the Balrog and beat Moria (the superior colored-font version on the Amiga) a decade ago.
I'm an avid Nethack player, and I tried Falcon's Eye for the first time recently.
I could barely work out how to move. The isometric layout is HORRIBLE. I couldn't even get through doors.
When somebody decides that they need not-particularly-pretty raytraced graphics to make up for what their imagination can't deal with, it's time that they tried reading a book. One without pictures.
Nethack and Falcon's Eye are both currently competing for Best Free Role Playing Game and Best Free Linux Game in the Happypenguin Awards. Nethack was also nominated for Most Unique or Original Game, which seems a bit of a stretch to me. 10 or 15 years ago maybe it was original, but today?
How is this better than Egoboo?
I'd have to reccomend Fallout 1 and 2, sure you do have a goal you need to complete, but the way you do it and the methods you employ can be radically different. Still are my favorite PC Rpg games. You can get both games in a valupak for pretty cheap now.
Bork Bork Bork!!