Jump to content

Recommended Posts

  • Active+ Member

Hey there!

To make the engine truly cross-platform and to take advantage of full multi-threading, better GPU utilization and more modern optimization techniques, I rewrote the existing Granny engine from scratch in Rust.

Here are a few previews;
 

DirectX9&C++(standart gr2 engine) / Vulkan&Rust(new engine) comparison

spacer.png

 

Cross platform support:

spacer.png

spacer.png

 

Game engine support

spacer.png

spacer.png

spacer.png

spacer.png

 

 

It currently supports all GR2 exports as-is. It also implements every internally used algorithm including Oodle(0/1), BitKnit(0/1), and Bink. All curve types are supported as well.

What’s still missing: GState (about ~60% is done) and SPU support (I don’t plan to add it).

It’s fully stable and 1:1 compatible with the original, backed by 600+ unit tests and 10+ parity tests.

 

Edited by Metin2 Dev International
Core X - External 2 Internal
  • Metin2 Dev 5
  • Flame 1
  • Scream 2
  • Good 2
  • muscle 1
  • Love 11
Link to comment
https://metin2.dev/topic/34306-rewritten-gr2-engine/
Share on other sites

  • 3 weeks later...

Why didn't you just implement a modern 3d file format and convert all the Gr2 files? Gr2 is obsolete. State of the art LLMs should be able to reconstruct most of the codebase if you feed it with the docs since these are pretty extensive and include all relevant headers.

I'd be looking forward to nostalgic metin2 that runs on browser but I feel like this will end up being used for a soulless cash grab like most new things in this scene. Unfortunate.

Link to comment
https://metin2.dev/topic/34306-rewritten-gr2-engine/#findComment-174408
Share on other sites

  • Active+ Member
8 hours ago, test44 said:

Why didn't you just implement a modern 3d file format and convert all the Gr2 files? Gr2 is obsolete. State of the art LLMs should be able to reconstruct most of the codebase if you feed it with the docs since these are pretty extensive and include all relevant headers.

I'd be looking forward to nostalgic metin2 that runs on browser but I feel like this will end up being used for a soulless cash grab like most new things in this scene. Unfortunate.

Honestly, I think GR2 is still a strong and pretty optimized library, games like EVE Online, ESO, BG3 and tons of others are already using it so I wouldn’t call it obsolete. The biggest problem is just how badly M2 implemented it...

Also, yeah, I used an LLM while building this because doing a project this big solo is brutal otherwise. The difference is this version isn’t spaghetti like the original codebase. It’s cleaner, more structured, and way more consistent.

And I’m already on a similar project anyway, I moved whole render system to Diligent successfully. My priority is mobile, but since WebGPU seems supported too, I might try some web experiments and don’t worry, this isn’t some cash-grab thing, if it was, I’d be one of those guys opening a new server every month 🙂

Link to comment
https://metin2.dev/topic/34306-rewritten-gr2-engine/#findComment-174411
Share on other sites

  • 4 weeks later...
  • Active+ Member

I finally completed the new Rust based GR2 system and wired it to the game client.

So far, I have not seen any major issues. The optimization side is still not exactly where I want it to be but it should keep improving over time. It currently has 1700+ tests and 300+ source files, runs more efficiently than the original in many areas and is overall much more stable.

The most important improvement, though, is the dramatic reduction in draw calls for the characters.

Before:

spacer.png

After:

spacer.png

 

Spoiler

The FPS here is not very meaningful due than it was running in debug mode under heavy load with a lot of debug checks, overlays, an active debugger attached etc. even with the ingame optimization work still not fully complete, I’m still getting around 250–600 FPS in a normal single-threaded build.

spacer.png

 

  • Metin2 Dev 1
  • Good 1
Link to comment
https://metin2.dev/topic/34306-rewritten-gr2-engine/#findComment-174730
Share on other sites

  • 1 month later...
  • 2 months later...

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.