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

03/04/15 - Crowfall Is Using Unity 5!

Recommended Posts

Unity 5 handles sound too?  Forgive me if this is a nub question.

 

Sound is so important in a game, it helps adds immersion and depth while reinforcing the action you see on screen.  I love sound feedback and feel most mmo games today don't give it enough depth.  Let us alter our own sound files client side so we can choose what we want to hear.

Share this post


Link to post
Share on other sites

I really love Unity for its flexibility and its rapid prototyping capabilities, and all the lovely goodies that come packaged with it. The new audio stuff is absolutely amazing! Not to mention that it finally has the better garbage collection (memory management) it should have had years ago, making it significantly more powerful as well and really suited to make large scale games like an MMO.

 

I made prior estimates on how many players there could be on the screen and such, but man, I based that of the previous version of Unity. Now I don't know...

 

 

Question! I would love, if you have the time of course, to hear about how you're going to tackle the procedural generation, I'm really into that stuff and I want to use it for my own games as well.

Share this post


Link to post
Share on other sites

Is Unity 5 using mono 3.2+ yet or are you still stuck with the horrible Boehm GC?

 

Unity uses a modified(?) Mono 2.6.5 which still uses Boehm GC. 

 

The devs at UE are working on their new IL2CPP compilation path (currently only available for webGL products and iOS I think) which the developers say will give them the flexibility to upgrade - though to be honest I'm more interested in getting better .NET compatibility than I am in upgrading the GC (controversial controversial!)  This change I believe they said at this years Unite would happen in the 5.x cycle, but not for 5.0.

 

That being said, I should add that the Unity GC isn't half as bad as it's made out to be, and as most things in game development it's just about having an understanding about what is going on and working with the system and not against it.  The biggest mistake is assuming that the CLR is going to handle it all for you.  For most mundane day to day tasks, it's perfectly safe to rely on a garbage collector to not have to worry about the intricacies, but for high performance and memory intensive applications you need to be an active participant in how you deal with your memory no matter what language or platform you are developing in/for.

 

I think those of us who come from a C/C++ background are more familiar with being very to the metal with memory, moving to .NET and having a seemingly light-featured or unintuitive API abstraction around it initially feels cumbersome and inefficient.  It's easy to get frustrated, and that frustration I think turns many programmers - even experienced awesome coders - to think poorly on these tools.

 

Once you embrace it (warts and all) and begin working within the paradigms of the language and runtime, it becomes a lot more manageable (no pun intended) and intuitive.  Certainly well worth the effort!

 

I hope that answers your question!

Share this post


Link to post
Share on other sites

Now that UE4 is free, would you tell your past self to choose UE4 instead? What advantages or disadvantages does UE4 bring compared to Unity5?

 

The short answer is no, I've been using UE4 as a hobbyist for about a year now, and prior to that have had some experiences in UE3 and I still don't think it's the right fit for our team or project.

 

The longer answer is that while UE4 has made some significant improvements over the previous generation, not just in terms of user facing features but developer workflow as a whole, it's still a huge investment of time in order to make it do things the original developers didn't intend.  I love UE4 for specific types of games, and even though various flavors of Unreal have been used as clients for MMOs (we have CF devs who have done it!) it requires a lot of effort and modification in order to use it that way.  If you want gory details, we'll have to do it over a beer =p.

 

I think the easiest way to describe the differences between Unreal and Unity is to kind of examine their history.  Unreal comes from a generation of engines where developers created a game,then packaged their tools and code and sold that and the promise of support to another developer to make a different game.  The new developer would then strip out all the gameplay and mechanics and whatever else didn't suit them, while trying to keep the rest of it from falling apart, then graft in new code to make a new game.  Building a game in Unreal is like restoring a car, it's about figuring out which pieces work and which don't and salvaging what you can etc.  The closer to the original car your goal is, the easier it will be.

 

Unity is one of the first game engines I've used that was built as ... welll ... just an engine.  It makes very few assumptions about what you are trying to build, but instead presents you with a lot of tools and common practices and solutions to common problems and then you are asked to figure it out.  It's like ordering a kit car, and things come in a box with just a few of the more obscure bits put together for you.  You can take this kit and build a motorcycle, or a boat, or a snowmobile if you wanted, just take the pieces that work for you and build around it.  For a game like Crowfall where what we want has so many unique aspects, this modular engine design is much better suited to our needs.

 

That all being said, UE4 does have a TON of cool stuff, and it this version is the most pleasant to use in the history of Unreal.  I don't think it's right for Crowfall, but I think it's a fantastic choice for many games.

 

-Howard

Share this post


Link to post
Share on other sites

Unity 5 handles sound too?  Forgive me if this is a nub question.

 

Sound is so important in a game, it helps adds immersion and depth while reinforcing the action you see on screen.  I love sound feedback and feel most mmo games today don't give it enough depth.  Let us alter our own sound files client side so we can choose what we want to hear.

 

It sure does, iirc it's FMOD under the hood.  There's a Wwise plugin as well, I believe.  Unity 5 has added a huge drop of editor tools for audio that I have not yet had the chance to personally play with, but from what I hear it's pretty great (previous to 5 I used Fabric and that was a very well put together plugin).

Share this post


Link to post
Share on other sites

iTween.  You really really need this to help make development in Unity easier.  

 

http://itween.pixelplacement.com/index.php

 

At least, that's my opinion.  The less time you spend with animations and paths, the more time you can spend on other things :D

 

iTween is awesome, I've used it on previous projects and it's been a huuuge time saver.

Share this post


Link to post
Share on other sites

Unity released a new video march 3, The Blacksmith : https://www.youtube.com/watch?v=pXWAsayTFTo

 

" The Blacksmith is a real-time rendered short film inspired by Old Norse mythology. We developed it to try out the rendering capabilities of Unity 5, the newest version of the Unity game engine. It shows the advanced graphics features that come out of the box. "

 

It looks amazing.  :o  :D 

Share this post


Link to post
Share on other sites

Rust has given me almost a thousand hours of un (Legacy of course, not that other hogwash they call Rust nowadays). Is this a coincidence? IS THIS REAL LIFE? COM'AT ME CROWFALLZZZZ!!!

 

Seriously though, great choice and you don't need a freaking ferrari worth of computer hardware to run most Unity games.


“War is mass murder, conscription is slavery and taxation is robbery.” ― Murray N. Rothbard
alGxc9C.png
✣Junte-se a nós✣

Share this post


Link to post
Share on other sites

Thanks for the info in today's update. It sounds like the team are really happy with Unity 5 which is most heartening to hear.

I'm also liking the fact that Unity will enable the team to build new content/worlds quickly so that there will be no need to feel stagnant in between campaigns.


288mqgz.png

Share this post


Link to post
Share on other sites

Unity uses a modified(?) Mono 2.6.5 which still uses Boehm GC. 

 

The devs at UE are working on their new IL2CPP compilation path (currently only available for webGL products and iOS I think) which the developers say will give them the flexibility to upgrade - though to be honest I'm more interested in getting better .NET compatibility than I am in upgrading the GC (controversial controversial!)  This change I believe they said at this years Unite would happen in the 5.x cycle, but not for 5.0.

 

That being said, I should add that the Unity GC isn't half as bad as it's made out to be, and as most things in game development it's just about having an understanding about what is going on and working with the system and not against it.  The biggest mistake is assuming that the CLR is going to handle it all for you.  For most mundane day to day tasks, it's perfectly safe to rely on a garbage collector to not have to worry about the intricacies, but for high performance and memory intensive applications you need to be an active participant in how you deal with your memory no matter what language or platform you are developing in/for.

 

I think those of us who come from a C/C++ background are more familiar with being very to the metal with memory, moving to .NET and having a seemingly light-featured or unintuitive API abstraction around it initially feels cumbersome and inefficient.  It's easy to get frustrated, and that frustration I think turns many programmers - even experienced awesome coders - to think poorly on these tools.

 

Once you embrace it (warts and all) and begin working within the paradigms of the language and runtime, it becomes a lot more manageable (no pun intended) and intuitive.  Certainly well worth the effort!

 

I hope that answers your question!

It does - thanks.  We use mono extensively in a high memory environment and I can say that once it's tuned the sgen GC is much better (although a lot of the devs I know bemoan .Net memory management in general - the LOH is pretty silly from what I hear).  Upgrading mono though gives you both more .Net compatibility (4.0 is supported in 2.10+ I think and there is the .Net opensource stuff too) as well as the better GC so glad to see that will be a possibility in the future.

Share this post


Link to post
Share on other sites

Still curious how Unity 5 will handle large-scale Crowfall battles with many players in an outdoor area.  Any insight into that, please?

 

All of our initial testing with Unity 5 while it was in beta and now with the public release has been extremely positive.  The folks at UT have taken a lot of feedback and improved the core performance of Unity in several ways from previous versions:

  • While Unity's graphics system has recently gotten a huge facelift with Enlighten realtime GI, native PBR support, etc - what most people don't realize is that they also have an extremely efficient renderer.  They have excellent tools and third party libraries integrated - like Umbra for occlusion culling, a slick dynamic batching system (once you know how to use it), and a very efficient lighting model.
  • Unity 5 has made a lot of low level improvements to component lookup and GameObject instantiation speeds, capable of an order of magnitude improvement over previous versions, built ontop of their already well constructed scene graph.
  • Unity's physics is also highly optimized, and several of us were incredibly impressed (dare I say shocked!) with the results of physics stress testing, and how well this performed especially with the new PhysX version upgrade.
  • There are still a lot of knobs that we, on the engineering team, can turn to alleviate stress in some areas or transfer work to different subsystems (for example, I've been toying with Unity 5's new command buffer system to help customize the render pipeline of our game since the needs of the Voxel Terrain are so unique).  

There is no single limiter on concurrent players on screen, but a confluence of systems, architecture decisions, and collaboration with content creators to ensure the best possible play experience.  Unity is just one tool in our belt for achieving this - it just so happens to be a really effective one!

Share this post


Link to post
Share on other sites

All of our initial testing with Unity 5 while it was in beta and now with the public release has been extremely positive.  The folks at UT have taken a lot of feedback and improved the core performance of Unity in several ways from previous versions:

  • While Unity's graphics system has recently gotten a huge facelift with Enlighten realtime GI, native PBR support, etc - what most people don't realize is that they also have an extremely efficient renderer.  They have excellent tools and third party libraries integrated - like Umbra for occlusion culling, a slick dynamic batching system (once you know how to use it), and a very efficient lighting model.
  • Unity 5 has made a lot of low level improvements to component lookup and GameObject instantiation speeds, capable of an order of magnitude improvement over previous versions, built ontop of their already well constructed scene graph.
  • Unity's physics is also highly optimized, and several of us were incredibly impressed (dare I say shocked!) with the results of physics stress testing, and how well this performed especially with the new PhysX version upgrade.
  • There are still a lot of knobs that we, on the engineering team, can turn to alleviate stress in some areas or transfer work to different subsystems (for example, I've been toying with Unity 5's new command buffer system to help customize the render pipeline of our game since the needs of the Voxel Terrain are so unique).  

There is no single limiter on concurrent players on screen, but a confluence of systems, architecture decisions, and collaboration with content creators to ensure the best possible play experience.  Unity is just one tool in our belt for achieving this - it just so happens to be a really effective one!

Thanks so much for that important piece of information! It has been a concern and your reply has helped to alleviate some queries regarding this.


288mqgz.png

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...