ProjectDreamland / game

Download the game here
29 stars 1 forks source link

New Area 51 Restoration Project is now available #10

Open Lulech23 opened 2 years ago

Lulech23 commented 2 years ago

Leaving this here seeing as this project appears to be abandoned. When I attempted to run the Project Dreamland version of Area 51, I was met with numerous issues on Windows 10. The launcher is totally broken, and bypassing it to get in-game still presents several issues.

As such, I took it upon myself to restore the game from scratch. I took a very different approach from Project Dreamland and focused primarily on fixing the game environment rather than modifying game code (although some modifications were unavoidable). The result is a much more streamlined, more sustainable version of the game that works well on current hardware and should continue to work well into the future!

And yes, online multiplayer works through OpenSpy!

See details and downloads here: https://lucasc.me/post/area-51-2005-windows-10-11-patches-guide

SilentMRG commented 2 years ago

Greetings!

And what are the requirements? I read that DirectX 9 is translated to Vulkan or something.

Unfortunately, I'm stuck on a Laptop with an Intel HD Graphics 1000 that only supports DX 9 or DX 10.1.

Thanks in advance!

Lulech23 commented 2 years ago

Wrapping to Vulkan is the only way I found to solve frame pacing and frame limiting. But you can also use WineD3D as a fallback. Just copy d3d9.dll and wined3d.dll to the game directory and overwrite.

andrewmd5 commented 2 years ago

Cool stuff. The reason for the lack of updates on Project Dreamland is I actually acquired the original source code, so I've been working on a Vulkan port of the original engine.

I'd recommend applying your DLL hacks to the artifacts included in the releases for 1.1 of Project Dreamland as it has some crucial fixes that prevent crashing. (you can launch A51.exe by appending --launcher)

Lulech23 commented 2 years ago

Hey, glad to know the project isn't abandoned! I kept my patches separated between the base game, fixed executables, wrappers, and controller support, so people can apply them to either the original or Project Dreamland versions of the game!

SilentMRG commented 2 years ago

Wrapping to Vulkan is the only way I found to solve frame pacing and frame limiting. But you can also use WineD3D as a fallback. Just copy d3d9.dll and wined3d.dll to the game directory and overwrite.

And can I apply the DLLs plus gamepad support in Project Dreamland or do I need to do a clean install to apply them?

Thank you again!

Lulech23 commented 2 years ago

You can apply my patches to either version of the game, but I would recommend sticking to the clean install until Project Dreamland is updated. My patches also solve crashes, so you don't need to worry about that.

andrewmd5 commented 2 years ago

My patches were specifically done to fix crashes caused by long-standing bugs in the base game. The base artifacts in my release work fine, the launcher is just broken. You can bypass it entirely.

On Tue, Dec 14, 2021 at 10:57 AM Lucas C @.***> wrote:

You can apply my patches to either version of the game, but I would recommend sticking to the clean install until Project Dreamland is updated. My patches also solve crashes, so you don't need to worry about that.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/ProjectDreamland/game/issues/10#issuecomment-993883671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ4VNNUCYC6LTOIKPIWELLUQ6HSXANCNFSM5J7ZW6WQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-- Andrew Sampson, CEO. Rainway, Inc. rainway.com @AndrewMD5 https://twitter.com/AndrewMD5

andrewmd5 commented 2 years ago

Also I’m fine with you advertising your collection and workaround but your messages are coming off rather condescending; your blog post says my project was “over engineered” which I take issue with. My goal was long term preservation through rewriting backend infrastructure rather than relying on opaque services.

On Tue, Dec 14, 2021 at 10:59 AM Andrew Sampson @.***> wrote:

My patches were specifically done to fix crashes caused by long-standing bugs in the base game. The base artifacts in my release work fine, the launcher is just broken. You can bypass it entirely.

On Tue, Dec 14, 2021 at 10:57 AM Lucas C @.***> wrote:

You can apply my patches to either version of the game, but I would recommend sticking to the clean install until Project Dreamland is updated. My patches also solve crashes, so you don't need to worry about that.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/ProjectDreamland/game/issues/10#issuecomment-993883671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJ4VNNUCYC6LTOIKPIWELLUQ6HSXANCNFSM5J7ZW6WQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-- Andrew Sampson, CEO. Rainway, Inc. rainway.com @AndrewMD5 https://twitter.com/AndrewMD5

-- Andrew Sampson, CEO. Rainway, Inc. rainway.com @AndrewMD5 https://twitter.com/AndrewMD5

SilentMRG commented 2 years ago

You can apply my patches to either version of the game, but I would recommend sticking to the clean install until Project Dreamland is updated. My patches also solve crashes, so you don't need to worry about that.

Thank you very much for all the clarifications!

SilentMRG commented 2 years ago

AndrewMD5 and Lulech23,

You are talented programmers who are concerned with preserving a true classic abandoned by the parent company: Midway Games.

From my humble point of view, what is right is for you to join forces and work together on the project. Each one did what they could and the union of their parts will deliver an exceptional result!

All the best ever!

Lulech23 commented 2 years ago

@AndrewMD5 Definitely no offense or "advertising" intended—I simply saw that this project has not been updated in years, and until today, open issues had no response. Seeing as this repo is referenced just about everywhere as the place to find updated info on the game, it seemed posting here was most likely to help people looking for a fix.

Unfortunately, even working around the launcher did not fix all the issues with the game for me, plus the glaring intro replacement didn't sit well. I also do feel that the launcher in its present state is far too complex for what it should be (as evidenced by the very fact its compatibility is easily broken). This is not intended as condescension, but as analysis from one engineer to another. (You will notice I also complimented your work in my article!)

Looking forward to your source port!

SilentMRG commented 2 years ago

Lucas, I just tested your patch with d3d9.dll and wined3d.dll plus the files that come in your patch, and unfortunately, it didn't work. Afterwards I tried to copy all the contents of your patch (without changing anything) and I got a Vulkan1 DLL missing error. As I said earlier, I'm stuck on a cart with Intel HD Graphics 1000 and your patch won't work here, it's too bad.

Changing the subject, have you heard or read about the Classic REbirth project? Take a look here: https://appleofeden.de-doc.com/ I am recommending this project to you because it is very similar to yours in DLL architecture and it is not invasive in the game code. The interesting thing about this project is that Gemini did and does everything in DirectX 9. Maybe this project will help you to develop (if you want) a 100% DX9 patch for carts like my Laptop, hehehe.

Cheers!

Note: There is also this patch for the Metal Gear Solid 2 Substance game: https://github.com/VFansss/mgs2-v-s-fix

The programmer did amazing things with this patch and respected all or most of the game's architecture without having to mess with a line of original code. Another awesome project! And a highlight is that the API used is the DirectX 8, same that comes with the game.

Lulech23 commented 2 years ago

The approach may be similar, but the underlying code is completely different. Looks like a great project, though! Just not really applicable to Area 51.

For a 100% DX9 solution, you could delete d3d9.dll entirely. You will still get most of the fixes, but there may be issues with fullscreen, textures, and frame pacing. Or there may not be—Intel HD Graphics 1000 is old enough that it may be more compatible. Intel's older GPU drivers are nothing if not unpredictable, so there's pretty much only one way to find out.

I don't really see patching up DX9 as a great path forward. OpenGL (WineD3D) and Vulkan (DXVK) will provide much broader support on the devices that need it most. Older devices should be able to just use the original DX9.

SilentMRG commented 2 years ago

I understand all your words. Really, the Intel graphics chip I have here is pretty old, from 2011. I tried to erase d3d9.dll and what you said really happened: the frame rate was a hell of a lot low and the textures were all blurry. It is a pity...

Hey, I edited my comment and added another project for you to take a look at.

And then take a look at Gemini's Twitter because there he's been posting about the restoration of the Dark Earth game.

Thanks for your attention!

Levan7 commented 1 year ago

@AndrewMD5 Still waiting for your 1.2 release love when source code gets cleaned. Sad that more people aren't interested in this game to help you out with the development

ArabianPrynce commented 1 year ago

I cant run the game, whenever i click new campaign the game goes to black screen then it closes

andrewmd5 commented 4 months ago

@Lulech23 https://github.com/ProjectDreamland/area51

Lulech23 commented 4 months ago

@Lulech23 https://github.com/ProjectDreamland/area51

Fantastic! Thanks for making this public!