Jump to content

Home

Introducing DREAMM 1.0 beta


Aaron Giles

Recommended Posts

Hi all,

 

If you read my recent interview here, you may have caught on that I've been working hard on a new emulator that is specifically designed to run all the classic SCUMM games (DOS versions, plus Curse of Monkey Island).

 

Well, the time has come for me to reveal more. The emulator is called "DREAMM", which is a backronym for "DOS Retro-Emulation Arena for Maniac Mansion (and other LucasArts SCUMM Games)". It's been in private beta for a couple of months and is looking pretty solid at this point.

 

You can download the latest release and read all the documentation on the project here:

 

https://aarongiles.com/dreamm/

 

At the moment, the project is Windows-only (sorry!), but it runs all the DOS versions of the games (plus CoMI) quite reliably. Give it a try, and let me know how it works for you! I'll keep an eye on this thread, plus my twitter feed (@aaronsgiles) and the official email address dreamm@aarongiles.com for feedback.

 

Important note: you will need a complete install of the games you want to run, including the original DOS executable files. This is similar to what's needed when running the games in DOSBox. Some of the GOG versions of the games include them (DREAMM can detect this), some don't. None of the Steam releases do, sadly. 😔 But DREAMM can help you install everything from original media if you still have them!

 

Have fun!

Aaron Giles

Edited by Aaron Giles
  • Like 4
  • Thanks 15
Link to comment
Share on other sites

This is incredible. Thank you so much!

 

Also, as a longtime LucasArts adventure game fan who grew up playing the Macintosh ports of their games, let me extend my heartfelt thanks to you for coding most of those ports. The DOTT port including the previously-unported Maniac Mansion in particular was crazy brilliance. :D

  • Like 4
Link to comment
Share on other sites

Whoa! This is amazing! Thank you from the bottom of my heart!

I just booted up CMI in ScummVM for a playthrough yesterday, but now I kinda want to run it on DREAMM. Too bad I don't have a Windows PC.

Can't wait for a mac version of your software, so I can run it too!

  • Like 2
Link to comment
Share on other sites

I just need to go on record and say how happy I am that DREAMM exists. It's already my preferred method for playing the LucasArts adventure games, just so easy and hassle-free. Thank you Aaron! 

  • Like 1
Link to comment
Share on other sites

9 hours ago, Udvarnoky said:

This is a gift. I'm particularly grateful you went beyond your original charter to bring CMI into the fold. Never thought I'd see those Save/Load screens again.

I wanna see them again, too. So a Mac version would be awesome! :)

 

Nice project. :)

  • Like 2
Link to comment
Share on other sites

The essential difference is that DREAMM relies on the original interpreter (the .exe), while ScummVM replaces it, trying to replicate its behavior -- which, given a talented and fastidious engineering team plus 20 years, it does remarkably well. But DREAMM will get you total accuracy to the original experience, or as close as you are going to get short of physically building a vintage IBM with a Roland MT-32, plus the streamlined convenience you won't get from a general-purpose DOS emulator. In addition, some of the UI stuff in the SCUMM games (such as save/load screens and the displays for pause and quit confirmation) were built in to the .exe, which is why ScummVM has to provide its own generic replacements. With DREAMM you'll see all that stuff as it was, which is cool because sometimes there were unique images (Maniac Mansion save screen) or information (the Indy Quotient on the Last Crusade save screen) involved.

 

There's all kind of other little things that would be difficult to thoroughly catalog. For instance, ScummVM lifts some restrictions on when you can save. Thanks to Aaron's efforts, future generations will no longer be deprived of the sacred terror of being told the Meteor has control of your computer when you try to save in Dr. Fred's lab!

 

ScummVM is still unbeatable in terms of platform independence and being able to run any given version of these games. If you wanna run FM-Towns Loom or Nintendo Maniac Mansion on your toaster, there is no substitute. DREAMM is ideal if you're more of a stickler, happen to be a Windows user, and are playing the DOS-based versions of these games (or CMI). The two programs really complement each other quite well in my opinion. DREAMM is much more a replacement for DOSBox than ScummVM.

 

What's unfortunate is that many people will be denied DREAMM as a (legal) option. The official versions of these games as sold nowadays (that is, through GOG/Steam) mostly leave out the .exes because they come bundled with ScummVM. It's annoying to think that paying customers are getting incomplete filesets, but Lucasfilm probably made the unfortunate assumption that they would be moot to the end user. I wonder if something could be done about that if the situation was brought to the attention of the right people.

  • Like 4
Link to comment
Share on other sites

This is SO great!! :D

I agree though, GOG and Steam should start supplying the EXE files at some point!

The one thing that stood out for me is the suggestion box for the copy protection screen! That's insane and so cool! How did you do it? Is screen scraping involved in some measure?

 

I am hoping this can be open sourced at some point, both for the educational value (you are a very experienced programmer and I'd have a lot to learn from your code), both for easier long term support and port developing.

 

Also, I'm really glad this exists, this is fuel for some very healthy "competition" (even though I'd say this is not the right term): I now have this itch that I really want to scratch, which is implementing the original GUI and menu for COMI in ScummVM, and I have already begun the RE works for it :)

  • Like 1
Link to comment
Share on other sites

14 hours ago, ATMcashpoint said:

Also, as a longtime LucasArts adventure game fan who grew up playing the Macintosh ports of their games, let me extend my heartfelt thanks to you for coding most of those ports. The DOTT port including the previously-unported Maniac Mansion in particular was crazy brilliance. :D

 

Yeah, those were good times. I'm a completist, so no way Maniac Mansion wasn't coming to the Mac! I knew marketing would never go back and let me do Maniac and Zak as standalone releases for the Mac, but I figured I could at least slip Maniac in through the back door. 😁

 

1 hour ago, AndywinXp said:

The one thing that stood out for me is the suggestion box for the copy protection screen! That's insane and so cool! How did you do it? Is screen scraping involved in some measure?

 

Yes, screen scraping is involved. As a result, it has some imperfections. For example, if you move the mouse around sometimes you can get it to glitch (at least for some games). And if you look at Dr. Fred's plans in the CD version of DOTT (which has no copy protection) it will still suggest options to you.

But it sure made development a lot easier once it was in, because I insisted on trying to always run the true originals and not the "cracked" versions that are floating around.

 

1 hour ago, OzzieMonkey said:

I'm curious...has anyone tried to run the Ultimate Talkie Editions of MI1 and 2 on this? Would it even be able to call the monster.sou files and play the speech? 

 

Ultimate talkie versions are explicitly supported. You have to build the DOS versions as explained on his site, but if you do, they run well.

  • Like 5
  • Thanks 4
Link to comment
Share on other sites

4 hours ago, Udvarnoky said:

In addition, some of the UI stuff in the SCUMM games (such as save/load screens and the displays for pause and quit confirmation) were built in to the .exe

 

They actually weren't. Ever since Maniac Mansion on PC, save/load screens have been rooms with SCUMM scripts like everything else (heck, I think in the case of save/load that wasn't even hardcoded on C64 - can't check now, though). (ETA: Well, except for SCUMM 5-6, where they aren't rooms). But other than that, great summary of the differences. 😁

Edited by Serge
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Aaron Giles said:

Yeah, those were good times. I'm a completist, so no way Maniac Mansion wasn't coming to the Mac! I knew marketing would never go back and let me do Maniac and Zak as standalone releases for the Mac, but I figured I could at least slip Maniac in through the back door. 😁

 

One thing I found interesting is that while most Mac versions (that I've seen) stick pretty close to their DOS counterparts, Loom and particularly Indiana Jones and the Last Crusade were much more different in appearance. I don't know if you had anything to do with either of those two, though.

Link to comment
Share on other sites

15 minutes ago, Torbjörn Andersson said:

 

One thing I found interesting is that while most Mac versions (that I've seen) stick pretty close to their DOS counterparts, Loom and particularly Indiana Jones and the Last Crusade were much more different in appearance. I don't know if you had anything to do with either of those two, though.

 

No, that was my predecessor, Eric Johnston. He did quite a lot of Mac customization to make the games run nicely on the early Macs. I took a more straightforward "as-is" approach to porting, which I could do because Macs of my era were high-end 680x0 or PowerPC based and had better graphics options than the equivalent-era PCs.

 

I also always felt like Mac support was on the edge of being cut 😬, so I worked hard to make sure all the games I worked on required no intervention from the original teams.

  • Like 1
Link to comment
Share on other sites

I've had high hopes for this ever since I read the interview where it was first mentioned, but this looks even better than I anticipated. Absolutely amazing; thank you so much.

 

I read the documentation from top to bottom, and I have a quick question: how is scaling to modern resolutions handled when the Smooth Graphics option is not enabled? Does it use nearest-neighbor filtering? Bilinear filtering? Pixel-perfect scaling?

 

A feature I really appreciate in both ScummVM and DosBox is that they allow you to combine both nearest-neighbor and bilinear filtering. In fact, although this was changed recently, I think the "traditional" ScummVM default was to use nearest-neighbor to double the game's original resolution (320x200), and then upscale the result of that with bilinear filtering to match the desktop resolution. This way, the image is blurred a bit to reduce blockiness, but not as much as if you were to only use bilinear filtering (you can also adjust this by choosing to triple the game's original resolution instead of doubling it, for example).

  • Like 1
Link to comment
Share on other sites

Yeah, I wanted to post a scaling related question too but Groggoccino already did so I have only one thing: are there plans to support high res asset replacement? Some emulators are doing wonders with AI upscaled texture packs.

  • Like 1
Link to comment
Share on other sites

8 hours ago, Groggoccino said:

I read the documentation from top to bottom, and I have a quick question: how is scaling to modern resolutions handled when the Smooth Graphics option is not enabled? Does it use nearest-neighbor filtering? Bilinear filtering? Pixel-perfect scaling?

 

As it ships now, you are getting the raw image pixel-doubled to 640x400 or 640x480 (depending on aspect ratio correction), and then expanded by Windows GDI to the size of the window. GDI doesn't do bilinear filtering, so you will get "chunky" (nearest-neighbor) results.

 

The only filtering you'll see today is if you enable aspect ratio correction (which is on by default). In this case, when expanding 320x200 screens to 640x480, DREAMM uses a fast and simple bilinear filter to expand each scanline, so you will see some software filtering.

 

I just finished making some updates for the next beta that will expand/improve on this. To wit:

 

1. I have added an "integral scaling" option, which, when enabled, ensures that the screen is only ever stretched horizontally by an even multiple. The screen will be centered within the window at the largest even scaling factor that will fit. If aspect ratio correction is disabled, this will give you pixel-perfect scaling.

 

2. If aspect ratio correct is enabled, DREAMM will now internally scale up to 4x in software. This means that the vertical bilinear filtering it applies will be less apparent than it is today (since I only scale 2x before expanding).

 

3. I have changed the logic to stop using the internal aspect ratio correction altogether once the scale factor gets above 4x. For a 320x200 game this means that once you hit 5x (which is 1600x1200 with aspect ratio correction and gives pixel-perfect results in the correct aspect), you will no longer see any bilinear filtering at all. At this scale factor the unevenness of nearest neighbor starts to become less distracting.

 

4. I have hooked up epx3 and epx4 smoothing algorithms so that if you have smoothing enabled and scale to 3x or 4x you will get even more smooth graphics. I have also enabled it for CoMI if you are running high enough resolution.

 

Beyond this, if I wanted to offer bilinear filtering, I could switch to using Direct2D for rendering, but I'm not sure I want to go there. With the above changes I'm pretty happy with the way things are presented, but we'll see what everyone thinks once the next beta is released.

Edited by Aaron Giles
  • Like 1
  • Thanks 4
Link to comment
Share on other sites

3 hours ago, Zaxx said:

Yeah, I wanted to post a scaling related question too but Groggoccino already did so I have only one thing: are there plans to support high res asset replacement? Some emulators are doing wonders with AI upscaled texture packs.

 

No, sorry. First of all, not interested in enhancements. And secondly, doing that kind of a hack is much more feasible in an interpreter-level emulator like ScummVM than it is on a machine-level emulator like DREAMM.

  • Like 1
Link to comment
Share on other sites

It seems slightly antithetical to allow things like asset replacement in DREAMM to me anyway. If you are interested in playing modified versions of the games I think ScummVM can handle that adequately, but DREAMM is more about replicating the original experience? 

Link to comment
Share on other sites

There is precedence for DREAMM supporting modified versions of games, such as Ultimate Talkie, which Aaron may or may not be willing to extend to other games. I guess the point is that it isn’t DREAMM itself doing or facilitating any sort of enhancement — it’s just running the games.

Link to comment
Share on other sites

7 hours ago, Thrik said:

There is precedence for DREAMM supporting modified versions of games, such as Ultimate Talkie, which Aaron may or may not be willing to extend to other games. I guess the point is that it isn’t DREAMM itself doing or facilitating any sort of enhancement — it’s just running the games.

On that note the only thing I'd like to see being supported is you know, the missing one: EFMI. Nowadays running it got a lot easier thanks to dgVoodoo2 (and you can even increase the game's resolution with it without breaking anything so you get nice, smooth, crisp MI4, the way it's meant to be played) but the shadow rendering is a bit broken with it so it's not a perfect solution.

Edited by Zaxx
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...