This is just a question, not a request.

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
Smothermunchie
Posts: 96
Joined: Fri Mar 30, 2007 10:00 pm

This is just a question, not a request.

Post by Smothermunchie »

Okay, so I'm just wondering if it were at least "theoretical" to create an interpreter for strictly rogue type games such as Nethack, Angband, Ancient Domains of Mystery, etc.?

I know that there's Dosbox, but that doesn't seem to get ported like Scumm can with it's universal flexibility.

With any new device that comes out now days, you tend to find a Scumm port that quickly follows. I'm still waiting for the day when you guys will release a version for my toaster. :)

So, again, this isn't a request, I'm sure you get crazies asking for the weirdest junk all the time. I'm only asking would a universal interpreter be possible for these types of text based games.

Thanks guys. :)
NLS
Posts: 127
Joined: Sun Jan 08, 2006 4:43 pm
Location: Greece
Contact:

Post by NLS »

I cannot reply for the SCUMMVM team but the one thing I notice in your question/request is that you don't pay attention in a simple thing: SCUMMVM uses "engines" that interpret in a way scripted scenarios.

I doubt the games you mention use any formated and documented generic engine (by generic meaning able to be used for different scenarios). Some of them maybe, but still doubt it.
User avatar
sev
ScummVM Lead
Posts: 2308
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: This is just a question, not a request.

Post by sev »

Smothermunchie wrote:I'm only asking would a universal interpreter be possible for these types of text based games.
Universal? No. All these games have hardcoded logics. Though, due to nature of Common Lisp, there was attempt to create tunable rogue game (Langband).

Speaking of portability, the main advantage of ScummVM is OSystem, and there needed only a small step to make our plugin system truly plugin, i.e. when you will be able to develop and compile independent engine plugin and then just point ScummVM to it. Then you will get all that portability for "free".


Eugene
User avatar
Noelemahc
Posts: 178
Joined: Sat Jul 07, 2007 2:24 pm

Post by Noelemahc »

Correct me if I'm wrong, but don't they all already have ports to a gazillion platforms (including, but not limited to, GameBoy Advance of all things)? Granted, I wouldn't say 'no' to NetHack on my mobile :)
Smothermunchie
Posts: 96
Joined: Fri Mar 30, 2007 10:00 pm

Post by Smothermunchie »

Correct me if I'm wrong, but don't they all already have ports to a gazillion platforms (including, but not limited to, GameBoy Advance of all things)? Granted, I wouldn't say 'no' to NetHack on my mobile
Yeah, this is true, at least with Nethack for the most part. The thing is, most of these ports come with the insane developer's bizarro interpretation of how they would like the game to function. I have yet to see something purely true in regards to the original creators' conception of their own project.

Here's a picture of the port for the Nokia Internet Tablet and it took the programmer almost a year to do this.

Image

Okay, so there's no keyboard, and if you look closely enough, everything has a scrollable toolbar attached to it.

Sure it looks pretty, but it plays out for crap. :(

So Nethack gets ported from here and there, but not the way it probably should be intended. Angband, well, not so much even though the creators insist that it takes less than 100 lines of coding to port it to any device. There was a Nintendo DS port for Angband in the works, also a Nokia Internet Tablet version, but both were dropped shortly thereafter and never were completed for reasons unknown. As far as A.D.O.M. goes, never seen a port and it's doubtful it will ever happen.

So that's why I was curious about porting and game interpreters. I guess I'm having a hard time understanding what makes the Scumm engine code so uniquely special.

Sorry if this is way off topic here, it just seems like the developers here at Scumm know something more about gaming that the rest of the world doesn't understand.

Thanks again for any replies to this. :)
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3561
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

Smothermunchie wrote: So that's why I was curious about porting and game interpreters. I guess I'm having a hard time understanding what makes the Scumm engine code so uniquely special.
The SCUMM games aren't written directly for DOS, Macintosh or whatever. They're written for an imaginary computer -- a Virtual Machine. That means that almost all aspects of a game like The Secret of Monkey Island is stored in machine-independent data files. The executable file simply interprets the data files. ScummVM is a replacement for the original executable file. (So it has nothing to do with emulating DOS the way DOSbox does.)

Ideally, that means you just have to port one relatively simple program to port your entire catalogue of games to a new architecture. In reality, the virtual machine may evolve as new games require new features.

This is not a new idea, of course. The earliest example I can think of (when it comes to games, at least) was Infocom's Z-Machine, but the idea was probably old even back then. Infocom's games were, incidentally, available for a wide range of different computers.

With a game like NetHack, most aspects of the game are hard-coded into the executable. Some things (special levels, fortune cookies, etc.) are stored in data files, but the data files alone will get you almost nowhere. To run the NetHack executable on another computer than the one it was compiled for, you would have to emulate that computer.
Retrogamer
Posts: 18
Joined: Sun Jan 27, 2008 5:48 pm
Location: Richmond, Virginia, United States

Post by Retrogamer »

Langband is, if I recall correctly, full of portable code. They have a build for Debian, Windows, and the whole thing is written in LISP, meaning it's OS independent. What platform are you looking to get a rogue-like to run on? I bet there are plans to get something similar running on multiple platforms and such, though I doubt there will be as many ports as there are for ScummVM because, let's face it, ScummVM rocks.

You can actually pick up the source code for one of the original rouge-likes Angband here: http://rephial.org/release
Post Reply