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

Roadmap #353

Open
3 of 18 tasks
XProger opened this issue Jun 26, 2021 · 7 comments
Open
3 of 18 tasks

Roadmap #353

XProger opened this issue Jun 26, 2021 · 7 comments

Comments

@XProger
Copy link
Owner

XProger commented Jun 26, 2021

The fixed_updates_per_second branch was experimental for a while, it successfully recreated and tested the original control mechanics and interpolation between frames to achieve a smooth gameplay at a fixed 30 updates per second. The original mechanics completely fixes most of the current issues, but due to the fact that in TR2-5 the arsenal of weapons, the set of enemies and objects was significantly expanded, it became difficult to reproduce all their logic without significant deviations from the original behavior.

After 5 years of OpenLara development I decided to recreate the architecture and logic of the original engine as accurately as possible, relying on debug symbols, new accessible materials and my current experience in reverse engineering. Most of the OpenLara engine parts will be rewritten.

Goals

  • close to the original gameplay engine architecture with fixed 30 updates per second
  • close to the original behavior of entities (Lara, enemies, objects etc.)
  • accurate recreation of shooting and damage calculations
  • smooth gameplay at 60-144 Hz monitors via linear interpolation from the actual 30 fps
  • transfer all features available in OpenLara to the new code base
  • graphics modding support for the rooms geometry, models, animations, textures and materials
  • the possibility of easiest further expansion for TR2-5

Roadmap

Milestone A

  • Merge recreated logic from experimental branch to GBA port
  • Come up with the new engine architecture
  • Write fast software rasterization for ARM
  • Restore TR1 gameplay parts (Lara, objects, triggers, camera, enemies, weapons, inventory)
  • GBA #368
  • 3DO #370
  • 32X #407

Milestone B

  • Replace the main engine with the new one
  • Write the general renderer interfaces (draw/render)
  • Restore all existing platforms code and make new releases

Milestone C

  • Fix stability issues
  • Analyze and cleanup the github list of existing issues

*After this milestone I will continue to make ports to other platforms in parallel (#15)

Milestone D1

  • Tomb Editor support
  • Graphics modding support

*At this point we'll get stable TR1 support again with some great things

Milestone D2

  • TR2 support

Milestone D3

  • TR3 support

Milestone D4

  • TR4 support

Milestone D5

  • TR5 support
@vvs-
Copy link

vvs- commented Jun 27, 2021

Should we view that more as an idealized or simplified roadmap? That is we know that there is much in common between different TR versions, so it could be borrowed heavily from e.g. TR5 even at milestone A.

Another question should be about level of cooperation between all other projects of similar goals, e.g. TR1Main, TR2Main, TOMB5. I see that you consider it as a personal project. But I really think that such an enormous undertaking was not successful previously not the least because of development resources stretched too thin.

P.S. And I'm really confused by how TOMB5 was affected by TR source leak. It seems that it was likely abandoned but then continued by a different people and in a different place. A lot of work for uncertain reasons.

@XProger
Copy link
Owner Author

XProger commented Jun 27, 2021

Of course it's simplified plan to show the main direction without any timelines. Many things might be changed or extended during the progress.

I'll add the Tomb Editor collaboration to the Milestone D1, thanks.
The main branch support TR1-4 level formats and I already solve some pitfalls there, so it should be much easier to integrate other part in sequence... but it'll be difficult for me to start from TR5, AFAIK it has many hacks of the original engine.

TOMB5 was a great project and was not in vain. We learned a lot from it and those things will be reflected in OpenLara and other projects in the future not only TR-related.

Repository owner deleted a comment from Raypuia Aug 2, 2021
XProger added a commit that referenced this issue Oct 31, 2021
@KuestenKeks
Copy link

regarding "Restore TR1 gameplay parts (Lara, objects, triggers, camera, enemies, weapons, inventory)":

Are the missing gameplay parts game breaking? Or can I still play through OpenLara from start to end?

Cheers and thanks for working on OpenLara! :)

@XProger
Copy link
Owner Author

XProger commented Feb 6, 2022

@kscheel for now in the new engine most of the gameplay logic is missing starting from LEVEL3A. The main branch (old engine) has everything for TR1 and can be fully completed from start to end.

@BielBdeLuna
Copy link

is the new engine the fixed point code? or it will still feature floating point code?

@bufalo1973
Copy link

Maybe it can't be done but, didn't TR (don't know which) and LoK share the engine? If it's the case, how about a Legacy of Kain compatibility as a future goal?

@nickdalton81
Copy link

much respect and a big thank you for bringing my favorite game modern graphics and RT!! I am having a major issue I cant find a fix for currently. 1. made it to caves and tried loading the save, immediately freezes upon load up. freezes when you alt
+enter fullscreen. if you have the time to respond to this I would greatly appreciate it. win 11/13900k/4090 all latest drivers.

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

6 participants