Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Crowfall First Week Adoption - Notes.


Recommended Posts

Here are my first week adoption notes for Crowfall. 
 

Engine / Performance.

  • Network Latency. I find it positive that the devs have found a reasonable approach to handling player to player latency issues. Having a player based in Australia fight say a player in Europe with reasonable response times, no ghosting and minimal rubberbanding is actually very interesting technical hurdle to pull off (especially when you factor in 300ms between both contents in raw internet speed alone). I can see at times the T-post bunny hops are still a negative with other players, but I am open to forgiving it due to having transforms sync via Unity3d (I'm guessing via older ver of DOTS or ECS) isn't an easy problem to solve. None the less, I have yet to experience "I lost that fight due to ping" remarks.
     
  • Graphics. Stylized graphics vs high definition is one of those conversations that never ends well. Firstly, nearly every High-definition based game always screws up the uncanny valley moment anyway. There is always a regression back to stylized art directions or worse the texturing / MIP controls are horrible on both performance or if not the human eye. We are advancing quite aggresively in this space via the 3d industry, however its overrated especially if you want faster turn arounds with smaller teams. If anyone has ever built a game by themselves or in a studio setting, picking an art direction that holds over time with faster turn-arounds is critical. I enjoy the graphic style of Crowfall.

    I worked on the early stages of TeamFortress 2, graphically it was a massive challenge to settle on a consistant art direction that reflects your brand and rapid turn arounds. Its also hard to carve out your own style - especially in the Stylized category. You either end up with Disney Infinity / Xbox Avatar Cartoon, Fortnite or WoW. Crowfall design team managed to sneak their own blend here, I'll give them props for that. Not an easy move!

     
  • Animations. I understand that with Unity3d keeping your Avatar rigs synchronized across multiple clients is a network bottleneck, especially you are using a varient of Entity Component System(s) (ECS). The more you trade with the server between clients the more cost it imposes - network specifically. However, this game does scream out for more acrobatic movement with finishing moves and player combat. I hope they down the road invest heavily into Motion Matching (the special sauce behind how in some games like assassin's creed) techniques to make this more streamline, as you still retain a small ECS footprint but you get so much more fluidity to the player movement(s).
     
  • Procedural Terrain. I feel there is too much constancy over consistancy. Biomes and water shaders look very basic in terms of implementation. Despite my praise for the art direction, i do feel here they took a lazy approach to the design decisions. If the games sole priority is to promote PVP first with PVE/Crafting to underpin this, then the structure setups aren't exactly deliberate in design. Furthermore, the procedural generation isn't constant, meaning everytime you play the game it changes. The map generation is a once-off per realm moment, whilst it is randomized its still injected into the clients as a cached static geometry post proc gen. There is a lot of cleanup that needs to occur, mob allocation and variety of tree's would be ideal. Using more effective shaders here would also yield better environment experiences with little to no cost on draw calls either. Using for example Houdini Engine could still give the team access to randomized building designs using the same geometry / props. It would generate more explorative experience(s) and keep each map you visit somewhat more unique.

    Biomes just need to actually make more sense. Especially if the feature in the game is a season change in itself. Triplanner shading is dead simple in Unity3d and It requires little to no effort for example to switch seasons procedurally - Example A / Example B and Example C.

     
  • Memory Leak??. Profiling the game, I can see the map itself actually has threads that aren't merging backonto the main UI thread resulting in a very harsh stutter and GPU/CPU impact. I think this is why players are complaining about memory leak as I would guestimate someone in the dev team isn't approaching the scene switching with clean destroy and thread management. I would go so far as to say that its probably as a result of one of the devs using a custom BackgroundWorker instead of leaving Unity3d couratine approach to threading. Point is its jarring, and i'd lay money its the source of performance over time issues with the playerbase.  

    That aside, I have absolutely no understanding or purpose why this map is also in 3D. Now before a horde of players chastise me about how the map is generated dynamically its really not technically. As stated, the maps post procedural generation happens, do so once-off which means there is a lot of room here for optimization with small effort. The only dynamic occurances on the map is when flags change or certain spots become active and hot. Which if you think of this as a layered approach, the base layer (terrain) can be cached or mesh combined with manual cleanup post proc-gen and the placement of prefabs to represent map changes etc simply could be far better optimised than whats offered up at present. 

    Its just a horrible experience and I fear it pushes negativity on the game far too much.

     
  • Realm Switches. I can't undertand the technical hurdle here that is preventing the develpopment team to use the same functionality / featureset as the Portal system has to date. If you assert that when you switch between "islands" via "portals" really means under the hood your networked player base is switching "rooms/channels" then why would eternal kingdom or better yet realms be any different? The room layers themselves are your network nodes and visually nothing is changing per say as you're still using the same set of prefabs anyway. The scene loading / unloading works for the individual islands so realistically the only equation thats changed is the terrain geometry, prefab positioning and network channel switching.

    To put it bluntly, loading between Eternal Kingdoms and <Realm Selection here> seems lazily implemented. Resulting in a frustrating experience for gameplay.

User Experience.

  • Discoverabiltiy. The game has a lot of very unique concepts to comprehend and that in itself is an amazing feature to celebrate. However, the cognitive load imposed on users requires a lot impact to working memory. This results in what I found to be a heavy sense of burden around understanding how talents, skills, crafting and even at times navigational elements play a role in helping discoverability to work. In short, there are far too many deadends which results in either asking for help form others or alt-tabing to google praying someone took the time to do the job the team couldn't. Importantly, i don't think the game should lead players by the nose to all solutions however there needs to be a rythmn here around how players are expected to discover and what that breadcrumb trail looks like.

    Example piercing vs crushing as a game statistic. What do they mean? how do they compare and more importantly where can i validate theories against these. Not to pick on just one, you could mount a case around say Foreman Runes and their usage with larger ore deposits.  The community do a good job of removing the fog of war, but the intention here is that a player should be able to self-discover it as well.

    Example - Control Click to sell without prompts? Shift Click to split stacks etc. Not easily discoverable.

    If that is you work on the premise that a user interface is designed to answer questions a user might ask, and the graphics represented are the said answer to question.

     
  • Recipe System. Walking up to specific work stations and seeing a list of additional recipes as well as the existing base recipes is honestly surprising design choice. Progressive Disclosure in design is important piece to leverage here, as if I walk up to a wood working station see the first half the recipe tree is the same as it was in the leather working station, it really doesn't amplify the change. Moreover, if the player is working phsysically up to the leather working station then by design they are giving the game client a clear intention - show me all recipes for leather! - mutating the UI modals like this just offers again too much cognitive load and affects working memory.

    The fact they dont' also retain state, meaning the last node you clicked on recipe before switching and coming back also is a lost oppurtunity for easier experience(s).

    Why does the Assembly UI reset everytime you change your amount? Very small effort to fix but such high positive impact on users.

     
  • Assembly UI. A very small change please, make it so that if I click on a component that can also be made in that crafting station, it switches the assembly UI to enable me to create that. Switching in and out of context here is again an impact on working memory for users.
     
  • Realm Switching. The entire user experience simply needs more thought. Especially when the intention is to explain how token system works, the consequences of said choice and more importantly how long term the traffic of items can flow between "modes" of gameplay. This is a critical barrier to entry for the player base adoption of how they react to player vs player experiences / early adoption. 
     
  • Inventory. Playing backpack shape tetris is fun to a certain extent. Having an option to "optimize" to compact placement would be ideally a better option to help balance he burden of size impacts of items vs quantity management.

    Icongraphy is on point, I do feel that every icon so far does a more than reasonable job of promoting its intended "commodity" type. I'm yet to see an icon that makes me feel confused or feels its out of place for its intended meaning.

Features

  • Combat. Enjoyable. There is always going to be issues with balance, its a massive complex game of Rock Paper Scissors Lizard Spock. I am a very forgiving player when it comes to this topic as I don't have the answers to solving it and i'm really yet to see any game ever settle on it. It's going to require a metric tonne of data to baseline what is the balanced solution here and I'm not convinced an engine built on neural AI would solve this either.

    Suffice to say, the ability to construct your own blend/recipe of a character build, try it out then succeed/fail - fantastic. I haven't had this much fun with an MMO since Eve Online, as ship doctrines are always an ongoing debate even a decade later. I look forward to future arguments with other players around build decisions. 

     
  • Crafting. Its complex, heavy to comprehend and adopt but with more focus on user experience principles it is by far the most indepth crafting tree i've had in some time. I love the approach of having runes be the focal point of "upgrades" vs "players". Moreover bind on equip in this space will hopefully future proof the game from black market gold / item selling (which ultimately will kill the virtual economy).
     
  • Equipment. Best In Slot only lasts for a finite amount of time. Again, never ever bring repairs into this equation. Player driven equipment should always have higher priority over pve given equipment.

    However, don't get greedy like Black Desert Online has. I like the experimentation of how an item can result in a dynamic change in stats, provided the RNG is deliberately designed to kill your ambitions through mindless pve grind sessions to backfill. Balance is key here. I almost expected to see a pay-to-craft catch in this recipe system, meaning "if you pay 1000 CRO you can get X outfit to give you 10% more luck in experiments". Please never go down this path, as I will abandon the product.

     
  • Capture the Flag. Love it. Have had an amazing time this week sneaking some points while large clans sleep on their warchests of loot. However, the Eventlog is baffling to why it exists, as there is too much free intel given away. I feel that this needs re-work, better yet it should be a feature in say the talent tree or given to keep/castle owners per say. An incentive to have that extra edge over the rest of the player base. Suffice to say, when I found out that players could all see your behaviour with no effort beyond a mouse click. Felt like I was robbed of the surprise delight.
     
  • Raid Boss. Instant death. Not even sure that is intended but when i first saw how players cheese them by standing on rocks to avoid their hits, this felt like cheating. Yet I can't fault them as being 1x shotted by a Saytr Raid Boss with a bow was crushingly unfun.
     
  • Mounts. Slippery Slope. Vanity items imho should be earned not paid. Theres a limit to the pay-to-experience here, and I appreciate that its a nice wealth generator but I'd rather see a player ride past on some rare mount gained by some specific achievement.
     
  • Vendors. Unfinished. I've been in a lot of teams, i can guess how this conversation likely went down. Something something time ran out, re-use the inventory UI and ship it. Take the time please to pick this back up and rework it. Specifically the ability for rune vendors to have more clearly labled "what they are" instead of imposing extranous cognitive load by way of "guess which rune this means".
     
  • Classes. LazyPeon is a moron if he ever thought this was a negative. I love the ability to go out into the wild see a class / race and never really be certain of what domain they choose and why. You soon learn after the first opening and combat happens. This is exactly why i feel I will be with Crowfall for sometime! - I look forward to more arguments over balance, nerfs and race/class systems.
     
  • Player Markets. Albion Online did it better, suffice to say the ability for land owners to create an actual player market square is far more engaging long term goal imho. Instead of whatever work around is in place at the moment with 90 vendors in a square where you ride between them relying on "is this a good deal?". I'd rather see the same system like this being used in Keeps/Forts has today. You have specific vendor themed shops, you go to them and are able to buy player items from said shops. Ideally this will help drive fluctuations in supply/demand whilst at the same time promote a more enjoyable shopping experience

    Freeport City should also adopt this as in the end foot traffic location sniping in a game isn't fun for competitors or players buying. 

    I do love the idea that players can have their own markets. This is an exciting feature worth experimenting more on.

     
  • Guild Sizes. I love the idea a 500 person guild can lay waste to a keep. I however worry about the ambition of the game vs the reality. To put it another way, if the population had sustainable numbers this would be ideal. Yet, I feel guild sizes combined with alliances just raises the bar of early adoption too high for players resulting in that "theres no real restorative justice". If a twitch streamer is able to rally a zerg to whelp a lower number guilds chances of success, it just results in a negative adoption spiral. 

    I would prefer realms to have progression unlocks that scale with population sizing. Meaning, if there were player population with low numbers than the ability for a guild to field 500 would instead be reduced to 250. As the realm population scales up, then the tiers of unlocks scale with it. Resulting in server population balances being scaleable.

     
  • Hitboxes. The bigger you are, the easier you are to hit and smaller the harder. Being able to hit a character 2-3m away from their actual location or shooting an arrow at a head but missing it by 3/4 of a meter and still landing. Feels.... cheated. The hitboxes appear universal across all races regardless and oversized. I'm happy to wear the cost of a missed oppurtunity because my  positioning  / aim was off.
     
  • Sound / Reverb. Never ever remove the ability for us to hear someone hitting a tree or grinding a mob a grid away. This by far was the most exciting feature I like about crowfall so far. It puts fear into you as a small guild player that your actions won't go unnoticed by proximity but at the same time is helpful when you hunt for fights. You won't see this discussed in Youtube reviews but its the most important feature of the game.
     
  • Spells. I would like to see a spell queue system more but at the same time I feel like that would probably make it too easy to fight. I'm in two minds on this one but suffice to say color grading of spell icons was well done. Helpful with understanding the types of offense/passive/defense they carry out.
     
  • Chat. Horrible. This should have been a deal breaker for "Ship or no ship". Producer who green lit this let the entire brand down. Pick the feature back up, rework it and make it a priority in rebuilding trust.
     
  • Navigation. I can appreciate why no minimap is important but at the same time we are dealing with procedural generated terrain with the same prefab weighting. Meaning there are no unique landmarks in the terrain or horizon to help build memory around. When everything looks the same then in turn it just adds to confusion and disorientation. Compact that with the map performance and visual queues it just means players are constantly in my opinion in a state of annoyance / agitation.

    Pick a side here - solve the map performance and visual queue issues or give up the minimap.

     
  • Party System. Ability to see where a party is on the map would be ideal. I do find it frustrating that when we switch characters we have to re-invite players back to said party. Ability for party leaders to select player icon allocations would be ideal. Furthermore ability for party leaders to allocate icons above enemy heads (1-2 nothing more) even more ideal. Helpful for target callouts.

 

Overall my experience with the crowfall community has been 90% positive. It sucks to be killed and lose your inventory or durability, but thats what i love about games like this. The game to me has enormous potential, as long as the devs are able to balance between "new" features and "finishing" existing ones.

The critical failure of many previous game studios is they assume new means adoption goes up. New is great, provided you have a history of building on previous success.  From what I've heard so far the teams have spent a lot of time to arrive at this moment in the games history, some of it is negative criticism of how that said time could have been better used. I for one don't subscribe to any of it, as i am judging my $79 based off whats in front of me today. How the team arrived at this point is history, what i care about is the future and present.

I'd love to see a roadmap of where the journey goes next. I won't hold the team accountable to deadlines or times, just broadstroke "best idea of the day" visual queue of where they are heading and whats the thought process behind it.  The more they bring the player base along for this journey the more they will ultimately forgive mistakes and celeberate successes. 

This week I've paid for 4 seperate purchases of the game for family and friends. I am so far a happy customer and look forward to what comes next with Factions vs Factions, but I do hope that this game doesn't turn into a Last Oasis / Conan Exiles example of "Why game studios squander their potential" case studies.


 

Update:
Worst game I have ever adopted - and I sat throught Conan Exiles Siptah Early Access Release.

Edited by Dorizzdt
Link to comment
Share on other sites

Excellent feedback! Reading this was a real joy, and I hope ACE takes notice of this post in particular! Well-weighted criticisms and compliments, and I found myself nodding along with all of them, including possible suggestions. Completely agreed on ensuring gameplay/crafting doesn't become a store-bought issue, and I like the idea of scaling guild involvement to realm caps as a means to toggle what works for a given campaign world. I also think your experience on the dev side of this really helped personally open my eyes as a gamer only.

 

 

Link to comment
Share on other sites

7 hours ago, Dorizzdt said:

I worked on the early stages of TeamFortress 2

Cool, a Valve dev! 

7 hours ago, Dorizzdt said:

Classes. LazyPeon is a moron if he ever thought this was a negative.

Someone please tell LazyPeon a Valve dev just called him a moron.

 

7 hours ago, Dorizzdt said:

Raid Boss. Instant death. Not even sure that is intended but when i first saw how players cheese them by standing on rocks to avoid their hits, this felt like cheating. Yet I can't fault them as being 1x shotted by a Saytr Raid Boss with a bow was crushingly unfun.

I think the intention is that you have enough of a group, and the stack of buffs makes it so your survivability skyrockets. 

 

7 hours ago, Dorizzdt said:

Chat. Horrible. This should have been a deal breaker for "Ship or no ship". Producer who green lit this let the entire brand down. Pick the feature back up, rework it and make it a priority in rebuilding trust.

This is one of the things that I hope they re-prioritize a little, as it is not mentioned in the roadmaps they've released.

 

7 hours ago, Dorizzdt said:

Hitboxes. The bigger you are, the easier you are to hit and smaller the harder. Being able to hit a character 2-3m away from their actual location or shooting an arrow at a head but missing it by 3/4 of a meter and still landing. Feels.... cheated. The hitboxes appear universal across all races regardless and oversized. I'm happy to wear the cost of a missed oppurtunity because my  positioning  / aim was off.

I don't think they are going for projectile simulation here, as there isn't collision detection after shooting an arrow. I believe you can get shot around a corner during the projectile path. I think this one can be explained away with "magical arrows", a bit like Dota 2 arrows following the target.

 

7 hours ago, Dorizzdt said:

I'd love to see a roadmap of where the journey goes next. I won't hold the team accountable to deadlines or times, just broadstroke "best idea of the day" visual queue of where they are heading and whats the thought process behind it.  The more they bring the player base along for this journey the more they will ultimately forgive mistakes and celeberate successes. 

Please find the roadmap as of the beginning of this year here: https://crowfall.com/en-US/news/articles/crowfall-flies-high-in-march

Link to comment
Share on other sites

8 hours ago, Dorizzdt said:

Network Latency. I find it positive that the devs have found a reasonable approach to handling player to player latency issues. Having a player based in Australia fight say a player in Europe with reasonable response times, no ghosting and minimal rubberbanding is actually very interesting technical hurdle to pull off (especially when you factor in 300ms between both contents in raw internet speed alone). I can see at times the T-post bunny hops are still a negative with other players, but I am open to forgiving it due to having transforms sync via Unity3d (I'm guessing via older ver of DOTS or ECS) isn't an easy problem to solve. None the less, I have yet to experience "I lost that fight due to ping" remarks.

One of the memes on this board is that Unity is fundamentally unsuitable for the game the devs wish to create, that is, many interacting player entities, networking bottlenecks, graphics limitations, overall engine limitations. This is regarding many 100s of players on the screen interacting in real-time with high tick-rates, something only Planetside 2 has really done. At the moment the game struggles as higher numbers hit an area together, say 100. Frame rates go lower, what appears to be server tick rate goes down a lot. Although newer videos of players have less issues than before, therefore the optimization is working. Zones are currently capped at 200 maximum, but up to 250 in the test server currently. 

I think it boils down to animosity to the Unity engine due to Unity games being considered low quality due to the ease of making games with the engine. I've tried to point out from my limited understanding that this argument doesn't make sense, especially since Unity games have many entities operating in real-time, and that the server back-end is probably going to be quite custom for a game of this scale, such as Planetside 2 did. Did you have any input there, given your expert background? Is Unity fundamentally limited in actualising the game the devs want to make for the larger scale player battles, compared to other engines?

Link to comment
Share on other sites

What a well thought-out and eloquently written post, thank you for taking the time!

Many of the issues raised were a topic of discussion in our small group of 4 players and some of them real pain-points. Your industry background brought context and clarity, which in turn soothed my mind regarding the future of this project. It is good to hear that many UX problems seem rather solvable in the near future, now your post only needs to be seen and taken to heart.

Bump?

 

Link to comment
Share on other sites

4 hours ago, ThePeculiarThing said:

your post only needs to be seen and taken to heart.

Bump?

They've been asleep in America. I do think this needs visibility to the team since it's expert feedback. @ACE-Tiggs I hope this gold feedback can be forwarded to the team.

Link to comment
Share on other sites

11 hours ago, LashLash said:

Is Unity fundamentally limited in actualising the game the devs want to make for the larger scale player battles, compared to other engines?

Yes! I would love to understand how much truth there is to this meme, as it's a refrain made from players all the time but players don't tend to have first-hand experience and it is more likely an "old wives tale" superstition with no merit. Surely there are reasons beyond price that game studios keep using it for MMOs....

 

 

Link to comment
Share on other sites

I'm also curious what seems to cause lag spikes when you move quickly near a zerg. Is this the server and client having to get everything in sync again (network related) or is it just the client catching up to the server and hardware related? I don't know much about game development but it does seem like there is a lag spike when a zerg is behind you, not being rendered and another additional lag spike when you turn to look at them.

Link to comment
Share on other sites

Thank you for taking the time out to put together this well thought out post @Dorizzdt  I've passed this on to our team.  

ArtCraft Entertainment, Inc.  [Rules of Conduct]

Follow us on Twitter @CrowfallGame | Like us on Facebook

Do not meddle in the affairs of dragons, for thou are crunchy and go well with ketchup!

Link to comment
Share on other sites

Overall, pretty good post. However...

On 7/28/2021 at 11:04 AM, Dorizzdt said:

None the less, I have yet to experience "I lost that fight due to ping" remarks.

You should try playing a Titan. It will happen to you every 20 minutes. If you haven't played it, your entire survivability is based around being able to channel (AND HOLD) a specific ability while your "Beserk" timer expires. If you don't start channeling it quickly enough, or if you don't hold it long enough, you can literally one shot yourself for 10,000 damage.

And this timer does not give a damn what your computer says it is. If you have higher than 40ms and you start channeling the ability at 0.5 seconds, congrats, you're dead. The server says you started channeling at 0.0, and you ran out of time. (Which, the math definitely doesn't check out there, but that's been my experience. ANY latency spike at ALL means I have to start channeling at 1.0s left OR HIGHER! And this ability is interruptible, so the earlier you do it the more likely you are to be countered)

 

Like seriously, all you need to do is play this class/promotion for a week and you will start to see the cracks in this game's netcode. Nothing is rolled back/verified. If your game client doesn't 100% line up with what the server sees, you are playing blind.

These are obviously unrelated to Titan specifically and are egregious edge cases, but...

  • You can be melee attacked from up to 20m away from someone on your screen.
  • You can have your abilities go on CD but not actually apply the buffs to your character.
  • You can die to a move that a person casted after you killed them. (Neckbreaking Barbarian corpses are my favorite)
  • Your debuffs / damage can just get ignored completely.

It's honestly a complete mess, but the game does a real good job of hiding it most of the time.

Edited by Delfofthebla
Link to comment
Share on other sites

57 minutes ago, Delfofthebla said:

Overall, pretty good post. However...

You should try playing a Titan. It will happen to you every 20 minutes. If you haven't played it, your entire survivability is based around being able to channel (AND HOLD) a specific ability while your "Beserk" timer expires. If you don't start channeling it quickly enough, or if you don't hold it long enough, you can literally one shot yourself for 10,000 damage.

And this timer does not give a damn what your computer says it is. If you have higher than 40ms and you start channeling the ability at 0.5 seconds, congrats, you're dead. The server says you started channeling at 0.0, and you ran out of time. (Which, the math definitely doesn't check out there, but that's been my experience. ANY latency spike at ALL means I have to start channeling at 1.0s left OR HIGHER! And this ability is interruptible, so the earlier you do it the more likely you are to be countered)

 

Like seriously, all you need to do is play this class/promotion for a week and you will start to see the cracks in this game's netcode. Nothing is rolled back/verified. If your game client doesn't 100% line up with what the server sees, you are playing blind.

These are obviously unrelated to Titan specifically, but...

  • You can be attacked from up to 20m away from someone on your screen.
  • You can have your abilities go on CD but not actually apply the buffs to your character.
  • You can die to a move that a person casted after you killed them. (Neckbreaking Barbarian corpses are my favorite)
  • Your debuffs / damage can just get ignored completely.

It's honestly a complete mess, but the game does a real good job of hiding it most of the time.

Whats your ping to be having issues like this? I seem to have no latency issues at all unless i play on AUS, then i sometimes heal myself but die before it registers the heal. But on EU i can roll out of champions ulti etc and not take damage when i see them use it. Havent really had any issues outside playing with 300 ping.

Link to comment
Share on other sites

1 hour ago, Malikaia said:

Whats your ping to be having issues like this? I seem to have no latency issues at all unless i play on AUS, then i sometimes heal myself but die before it registers the heal. But on EU i can roll out of champions ulti etc and not take damage when i see them use it. Havent really had any issues outside playing with 300 ping.

My ping is typically 20-40. Even when my ping is sitting at a solid 20, I will still have issues with Pulverize / Beserk Crash. If I'm just fighting mobs with no players around, it actually works just fine. But the moment I get into combat with actual players, all hell breaks lose and I can no longer trust the timer to any sort of degree. If you haven't ever tested it yourself I urge you to play a Titan for a bit in actual teamfights and see how hard you can get screwed by it.


When it comes to those other extreme cases I outlined though, it's definitely due to some sort of spike from either the Crowfall servers, my ISP, or the players I am fighting. I couldn't tell you which. It's inconsistent as all hell which makes it all the more frustrating.

Edited by Delfofthebla
Link to comment
Share on other sites

Posted (edited)
On 7/29/2021 at 1:08 PM, LashLash said:

One of the memes on this board is that Unity is fundamentally unsuitable for the game the devs wish to create, that is, many interacting player entities, networking bottlenecks, graphics limitations, overall engine limitations.

Yeah i've read a few of these posts. You can tell they are made by people who've not either developed in a game engine and/or used Unity3D. The game engine itself has an enormous amount of power, the issue with Unity3d isn't the engine its the developer approaching the said engine. Unity3D allows developers to get into the code-base quickly and that also can invite inexperienced devs who just load far too much into the composition, expecting somehow the code base to self-correct. No engine on the market does this well, even with Unreal Engine you see devs using the visual blueprint system to make games and suffer the same consequences.

There are metrics around C++ vs Unity3D (ie GoDot for example). The benchmarks usually stack in favour of C++ but thats also expected, as you're effectively stripping an "engine" right back to the metal and coding your  own performance management frameworks (CPU, GPU and Memory). However, you sacrafice time to market and leveraging off of existing work, so you gain in performance but you lose in time to build. 

Thats the age old battle between Unmanaged vs Managed Code. It always comes up and even outside gaming it suffers the same attitudes. To assert the game is faulty because they choose Unity3D is just pure ignorance.

23 hours ago, seventhbeacon said:

Yes! I would love to understand how much truth there is to this meme, as it's a refrain made from players all the time but players don't tend to have first-hand experience and it is more likely an "old wives tale" superstition with no merit. Surely there are reasons beyond price that game studios keep using it for MMOs....

There is no truth. I also worked on the Microsoft .NET team which Unity3D uses a lot of the base platform from. The pipeline behind Unity3D is stunning given the role it plays in development. Developers write C# code to then cross-compile down to IL2CPP for multiple devices and platforms. Very very hard thing to pull of without performance death and compilation complexities.

There is nothing wrong with Unity3D handling an MMO beyond the experience of the developers writing the code.  Its like writing a desktop app and blaming Windows for its failures?

On 7/29/2021 at 1:08 PM, LashLash said:

I think it boils down to animosity to the Unity engine due to Unity games being considered low quality due to the ease of making games with the engine. I've tried to point out from my limited understanding that this argument doesn't make sense, especially since Unity games have many entities operating in real-time, and that the server back-end is probably going to be quite custom for a game of this scale, such as Planetside 2 did. Did you have any input there, given your expert background? Is Unity fundamentally limited in actualising the game the devs want to make for the larger scale player battles, compared to other engines?

Unity3D does attract a lot of inexperienced developers in their community. Which is a bad and good thing, as it means developers see it as an easy content creation solution to get ideas out and into the market. However, they also skip over a lot of programming skillsets to do so, resulting in a degrading experience mainly because they are lacking understanding of design patterns, memory management and networking knowledge.  Often they also rely on asset store to handle the workload for them, which is again fine in certain circumstances. 

If you take a look at Unity3D DOTS/ECS you can see the engine is tracking towards giving these calibre of devs an oppurtunity to get faster network synchronisation without having to write their own UDP/TCP frameworks. Even as a managed framework, its impressive on how much you can achieve with now little experience. 

https://www.youtube.com/watch?v=oPJsBdMba3k

I've tested this out myself and the network scale is more than you'd need for Crowfall. 

Combine this with AI ML Agents, the engine is doing a great job at moving the ball forward for indie to studio level game development - https://www.youtube.com/watch?v=g1oVZbbvKy0  - Don't get me started on Shaders and how easier they make that whilst at the same time being able to use Avatar Animation / Rigs with Motion Matching as well.

Planetside 2 was built during a time where the engine didn't do the above. It left it to the development teams to handle the workload, which for its time was fine. Unreal Engine didn't even come close to the abilities Unity3D had at the time, and the games that were being pushed out were built on custom engines or engines like RageMP etc. Its really a hard argument to mount that PlanetSide 2 Failed - as I feel they probably were too ambitious with the limits of the player base allowed to connect combined with pings.

Eve Online has around 15k-35k players an hour logged in and they had to build an entire feature called "TIDI" to handle the problem when 300-1000+ players start to enter the same system as one another. Grand Theft Auto V (RageMP Engine) has a maximum 32 player cap imposed and even then cars/players have issues with network ghosting and that's actually using a P2P approach. There are a lot of games around the age of PlanetSide 2 that never came close to scratching the metrics the game was able to achieve - despite the failures. It was a good research moment i think, pitty they weren't able to make it stick.

Today however, we're approaching the problem from a completely different mindset, and if you look at the DOTS/ECS approach its inverting the equation differently to focus on data orientated technology - ie data first principles. This is also an example of how the game industry and general software industry aren't exactly aligned, as whilst the Gaming space is embracing the "Data" first principle, regular application developers have been do this for over 20 years (ie MVC / MVP patterns).

The ultimate goal is to create compressed packets of data to be sent at server ticks that immediately unpack and instruct the clients the result.

Example:
PlayerA Jumps
PlayerB Crouches.

In these two actions a lot of game engines will send maybe around 2-8 data packets to just instruct the clients of that outcome. Ideally you want that compressed down to a single packet as soon as possible. 

There is a catch though, the more you do this the more you also have to be aware of the cheater component, meaning if you are able to send basic instructions from server back to client, let said client do the interpretation of that said packet..well that also leaves you exposed to hacking/cheaters. As they will quite quickly intercept the instruction, inject their own set of instructions and now the server has to second guess/validate what just happened. In short, its a lot of effort to just make a character jump and get sychnronised transforms / locations / validations etc all at once.

Unity3D / Unreal / GoDot / Custom Engine will all suffer in silence over this.

Crowfall team, have managed to do a lot of the above effeciently. I am excited at just how well they were able to make this happen and I'll die on a programming hill fighting any who just assert they are crap at what they do. There is a lot of hidden beauty in this game that I feel a lot of players are just assuming is easy and not good enough.

4 hours ago, Delfofthebla said:

When it comes to those other extreme cases I outlined though, it's definitely due to some sort of spike from either the Crowfall servers, my ISP, or the players I am fighting. I couldn't tell you which. It's inconsistent as all hell which makes it all the more frustrating.

Well I was suprised you aren't suffering this more! When I learned international players are all lumped into the one "game server" I immediately starting getting concerned at just how bad that experience will become. Fully expecting latency to be a major issue.

I will test the Titan out now and see if I suffer the same as yourself.

21 hours ago, ACE-Tiggs said:

Thank you for taking the time out to put together this well thought out post @Dorizzdt  I've passed this on to our team.  

@Ace-Tiggs - thank you for doing that. Pass on my compliments to the team, I am a former Product Manager on the .NET team and fully appreciate the hard work it takes to manage a product / grow new features and also keep a community balance in place. I hope you guys keep the focus, and players like myself will work as much as we can with you to help grow the pie more! :)

Thank you all for your kind feedback. It was appreciated.

Edited by Dorizzdt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...