Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assets from the remasters #18239

Open
satcom886 opened this issue Jun 5, 2020 · 42 comments
Open

Assets from the remasters #18239

satcom886 opened this issue Jun 5, 2020 · 42 comments

Comments

@satcom886
Copy link

satcom886 commented Jun 5, 2020

I'm probably not the only one who thought about this and I didn't find any statement/post/issue addressing this.
Is it planned to include support for using the textures/sounds/music from the newly released remasters? It would be nice to have that, because I've already seen a few people complaining about limited options in comparison to OpenRA. Plus I only have Linux and I'm not buying the game until I know for certain that it will work with Proton. If OpenRA plans to support the remastered assets I would also buy it, just for the assets.

@kingo55
Copy link

kingo55 commented Jun 6, 2020

@satcom886 I played for 3 hours today on Linux/Steam - it ran flawlessly out of the box. Didn't even need to change Proton versions.

The textures, sounds and music are amazing. I just wish the gameplay/balancing was up to scratch with OpenRA. It's worth buying for the assets alone if we can import them into OpenRA.

Even if we can only import the music, it'd be worth it.

@abcdefg30
Copy link
Member

abcdefg30 commented Jun 6, 2020

There are a few things to consider here:

@KOYK
Copy link
Contributor

KOYK commented Jun 6, 2020

I don't know, I mean clearly EA tried hard this time to make us like them.
And I am talking about the released remaster source.
What they ask for return is to pay for the time, graphics and the sound they put in the game.
I don't think it will be wise to do this (what the OP recommended), at least not now that they took the effort to please us for once. And try as much as possible for them to listen to us, the consumers.

I am not an EA fun boy especially after cnc4, quite the opposite, but since they tried, I want to keep it that way. And maybe who knows they might continue in this path if it works for them.

@scrobbleme
Copy link

scrobbleme commented Jun 6, 2020

I would love to see the new assets in OpenRA as well. Played the remaster for a couple of hours now.

Looks good, but gameplay is waaaayyyyy better in OpenRA.

@satcom886
Copy link
Author

satcom886 commented Jun 6, 2020

@kingo55 Thanks for the confirmation! I'll buy the game sooner or later.
@KOYK At the end of the day, does it really matter if you buy the game to play it or just to get access to the new assets? This may sound a little rude against EA, but either way, they get their money. You would still have to own the game to use the new assets, I'm not asking for them to be freely downloadable...
@abcdefg30 Yes... everything you listed might be problematic...

@mabulsoud
Copy link
Contributor

mabulsoud commented Jun 6, 2020

I agree with what @KOYK said. I would also add the openra renderer doesn't support full rgba assets with remaps and engine effects or a way to process .tga and .dds files.

@betam4x
Copy link

betam4x commented Jun 6, 2020

The MEG file format appears to be documented:

https://modtools.petrolution.net/docs/MegFileFormat

I personally haven't looked through things yet, however.

EDIT: I began writing an extraction utility tonight in C# based on the spec. It appears to use format number 3.

@betam4x
Copy link

betam4x commented Jun 6, 2020

Oh I should add, I doubt EA will have a problem with asset reuse provided that users already own the game. Someone could always contact them to clarify. As to making the assets available to download for free, that's definitely a no-go.

OpenRA could probably just detect a Steam installation and if the game is installed, offer to pull the assets in.

@fruestueck
Copy link
Contributor

fruestueck commented Jun 7, 2020

Is it planned to include support for using the textures/sounds/music from the newly released remasters?

As long as that content isn't declaired freeware, the devs won't invest their already scarce time into something possibly illegal or shady at best. However, should EA explicitly allow that type of use, things will look different. But that's just what I think.

@yaaaaa
Copy link

yaaaaa commented Jun 8, 2020

@reaperrr
Copy link
Contributor

reaperrr commented Jun 8, 2020

In addition to the concerns raised before, there's also that the remaster sprites consist of tons of single .tga frames, with different remap system and additional metadata files to correct offsets.
Nevermind the fact that we'd have to switch cell size on the fly (from 24x24 pixels to 128x128) and adapt WPos/WDist calculations and stuff like that.
In other words, adding support for the assets would be a ton of work on top of the legal concerns.

We're talking about coding work that PG did with at least a few full-time professional programmers who still were somewhat familiar with the old code for about 2 years. Given our dev resources, I estimate it would be a multi-year effort to get everything set up and working like in the remasters.
Extremely poor effort/benefit-rate, in my opinion.

@abcdefg30
Copy link
Member

abcdefg30 commented Jun 8, 2020

Fwiw, we now also have the problem with the APC in TD. And I forgot about the jungle tileset.

@pchote
Copy link
Member

pchote commented Jun 8, 2020

At a technical level theres no real difference between the remastered assets and any other community mod that wants to use high resolution RGBA artwork. WPos/WDist etc are all sufficiently high resolution to work well at larger tile size.

@reaperrr
Copy link
Contributor

reaperrr commented Jun 8, 2020

At a technical level theres no real difference between the remastered assets and any other community mod that wants to use high resolution RGBA artwork. WPos/WDist etc are all sufficiently high resolution to work well at larger tile size.

I meant supporting the remaster assets as optional feature (without breaking compatibility with the old default art) or even on-the-fly switching like in the remasters.
Maybe it would be easier than I imagine, but it would still mean dev bandwidth diverted from other engine improvements.

@pchote
Copy link
Member

pchote commented Jun 8, 2020

Indeed on both points: on the fly switching would be a nightmare (and is IMO a gimmick), and it would be disappointing to give up on TS now that we are so close to finishing the final blockers.

@umLu
Copy link

umLu commented Jun 10, 2020

First of all, I really like OpenRA. Congratulations for a very nice job done.

I think it could be an option set on the menu (maybe with a restart required). I don’t think people will mind. And I know this feature will bring OpenRA to a new level of prestige and popularity, if done right.

@umLu
Copy link

umLu commented Jun 10, 2020

Oh I should add, I doubt EA will have a problem with asset reuse provided that users already own the game.

Romanov's Vengeance did this for Red Alert 2. You need to have Red Alert 2 installed to play. It stimulates sales (I bought the Ultimate Collection on Orign because of this)
https://github.com/MustaphaTR/Romanovs-Vengeance

@willg1983
Copy link

willg1983 commented Jun 16, 2020

Would importing the remastered soundtrack be a less ambitious starting point? It's one of the most positively critqued aspects of the remaster based on the reviews I've read.

@pchote
Copy link
Member

pchote commented Jun 19, 2020

Apologies for the radio silence and dodging of questions related to this topic. Many people know (but some may not) that a couple of OpenRA people have been involved with the Remaster community council, and we had our reasons for holding back comment on this. I can now share some good news:

We (The community council) have discussed with EA directly the topic of using the C&C Remastered assets in community projects. EA reserves all rights to the C&C Remastered assets, but they do not object to community projects using the assets under the framework of the current Remastered Collection modding policy.

This means that in order to use the assets from the Remastered Collection these requirements must be met.

  • The user must have purchased the C&C Remastered Collection and have it installed through Steam or Origin
  • The community project must be clear that it is a fanmade project and unaffiliated with EA.
  • The community project can in no way commercialize the usage of the assets.
  • The community project cannot redistribute the Remastered assets

This clarifies that OpenRA can indeed use the remaster assets without triggering legal problems. As mentioned in the comments above, there are still several technical issues that need to be resolved, including:

  • Adding new plumbing to detect and read assets (starting with the legacy versions, later the remastered) without copying them to the support directory.
  • Updating OpenRA’s rendering logic to support 32 bit artwork (this is already well underway, but some key pieces are still missing and may best wait until we finally remove the GL2 renderer and move to Veldrid).
  • Find a library or reference documentation for decoding the bink-format remastered FMVs.
  • Audit all of the custom artwork (things like the Mobile Flak, extended terrain tilesets, civilian decorations, etc) and either remake or remove them. This is going to be the hardest part because removing features tends to be rather unpopular.

I agree that a staged approach would be best. The first step will be to change the loading logic to automatically detect and read the classic assets from the remaster install. IMO we should then focus on building a separate TD:R mod as a Mod SDK project, as this requires significantly less custom artwork than RA (except for the Jungle tileset, which can be removed) and allows us to focus on the technical rather art issues. Once that is working well as a standalone mod we can work towards merging it back into the main repo as an option selectable through the content manager. I imagine that we would provide checkboxes to enable/disable remastered music/sounds/artwork/fmvs, but would not support runtime switching of artwork.

@betam4x
Copy link

betam4x commented Jun 19, 2020

Pretty much what I expected, given the fact they can't actually do much in the U.S. legally as long as you don't pirate the stuff. That being said, I'm not knocking EA. I'm actually quite pleased that they appear to be turning things around. I recently bought Battlefront 2 after not buying an EA game in years. It wasn't just the open source stuff that did it, but because their overall opinion of gamers appears to have changed. We'll see how things do going forward.

I've intentionally avoided joining this project or others because I'm over-extended, but I am a developer, and might be able to squeeze in some time at some point. Is there a list of todo tasks somewhere?

Outside of that, I thought I saw something regarding video decoding somewhere. If I find it I'll drop a link.

@deleted-user-1
Copy link
Contributor

deleted-user-1 commented Jun 19, 2020

FWIW I'd prefer to focus on ts (I'm aware of the recent progress) and general mod support.

@ocdi
Copy link
Contributor

ocdi commented Jul 26, 2020

Since I am new and would like to help, I found and forked a project which could read V1 MEG files, and have hacked in support for the V3 format used by CnC remastered. https://github.com/ocdi/pg.meg This is a very work in progress, but I was able to read the music file and extract the files out using this library.

A sample here
image

I'm going to follow @pchote's suggestion above and that is modify the core asset code to support playing the music from these files directly. The library I am using supports reading and writing meg files, I imagine it should be refactored to only support the reader bits, related to the asset readers in OpenRA. Music does seem to be an easy target, especially as I familiarise myself with the codebase.

Would the preference be for .meg file support to be in an external nuget package, or bundled in the codebase? I note the pg.meg is MIT licensed, so we should be able to combine the required bits.

@ocdi
Copy link
Contributor

ocdi commented Aug 3, 2020

I've managed to get remastered audio playing on my fork.
bleed...ocdi:feature/msadpcm

This builds on the above PRs, one co-authored by me and @abcdefg30. This isn't ready for PR yet, but I think many of the pieces are getting there.

@pchote
Copy link
Member

pchote commented Aug 18, 2020

#18443 adds support for the Meg container format.

I now have working sprite parsers, which I will PR soon.

A rough proof of concept demonstrating the remaster sprites in OpenRA:

This was the easy part. It will take significantly more effort and time to rework OpenRA to properly support non-paletted artwork in the game world.

@yaaaaa
Copy link

yaaaaa commented Aug 18, 2020

i love you guys

@Mailaender
Copy link
Member

Mailaender commented Aug 22, 2020

Regarding BINK video there is https://patents.google.com/patent/US20110115824A1/en which I don't know if it is legal minefield or not and a reverse engineering project https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/bink.c but it may not cover all variants out there.

@pchote
Copy link
Member

pchote commented Aug 22, 2020

Proof of concept
(click to play)

@ocdi
Copy link
Contributor

ocdi commented Aug 23, 2020

That is impressive, very cool.

@danger89
Copy link

danger89 commented Sep 21, 2020

Wow, looking forward to see the final OpenRA that can import these assets!

@pchote
Copy link
Member

pchote commented Oct 16, 2020

#18728 adds engine support to enable the remastered water animations:

Proof of concept
(click to play)

@pchote
Copy link
Member

pchote commented Jan 7, 2021

https://www.youtube.com/watch?v=eiHUfZ1AtZ0

https://www.youtube.com/watch?v=xQl4bLLE-KI

@pchote
Copy link
Member

pchote commented Feb 20, 2021

Thanks to @ocdi and @teinarss we now have engine support for the remastered audio format, and I have hooked up most of the voices/eva/music in the remaster prototype mod.

@pchote
Copy link
Member

pchote commented Apr 11, 2021

#19335 implements the next important step towards this.

@Therapist1911
Copy link

Therapist1911 commented May 8, 2021

Hi, pchote. I would like to contribute to getting the remastered graphics into OpenRA Red Alert. I was told on discord that the flack truck and blackhawk are not currently being worked on. I can try those if need be, might take a while, but if there are any OpenRA specific tiles or static actors that need converting I can definitely do those no problem. Please let me know. Thanks.

@pchote
Copy link
Member

pchote commented May 9, 2021

Sorry, but I consider it to be too early to start anything towards Red Alert right now. There is a huge amount of work to optimize and properly integrate support for the remastered assets into OpenRA's game engine, and focusing on just Tiberian Dawn keeps the scope small enough for me to be able to manage.

Please be patient. After Tiberian Dawn is released there will hopefully be more people who are interested in Red Alert and have the right skills to be able to work together to make proress without distracting from the core work that is needed for both.

@pchote
Copy link
Member

pchote commented May 11, 2021

#19367 and #18940 are now ready, adding the last major engine features that are needed before a first public pre-alpha preview.

@lauriinc
Copy link

lauriinc commented Aug 23, 2021

Any updates on the Remastered Graphics?

Also, I didn't find the right place to ask this but if the team needs any help improving or redesigning the menu or game user interface, I'd be happy to contribute as an UI/UX designer.

@pchote
Copy link
Member

pchote commented Aug 23, 2021

Not since my last comment. I have completed all of the remaster specific work that I wanted before a first public preview, which is now waiting on a new OpenRA playtest/release.

@danger89
Copy link

danger89 commented Oct 18, 2021

I'm really looking forward to OpenRA Remasters edition 👍🏽 !

@ErickPol
Copy link

ErickPol commented Apr 13, 2022

I would like to compile and test the remastered assets : how should I link the remastered game files? is there already an auto-configuration in place which looks for them at the steamapps folder?

@betam4x
Copy link

betam4x commented Apr 14, 2022

I would like to compile and test the remastered assets : how should I link the remastered game files? is there already an auto-configuration in place which looks for them at the steamapps folder?

Based upon the past 2 PRs? No. I'm not aware of the OpenRA team's activity or movements, however I've been considering a fork since 2 months before the release of the remaster. The OpenRA team does awesome work, AMAZING work that I would actually throw lots of money at via Patreon or something similar. However, I've been following this project forever, and it constantly feels like it is on life support. I would honestly fork it, however, the issue for me is that I, probably not unlike the volunteers here, have a ridiculously packed schedule. Personally I have many kids and I am already maintaining 2 open source projects under other accounts and a full time job and stuff. In short, I suspect all of us developers are absolutely swamped with work and other projects.

Please note this isn't a dig at you, I want to use the remastered assets as much as you. I hope we see something soon.

Full disclaimer, I've never contributed directly to this project, though I actually came very close to doing a PR after reverse engineering the remaster shortly after it came out. However, other, much more knowledgeable people came along and so I refrained, and IMO they did a much better job in my opinion since I was unaware of the codebase (though I detected and imported files from steam :D).

Cheers!

@ErickPol
Copy link

ErickPol commented Apr 16, 2022

I completely agree with you and fully understand how hard it is to keep this kind of project alive. I believe that money is not the key issue here : from what I've seen the core developers are exceptional people that take their time to build an amazing product out of their sheer desire to play it : an unavoidable analogy can be made with Dwarf Fortress's Tarn Adams.
Bringing in paid developers imo would allow for some quick wins but could be detrimental to the overall design quality and bring the entire project to a halt on the long term. There is a reason why Linus Torvalds does not relinquish his position and it has to do with not letting the whole project degenerate into an incoherent patchwork of short-term solutions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests