OpenSAGE / OpenSAGE

OpenSAGE is a free, open source re-implementation of SAGE, the 3D real time strategy (RTS) engine used in Command & Conquer: Generals and other RTS titles from EA Pacific. Written in C#. Not affiliated with EA.
https://opensage.github.io
Other
1.35k stars 129 forks source link

Generals ZH remaster version #30

Closed DetroyT closed 6 years ago

DetroyT commented 6 years ago

I have a question. I see that there is an active work on this game engine and I believe in the next 2 years you will be able to finish your work. In this regard: can I start the parallel work on preparing a remaster version? The creation of 3d models and textures also takes some time, and considering the forthcoming amount of work (civil models and fractions models), I think that it will take as much time as work on the game engine.

The future system requirements are also interesting. How much RAM do I need to count? Can I use high poly models (20000-40000), normal maps, specular maps?

P/s Now I'm busy porting the generals to the C&C 3 engine, I've overcome many difficulties (even implemented the dozer), but thanks to your work, I can switch my attention to the remaster version.

tgjones commented 6 years ago

Hi @DetroyT!

I believe in the next 2 years you will be able to finish your work

I think that's over-optimistic :) It depends on how many people help out, but I'm expecting it to take 5 years minimum, and probably more, to fully re-implement Generals. So far we've only really done the file format parsing, and after that there's the whole game, which is far more complicated than parsing file formats.

How much RAM do I need to count? Can I use high poly models (20000-40000), normal maps, specular maps?

I don't yet know the answers to those questions. OpenSAGE's renderer is still evolving. When it's done, I'd expect it to perform quite well in comparison to the original C&C games.

Now I'm busy porting the generals to the C&C 3 engine, I've overcome many difficulties (even implemented the dozer), but thanks to your work, I can switch my attention to the remaster version.

That sounds like an interesting project! I've wondered myself what Generals would look like with a newer underlying engine, which is obviously part of the motivation for OpenSAGE. But OpenSAGE is still at such an early stage that I'd be cautious about recommending you building something on top of it - there's just too much left to do.

DetroyT commented 6 years ago

I'm sure that these 5 years will fly by quickly. As long as the game engine is not ready, I will use CnC3 and BFME II to represent models in the game (with shaders, normal maps and other visual effects). When you finish your work, I will to move the new models to the original game.

ghost commented 6 years ago

@DetroyT What do you think about the logic/behavior/balance it self to be considered in the remaster. I have started some thinking about this and did some wiki posts on Thyme's project, however as there's multiple projects to improve GenZH now, I think it's better to spin off those efforts and make it so that each project can choose whether it includes them or not, or that the users decide manually on their own which things they will put together, however, the problem is because some of the logic needs core changes such as bug fixes and that can't be done only in ini.

So I think that the documentation part would be in the separate project, as in some kind of a spec/standard and then these projects would try to implement it as accurately as possible.

If for example something like this would be developed as OpenSage continues, if OpenSage is keen and agrees with the changes/fixes suggested then it could opt to skip trying to first make it behave like ver 1.4 and then putting the community remaster on top, it could save a lot of time, however you might get some people down the line being curious how 1.4 would feel, but I think that could still be done later.

These are all rough ideas tho, nothing definitive, but I don't see any better idea right now.

feliwir commented 6 years ago

Please note that any balance/gameplay changes are not the scope of OpenSage. Most of these changes don’t require a new engine, which is the purpose of this project. However we try to avoid bugs that were done with the original engine, as long as the compability to the original gamefiles is still given.

DetroyT commented 6 years ago

I think OpenSage should become a open platform for creating games in the genre of real-time strategy (like a Unity 3d engine,but with INI configs). And the first draft will be this is a remaster version of the original game without changing the in-game balance (only graphic improvements).

penev92 commented 6 years ago

It may eventually become that, or more, but @tgjones has a more realistic expectation on the time it takes. Since I have been wondering how to contact you folks for a few days now but didn't want to spam any important issues or PRs, I'll just use this opportunity. I wanted to ask if there is any way to contact you, like IRC, Discord, Skype, or at least a forum, since GitHub issues are hardly the place. :)

feliwir commented 6 years ago

@DetroyT this project is going to stay SAGE related. Of course you can make any modifications to the game files as you already could in the original game (but with a superiour engine hopefully).

@penev92 Tim and I are currently doing all chatting in skype, but we are planning to setup a Gitter/Discord/Slack Channel (we are not sure yet) in the near future so we can communincate with non-developers in an better way.

DetroyT commented 6 years ago

Of course you can make any modifications to the game files as you already could in the original game (but with a superiour engine hopefully).

With shaders, post effects, normal maps, bump terrains, special clouds, weather and fog effects, right ? And all this without restrictions on the use of resources of RAM, processor and video adapter. These are the main things that are so necessary for the game.

P/s BFME2 read normal map textures when texture have _nrm prefix.

feliwir commented 6 years ago

@DetroyT it's not time to think about any additional features until the base game is working. Doing visual enhancements to the base game can be worked on afterwards (and we'll have that optionally). Also I don't think that those are necessary features, but more a nice to have thing. But as i mentioned before the focus right now is to reimplementing the games with their original assets. And we do know that BFME2 and introduced normal mapping into the SAGE engine, but thanks for the hint anyways 👍

tgjones commented 6 years ago

So I think that the documentation part would be in the separate project, as in some kind of a spec/standard and then these projects would try to implement it as accurately as possible.

@ZexaronS We have https://github.com/OpenSAGE/Docs for exactly that purpose - to provide a place for SAGE docs that is (slightly) separate from the OpenSAGE code repo.

tgjones commented 6 years ago

I wanted to ask if there is any way to contact you, like IRC, Discord, Skype, or at least a forum, since GitHub issues are hardly the place. :)

@penev92 We have a shiny new Discord server - here's the invite link. I'll add that to the readme soon.

tgjones commented 6 years ago

Closing this because I think all the questions that can be answered at this stage, have been answered. We won't know system requirements or anything of that nature for a long time yet.

Anyway, I'm very glad to hear that there is [at least the potential of] interest from the modding community in this project :)