Jump to content

Mdev02

Member
  • Posts

    2
  • Joined

  • Last visited

  • Feedback

    0%

About Mdev02

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Mdev02's Achievements

Apprentice

Apprentice (3/16)

  • First Post
  • One Year In
  • Dedicated
  • One Month Later
  • Week One Done

Recent Badges

4

Reputation

  1. Thanks for the reply. I only mentioned a very little part of the project, it's alot larger and I cannot write it all out. It was mostly a summary of some fundamentals. I must also mention that i'm thinking alot about scalability here, I don't set the goal just to re-create Metin2 as is, in the simplest way. My goal is alot bigger than that, hopefully understandable, I don't want to spill all the tea ;). You definitely did not discourage me, I love the detailed reply and i'm glad we still have some people with knowledge roaming around in the community. I do have to reply to the part about the graphics though, because that's not only what Unreal Engine offers, also i'm not stripping out everything to the point the Engine does not support it. What I can say is that the approach is to support both, we have a mixed community and alot that Metin2 offers, is the old feel. For it to actually work and succeed, the best approach is to support both. Keep the engine support when it comes to any upgrades, newer versions, potential revamps. The time part is something I think you are underestimating though. I also had to scrap a initial prototype after the first few months due to some unexpected setbacks. Which led me to restart and the current project i'm working on has been since somewhere in October last year. However even with 6500 hours, I genuinely think you are underestimating how much extra work comes when creating a MMO, Unreal is not plug and play. It still requires alot of manual work, manual testing, profiling, stress testing etc. Now think about gameplay, quests, item balancing, player balancing, pvp/pve balancing, the thousands and thousands of items. Whilst revisioning everything to a better, scalable architecture. I think the amount of time can be highly underestimated once you start touching the real problems and not surface-level problems that can be solved in minimal time. The major thing Unreal Engine offers though is absolutely not the graphics. The engine offers alot of development and designer support. We cannot compare the capabilities of a engine like Unreal vs a Metin2 engine, the long-term scalability of a engine like Unreal is unmatched when you compare that to the one Metin2 offers. The heightmap/collision part you mentioned does suggest that your approach relies heavily on standard engine collision and terrain. That is perfectly fine, but my own goals are slightly different because I am optimizing for MMORPG-scale scenarios. Default Unreal movement is extremely capable, but it is basically designed around lower players in the same zone and characters that can afford very expensive movement and collision calculations. Large MMORPGs mainly move towards much simpler server-side representations such as grids, cells, baked height information and simplified validation because the cost per player becomes extremely important once hundreds of players are in the same area. That does not mean Unreals approach is wrong. It simply optimizes for a different problem than the one I am trying to solve. Unreals own documentation suggests not to use this and create a custom model instead when trying to scale above their own given limit which is something like 100-150+ players (I don't have the exact numbers, i'm writing this off the top of my head). About headless server, ofcourse a headless server is cheap but it's not as cheap as the one from Metin2 because Unreal brings alot of the engine and pre-done work into the server. Think of Actors, reflection, uobject management, servers also initially carry alot of general-purpose work that Unreal wants to support which I might not want to use currently or at all. There's no 1 press button to switch it to my liking so it'll be optimizing & testing over-time. I do also have to say, i'm not going off parsers with everything, I am, in-fact, re-creating entire data tables, data assets etc. Filling them in partially manually and sometimes using import tools to fill them partially. I am doing alot of manual work, the game will be Metin2 but I am basically rewriting every single system of Metin2 into a much better system for both developer, designer and user. Another thing that is highly underestimated: assets from 2000's era in a hyper-realistic world is not what you think it is. Those are designer choices and decisions that have alot more impact in a game than just a 5 minute youtube video that looks cool. I actually did not say stripping off, that's something completely different. I only mentioned what the options are for graphics. I built my own rendering on top of Unreal and disabled from Unreal what does not represent Metin2. That does not mean it's gone, it's currently disabled during development. The Engine still offers the option to upgrade, to change graphics and perhaps on release it'll be alot different. I do have to correct you, Nanite is absolutely an optimization tool. Just to give you 2 things to look into when it comes to Nanite and optimization that you might not have thought of: Draw calls & LOD workflows. Nanite is not just bumps in the ground. Now whether it actually improves performance depends on the content and target hardware. There's a degree of truth that Nanite is probably not optimal for hardware from 2000. But for most cases, Nanite is absolutely a plus for the hardware 99% of consumers use nowadays. I think the main thing I can say. Unreal is alot more than just graphics, Unreal is also alot more than just a better engine compared to Metin2. It gives you massive control as a game creator. I am not trying to recreate Metin2's implementation however, I do not want their systems and the way they set everything up. I am trying to recreate the Metin2 experience while building on a modern foundation.
  2. How has it been going? I have been on the same route you have but for about 1,5 years now. Few things I can tell everyone that some what confirms what this poster says. Main issues: Parsers, parsers and parsers. Unless your main desire is to retest, rebalance everything it wont be possible. Heightmaps: About heightmaps etc. Smaller issue than is made out to be. This is just common amongst mmorpgs and nobody runs via sweeps. Its pre-baking work that makes server & client load cheaper and prevents tons of movement sweeps. Cells/grids. Effects: I did manage to pull off effects to the point that it resembles metin 1:1. There's no difference. But its ALOT of work. You need parsers again just to read all the msf, mse and msa files. Else you have to rewrite it all or spit through every single msf msa and mse file. Let me tell you, its quite alot. Collision: Collision around buildings etc. can infact be done automatically to save alot of time. Maps is where it gets a bit more complicated, you could build a seed generator and use metin2 layers in UE landscapes with a custom layer system. You need to create your own modules to truly mirror metins layering / paint system. Graphics: Either go with UE5 graphics or build your custom rendering pipeline on top of ue so you can get rid of most blooming/realistic lighting crap. UE APIs can help but it still requires tons of manual work, testing etc. Shadows: You need custom shadows, not unreal dynamic shadows, not unreal static shadows. Those are heavy GPU eaters in unreal. That wouldnt represent metin2, it also looks way realer than simple shadows from 2004. Also get rid of all HDR lighting, build your own lighting renderer that resembles metin2. Recreate skyboxes, clouds etc. just to mirror the same skyboxes. Metin2 has very old skyboxes so just dropping it in and betting on HDR/HDRI is never gonna work. Characters/meshes: Mobs &. Npcs? Easy. Controllable characters? Needs manual tweaking in Blender, keyframe transferring to UE compatible root bone. Recreating root motion because root motion seems to dissapear in 10/10 export->import paths. Another issue: bone scaling, socket rotations, inverted axises, weapons not having proper origin points so offset is always there, which does not exist in metin2. Infact, EVERY offset/rotation is incorrect. Now all this is mostly what the players see. Next guardrails: custom networking, UE server overhead vs Metin2 old engine. Alot more ram per server. You need to know how dbs work, how scriptings work, how you program c++ with ues custom c++ layer. Minimizing rpc due to rpc overhead. Reliable vs unreliable, entire custom/rewritten backend. The main issue I genuinely think most have is the amount of time. Not perse that its extremely hard (definitely requires a good amount of knowledge). But it is just alot of work which isnt required by just starting a private server, like anyone else does. Then: IP, Copyright, potential risks, live ops, server hosting + a super backend that can handle multiple unreal ran server instances which run on alot more raw RAM and cpu cost than Metin2 does. Nontheless, I did not stop. I did not give up and I will finish this project. But it is not without difficulties and quite frankly, its only possible for me because of my current situation. I would declare someone with little time crazy for even trying. (fyi: 12-16 hours of work a day, for 1,5 years. Nonstop. I only take 1 day off a week so I don't burn out and im still not even close. I could say im at about 50% to actually release this)
×
×
  • 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.