Search Unity

Discussion RPG - UE5 vs Unity - RPG Open World

Discussion in 'General Discussion' started by Terraya, Dec 1, 2022.

  1. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    If you just look at IL2CPP you're going to draw a wildly incorrect conclusion for Burst. IL2CPP simply translates CIL into C++ and does very little beyond that. Burst is a hyperspecialized compiler that only supports a small subset of what is available but tries to optimize it as much as possible.

    IL2CPP exists for a very different reason: some platforms have very tight restrictions and forbid the use of a JIT.
     
    Last edited: Dec 9, 2022
  2. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    499
    I'm just saying that il2cpp is not as performant as JIT code compiled by .NET 6. Also a compiler made by Unity. Havent had time to look into the asm code from burst yet,
     
  3. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,700
    Yes and we have given you the reason: The goal of il2cpp was not absolute performance (albeit it tends to be a bit faster than C# mono) or to avoid migrating to .NET6 (which did not exist when il2cpp was introduced).
     
    lmbarns and MadeFromPolygons like this.
  4. IDK where this "Unity doesn't want to switch to CLR" comes from... it's totally untrue.
     
    lmbarns and dlorre like this.
  5. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Iltocpp can't be absolutely performant for the reason that performance is hardware specific, and it's a tool to cover vastly different hardware easily. Burst is performance oriented, but it's not absolute, it works by constraining the user to specific pattern that allows for easy SIMD and cache optimization that cover most hardware. Hand written code specific to a single hardware will always outperform unity. But that's fair, that's not the reason to use unity in the first place.
     
  6. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    499
    That's why the JIT code of .NET 6 is so nice. It breaks even with a lot of hand written native code and sometimes outperform it. I haven't really seen il2cpp outperform native hand written code. That's why I happily await .NET support. Also il2cpp doesn't handle libraries that well. So if you have a large complex game like us it's not so easy to just move to il2cpp.

    Also .NET 6/7 like burst does wonders for cache optimized code.

    I will need to look at the code burst outputs haven't had the time to look at that.
     
  7. Deleted User

    Deleted User

    Guest

    Just quick technical notes and myth-busting.

    The Mass has enabled multithreading in 5.1. It hadn't since 5.0 only because it needed additional work, polishing up. But is built with DOD multithreading in mind, that's the entire point of it ;)

    Keep in mind, that Mass works seamlessly with pre-existing OOP framework (love it or hate it). So the entire simulation of city traffic (like 40k agents) is done on the ECS layer, multithreaded. Only the naming is different, Entity (it's Entity), Component (it's "Fragment" since components are parts of actors, OOP framework), Processor ("System" as there similarly called things in engines like Subsystems).

    It has already a mechanism to use unreal Actors only as visualization for these simulated agents that are nearby the observer/camera. These actors are pooled, and spawned automatically for a given agent if it's "close enough to the observer". Supports LODs, so you can set "spawn Instanced Static Mesh with vertex animation for actors further from camera". Switches them to traditional Actor-based skeletal mesh actors if you set it so. This is where designers can work the same as they work prior to Mass introduction.
    The Matrix demo has all this implemented if anybody would like just check it out if it's a good enough approach for a given project/team. It comes with systems designed for crowd management: Zone Graph (pedestrians walking along predefined routes rather than calculating paths for thousands of agents in runtime). State Tree as a lightweight alternative to Behavior Tree, integrated with Mass. Basically, you can use Mass processors to be a State Tree task, so easy to assemble by designers via a simple tree editor.

    The great thing about Mass things is that all plugins. If you don't like the design of something, you can disable it and roll your own solution. Your own movement, your own pathfinding, your own mechanism to visualize agents. That's the beauty of ECS, decoupling data from operations on it by design.

    You can get rid of having additional AI Controller for every character, or Character Movement Component. It's all there still in engine, but not only built-in way of doing things anymore.

    And that community project is even better and learning about Mass ;)
    https://github.com/Megafunk/MassSample

    There's no "Burst type optimization" because of Unity C# specific solution. Partially solving things that are "solved" by C++ is designed at a lower level than "VM languages".
    Unreal does provide ISPC implementation for easy vectorization if you'd need that. It does allow to speed up part of physics or particle systems 4 times.

    Obviously, ECS and Burst should give a much bigger difference in Unity land, since it works around C# limitation. UE5 simply doesn't need that huge overhaul on the gameplay framework side to handle open-world scale. There were other missing parts like World Partition or runtime animation retargeting ;)

    AFAIK there are no plans for official multithreading blueprint support since it's a designer tool, mostly. Most of designers have a hard time properly working with a single-threaded OOP architecture. And still, blueprints are limited to OOP. There's not much worth to multithread small BP scripts, as performance impact would be negligible.
    IIRC there are some community plugins allowing you to work on threads in blueprints, I personally never touched it.

    So if it's important to you to have everything working under ECS and non-C++ could work on it, Unity might more suitable.

    Yeah, that's the thing when some count as RPGs only top-down games. Like the original Mass Effect trilogy, Final Fantasy, Dragon Quest, Deus Ex, Vampyr don't count as RPGs? Also, Alpha Protocol and The Other Worlds are made by the same Obsidian which is also making games with Unity. Not only RPGs, but also fantastic games like Pentiment. They choose the right tool for a given game.
    And with Wasteland 3 development switched to UE5, it doesn't seem they were perfectly happy with making their RPGs on Unity anymore ;)

    On another hand, I don't see V Rising mentioned yet which is currently the prime proof of ECS scaling well enough in Unity. IMHO much better Unity benchmark than Obsidian-style RPGs which are pretty old school, not multiplayer games with persistent world states down to single rock.

    PS I don't think the next Witcher alone isn't a good example here as CDP gonna throw like a thousand people on it. It's not necessarily relevant to a person so new to making "open-world RPGs" that open thread forum about that ;)

    Anyway... just listing games is a bit confusing... Apples to oranges...

    @Terraya If you really want to prepare the production of such an ambitious thing as an "open-world RPG", I always recommend analyzing teams behind games, and their processes. Bad processes (or lack of it entirely) gonna kill your project sooner than technology.
    Last example: Naughty Dog engine isn't that superb alone without dozens of motherfuckers willing to polish every inch and second of the game while crunching for weeks and months.

    It's truly secondary what games have been made in Unreal or Unity if a given team wouldn't be built to utilize given tech in a similar way. More important is to analyze what human resources given game requires. For example: going Unreal with a complex game requires a few C++ programmers with some designers prototyping in blueprints. Otherwise, you wouldn't utilize the advantages of the engine gameplay-wise.

    If you won't be able to build tech (engine + tools) to serve your team well and save their precious time, the engine itself is irrelevant.
     
    Last edited by a moderator: Dec 9, 2022
    pcg and Lurking-Ninja like this.
  8. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,077
    V Rising also really isn't a typical example since they have an internal team that customised one of the older versions of Entities. They bug fixed it and tailored it to their purpose, which has significant talent and resource requirements and goes way past simply writing DOTS gameplay code. It's not something any team can do with the default DOTS offerings.
     
    Deleted User likes this.
  9. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,669
    Is Genshin Impact (MMORPG) a AAA game?
    Is Pokemon Go a AAA game?

    There are many haters here with opinions that are just BS, i would recommend you to ignore those (also those are very easy to spot)

    Again, there are so many unity hater here.... are you sure they are gone?


    the VFX tool in unity is (at least for me) very easy and fun (and i hate nodes) to use and you can achieve vfx with stunning graphics in just minutes, it is easy, in this case i would prefer to make my own instead of using "out of the box" things, because i can learn how to use the tool and create my own vfx in the future :)

    About the UI, why is in cons? what do you need that unity's UI tool (legacy or new) can not do? i do not understand, the UI tool is updated in every new version of the engine doesn't it? and there is also this new tool which every respected/decent youtuber is talking good about it, so, why is in cons?

    I've been using unreal 5 for a little now, the first days i was excited about lumen and nanite and i was so inspired to make my future projects on it, but after a while i think i'll stay in unity for now, at least for now. While i feel like unreal's workflow is focused on games i also feel like is kind of difficult to make things works, it is like a game engine focused on certain type of games while unity's workflow is more like a tool for creating things and i thing unity is more flexible, i hate some tools tho, like the automatic uv creator XD is useless most of the time, that has to be in cons. I would say if your open world game is simple (i'm not talking about the core open world problems) but you want amazing top graphics, do it with unreal but if you want more complex things + good graphics (there are many examples of unity rendering very good graphics) then do it with unity. What is your vision about your game?
     
    Last edited: Dec 11, 2022
    DevDunk likes this.
  10. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    Yes. Genshin Impact had a development and marketing budget of $100 million.

    https://en.wikipedia.org/wiki/Genshin_Impact#Development

    Yes. I'm unable to find any statistics on this game concerning either the development or marketing budget but we're talking about a franchise that belongs to Nintendo. You don't just get handed access to a franchise from them without the expectation that you're investing considerable money to make it successful.
     
    Last edited: Dec 11, 2022
  11. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,669
    @Ryiah people seem to ignore those games when they are talking about AAA games made with unity, but still the list is kind of short
     
  12. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    The list is so short that it basically might as well not be worth consideration. Pokemon Go's technical requirements are extremely minute and Genshin Impact is likely being developed with source access and a great deal of internal modification.
     
  13. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,669
    not agree

    We do not know if that is true, but still AAA games
     
  14. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    You can disagree all you want, but two AAA games is hardly substantial when compared even to the least commonly used engines in the AAA space.

    No, we do know that. There have been plenty of reverse engineering projects and pretty much everything about Pokemon Go lives in the backend. Nothing about Unity is particularly at risk of holding it back.
     
  15. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    The problem is that AAA GAME have many differents meaning, discussion that fail to acknowledge these differences are doomed to go in circles by just talking past each other. Same withnopen world really.

    AAA can mean:
    1- blockbuster budget, that's the original meaning, it's from financial ratong and used by publishers to distinguish cost envelopes of games and associated risks.
    2- blockbuster game with mainstream appeal, similar to financial ratings but more oriented toward reception.
    3- spectacular and polished games with huge scope, kinda same but audience perception.
    4- game made by big team with huge budget, regardless of quality, style, scope, success or reception.
    5- A specific visual aesthetics born from similar games, 3rd person cinematic, generally photorealistic, with emphasis on characters and story world immersion. Ie the visual smell money spent.
    6- Quality visual, see unity's twitch host calling the canceled Gigaya "AAA" it puzzled me for a while, until I understood. For me that was AA ie small team, ambitious game.

    Obviously those meaning are close, as they are drift from the original meaning, but distant enough to lead to complicated discussions with arguments flying past each other.

    For example Pokémon is obviously 1 and 2, but fails at 3,4,5 and 6. A game like plaque tales requiem is arguably a small team (50ish peoples) with a relatively small budget for the type of game so it would fit 2,3,5,6 other being debatable. Then there is game like God of wars and horizon zero dawn that fit all the boxes without any ambiguity.

    Generally when talking about visual, genshin kinda qualify except the photorealism. Pokémon go only fit the reception part.

    In general I'm not sure there is an unambiguously AAA game made with unity. Especially on the visual department, beyond small scale showcase. There is no God of wars of unity.

    Aside from genshin impact I also don't know much open world game that fit the aesthetics part. Open world is another naming full of baggage, covering aesthetics like 3rd person view or not, technical considerations like seamless world with time of days or not, and level design considerations, everybody having specific mix of those in heads while talking about it. That doesn't help discussions.

    Personally when talking about AAA open world game, I mean a game visually and technically like assassin's creed or red dead redemption. Those you can't have in unity, only unreal. I would love to be proven wrong.

    Hope these clarification help and I encourage you all to precise what are the boundaries of expectations when talking about it.
     
  16. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    Remember when there was a thread here titled "AAA quality in Unity" or something about Escape From Tarkov (it absolutely isn't) or how people were going "see? Unity can go up against major releases" when Recore was announced?
     
  17. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,572
    All of those mean budget in the end.
     
  18. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Good visual don't mean budget actually, it mean good artist, the link is that good artists generally cost money, but that's correlation, and about scope, well minecraft as one of the biggest scope and so is no man's sky, their budget is quite lower than game typically associated with AAA publishing.
    Actually I never looked in depth about tarkov, so I can't answer that from my own pointless perspective. I just want to say that actual AAA games (publisher meaning) have a huge range of quality, like how people are mocking the last Gotham game for example. We can't just pick the best AAA as example, that would be unfair.
     
  19. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,572
    And good artist means budget.

    Large world does not mean large scope. Scope of minecraft is quite small. And it is certainly not an AAA budget either, as it was originally one person project, no matter how much polish they threw at it afterwards.

    We can, and the world is not fair. So, if you aim for an "AAA quality" your game will be compared with the best AAA (whatever that is currently is), without any regard for fairness.

    Basically, I don't know, if you're a boxing amateur and somehow manage to get into the ring with a world champion, the champion will beat you up, regardless of your perception of fairness. That's (IMO) what trying to aim at an AAA quality is with a single person or small team.
     
  20. Ouch, this thread, IMHO, is ripe for closing, when people with substantial background start to argue what "AAA" means, you know it's time.

    Just for the sake of posterity: "AAA" is a BS catch-all term for many things, sometimes it means team size, sometimes it means time, often times it's a pure marketing-BS, but most of the time, since it glues together all others: it's a budget thing. But no one knows what AAA really should mean, everyone have their own boundaries what's AAA category and what's AA. So it's totally pointless to argue if Unity is an AAA-capable engine or not, or any games made with Unity reached AAA-level. AAA isn't real, it's a made-up term and everyone have their own definition. For fox's sake, for some people the out-of-the-box over-processed, super-motion-blurred Unreal-look means "The AAA".
     
  21. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    obfuscating the definition of words is what internet trolls do. You know, people who argue because it's the surest way to get some engagement, not because they are interested to learn anything new, or genuinely help others.

    For anybody who has a goal to make a game, the only thing to do to determine best tool for the job is test. Is polling random people on the internet helpful? It can be, though it can just as well be harmful because you have no way of knowing who is answering and what they actually know. Somebody who knows a bit about programming could make what seems like a really good point and it convinces you, but then 6 months later you realize that the sort of stuff they base their decisions upon has little merit in an actual production environment. And this is because they never did anything like what you are doing, but they thought they knew enough to make broad extrapolations.


    The only thing you can be sure about is actually testing and measuring your own unique use case. There may be a case where for 99 reasons unreal is the best choice engine, except for some unique reason Unity is going to make the project easier for you. Or vice versa. Or maybe it's Godot, or w/e.

    Making game is very complex and nobody understands the factors effecting your team except you.

    What you can be sure of is people drawing out big silly theoreticals to argue about game engines and other software like its football teams probably don't know much, because this is about the worst way you could make an important decision. It's entirely emotional based decision-making process. People doing this are not making games, they are trying to justify decisions they already made.

    This is the opposite of intelligence. Intelligence always keeps asking, "am i still on the right path?" "What if I am a dumbass?" "Is what I understand to be true still true given what I know now?"

    You can freely ask questions like this of yourself any time. It doesn't hurt. Nobody has to know that you are doing it. You can still seem perfectly confident and competent while continually questioning yourself like this.

    This way, you won't get caught in a stasis where you can never learn anything new, or rewrite old decisions because you've gotten into a habit of protecting yourself from scrutiny, instead of scrutinizing yourself all on your own.

    To anybody who isn't a complete goober, AAA means a big ass team with money. Why anybody who is asking 101 questions should be concerned with what a big ass team with money can do with a game engine doesn't seem like a very useful question to me. A more important question is what are MY current limitations, and if I use one tool or another, how will it affect what I can or can't do given current limitations. To answer a question like that, you have to first have a plan for the game, and you have to do enough testing to figure out where your strengths and weaknesses are. It takes some commitment.

    Or you could argue endlessly about what is theoretically possible like fans for some sport team, while never kicking the ball down the field.
     
    Last edited: Dec 12, 2022
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    upload_2022-12-12_15-53-2.png
     
    Last edited: Dec 12, 2022
    ippdev and DragonCoder like this.
  23. Well, technically (and if my spotty-at-best American culture reference-knowledge doesn't cheat on me) the "AAA" term refers to (since A is the highest possible mark in American grade system):
    - critical success
    - innovative gameplay (ROFL... oh, the irony)
    - financial success

    Obviously, by this definition almost none of the games we view nowadays "AAA" would be really "AAA". But again, this is just one "AAA" definition, may or may not be the originally intended one (I don't know anyone, who really knows).
     
  24. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    I have never seen this definition applied at all. AAA has always referred to the production itself, not something after the fact, and certainly not "innovation" in any degree. It's a predictor based on production and budget.
     
    KyleOlsen likes this.
  25. carking1996

    carking1996

    Joined:
    Jun 15, 2010
    Posts:
    2,609
    Okay, can we all tone it down on the definition of AAA and stay on topic? No need to have this locked, please. Just because we are anonymous on the internet doesn't mean that we should be acting like children.

    The topic is Unity and RPG-worthiness.
     
  26. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    499
    Biggest draw back with unity compared to Unreal is world building and the workflow around that. You can make open world in unity but workflow is a pain. Ontop of that the problem with single precision (HDRP might fix that depending of the required level of detail of the transforms).
     
    Deleted User likes this.
  27. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,025
    From the same source that says a kilo of beef and a kilo of compressed air weigh a different amount? Can't be trusted :D

    Seriously though, the thing is that certain levels and metrics of quality are correlated with AAA companies so it's easier just to use the term to get people in the ballpark of what you mean. Language is never all that precise.
     
  28. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    Aren't weight and mass two different things. Like would one kilogram mass of Helium actually "weigh" one kilogram if placed on a scale in a balloon at sea level and room temperature?
     
  29. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,025
    Well since no question or statement can ever provide sufficient context for itself, I think it's fair to say that equal circumstances of measurement was implied.

    But let's not derail!
     
  30. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,091
    There's many MMOs made in Unreal with pretty complex UI like Lost Ark:

    RPGs are even simpler to create, additionally some of these 2,5d games have amazing 3d cut scenes thanks to Unreal capabilities.


    19:19:
     
  31. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,572
    That is not complex.

    Can you make Excel in it? That's complex. You would be able to make Excel in Unity.

    Unity UI - original one - uses ideas from Qt framework, although does not implement all of them (GridLayout). Your example can be done with static non-removable panels fixed in place, without dynamic layouts.
     
    Ryiah likes this.
  32. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,091



    Complex enough for 95% of RPGs.

    Excel in Unity UI (not UI Toolkit) without custom changes would be laggy mess.
     
  33. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,572
    This is still not it.

    What I want to see ifs a layout that can dynamically resize itself to accommodate for its content or can shrink its content.

    This thing here is a panel with a scroll area that has items set to fixed size. I've seen the same thing in Conan exiles. It is not the same.
     
  34. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    have you used unreal at all?

    i can make you a menu that can do that, lol. I probably understand about 1% of the UMG toolkit. It doesn't require anything special at all.

    I'm sure somebody could probably point to some actual shortcomings of the engine pertaining to actual game development problems. Why just come up with zany stuff like this?

    if you can't figure something basic like this out (like literally just push the buttons that are front and center enough times and you can figure out how to do it), you could always try dev'ing harder. Why is it that in unity you expect everybody to dev harder, but in unreal if you get hung up on some random tool you think the foremost game engine is junk?
     
    Last edited: Dec 18, 2022
    Deleted User and Henrarz like this.
  35. Deleted User

    Deleted User

    Guest

    I always wonder how can someone play a game with UI being this complex and bloated?! But anyways, there are also many mobile rpg games made with unreal having such ui system, so i guess unreal can handle such ui's pretty well!
     
  36. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    Complex RPGs tend to attract people who love theorycrafting as much as they enjoy playing them. That said if you look at the UI there is a details button. I'd be surprised if that button didn't toggle the statistics panel to the right.
     
  37. Kamyker

    Kamyker

    Joined:
    May 14, 2013
    Posts:
    1,091
    When you start the game as a new player most of UI buttons are disabled/hidden and are slowly introduced to make the game more interesting.
     
    Deleted User likes this.
  38. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,161
    Play a Crusader Kings game if you want to get a general idea for UI complexity scale.

    Not that Unity is much better, mind. Even with UI Toolkit, scalability and implementation of UI concepts is kinda a mess.
     
    Deleted User likes this.