Page 1 of 1

Unity3D conquering everything

Posted: Mon Jan 19, 2015 8:54 am
by endless_dark
Hello everyone, I recently noticed that Unity3D is conquering the game industry. At least for indy developers and small companies.
I've learned through the years many programming related to 3D graphics and game development in a framework agnostic way, plus I have a devotion for free software and open source.
But now everywhere I go I just find people willing to only use Unity3D. I've been unsuccessfuly trying to convince them to adopt other 3d engines like Irrlicht but people today it's only willing to use Unity3D, I've even been kicked out from a project for declining to use it, and I was the only programmer. Unity3D is the only requested tool everywhere I go.
Also, if I have to develop on Unity3D I have to create a Windows partition on my machine (ugh!)

What are your thoughts on Unity3D and it's huge market share?

Re: Unity3D conquering everything

Posted: Mon Jan 19, 2015 9:12 am
by hendu
It is a limited tool with financial (and other) consequences, but suitable to many who cannot program.

Its popularity, combined with its main audience, leads to many if not most Unity games bearing a recognizable Unity look. This is a bad thing for them, marking them as another "me too", coining words like unityware and unitytrash. There's a stigma associated with being recognizably Unity (in the actual game scenes, not counting the forced loading screen banner).

This in turn means a skilled Unity developer will have to spend more time to separate themselves than they may have had to with another engine.

Re: Unity3D conquering everything

Posted: Tue Jan 20, 2015 5:15 pm
by Granyte
hendu beat me to it unity is a toy for those who cannot program

Every unity game is bound to the same limitation and looks quite like the other one that came befor it

Re: Unity3D conquering everything

Posted: Mon Jan 26, 2015 1:21 am
by Asimov
Hi all,

Unity is a very powerful tool and can be scripted in C#, bool and many other languages.
I am in a team now developing a game for Unity and using irrlicht for a personal project, which I am having a lot of trouble with heh heh.

Unity is also great for making web games, and the built in shaders, and effects are excellent.

The downside is the licence fee you have to pay to release your game and to get real cool effects you need the pro version.

I would say that Unity is better than Cryengine and the Unreal engine, although I love the glow shaders in Cryengine.

As for how good it is, it depends on what kind of game you are trying to achieve.

Re: Unity3D conquering everything

Posted: Tue Jan 27, 2015 11:48 pm
by REDDemon
Unity has many issues especially in the framework api, you can script the editor to customize it (in example you can do in-editor mesh editing if you script it in C#) but it is an hell because has an awkward api. It is good when working alone on simple 3d games becaues "write one and compile for many platforms". WOrking in team is a pain (unless you pay the unity subversion system) because also getting all physics settings in all team-mates requires manual and step by step configuration. It is simple only if you rely on Script-only features (you have however to package assets and send regulary to mates instead of a SVN/GIT update, because you want same import options on all assets)

If you are going to do a 2d scroller game Java/Flash is much better.

If you are going to implement a voxel engine beware that unity does not allow low-level access to rendering api and so you cannot do "background updates to VBOs". You cannot even do post-processing unless you buy Pro license (wich also allows you to plug native c++ code so oyu can access low level rendering functionality DX/GL, but building native code for each platform is your problem)

Unity has full FBX support and can import images and sounds with control over quality-size wich no other engine has (still it lacks MIDI support).

Few words over its component system => it's a hell, and it is hugely misused.

GameObjects entities should exist only if they correspond to visible items :
1) it is good coding practise
2) gameobjects are heavy.

Users should hardcode 1 main (thus require at least 1 gameobject) and then code as usual, instead you see dozen gameobjects wich embed application logic and result in really hard to debug code, the problem is that such bad coding practises are "sponsered" by unity developers with the unity demos, when you get stuff in the asset store it is very likely it follow the "GO blob antipattern" (fit everything into GameObjects). thus there are lot of users developed tools that allows amazing results with no effort (you have in-editor spline editors, mesh editors, advanced terrain and particle systems etc.)

It has lot of pro and cons. Personally I would use it for any game that requires animated meshes and don't need special optimizations for speed (too many units or too complex AI routines).

Many see Unity shaders as a good system.. It's a mess, if you write a shader wrong, there is no f***in error sayin what you mistyped (thanks to messy usage of CG and maybe to CG to!). In GLSL you get the exact line and a vague description of the error at least (also unity shaders add many instructions behind the scenes so you usually ends fill-rate limited faster than other engines, also the Unity terrain engine is very bad, it adds many drawcalls if you do things in wrong way).

So if you need a game fast (you can probably do a tetris faster in C++/GL/SFML probably), unity has no rivals, but when complexity start raising you have to do special tweaks just because you are using unity.

Also they have 1 webplayer (wich provide playability only on Windows), and they do crazy things to keep webplayer compatible with future unity extensions .

Re: Unity3D conquering everything

Posted: Wed Jan 28, 2015 1:21 am
by Asimov
Hi RedDemon,
Also they have 1 webplayer (wich provide playability only on Windows), and they do crazy things to keep webplayer compatible with future unity extensions .
This isn't a problem for me as I only use windows and have no intention of ever using linux.

If I was doing a full blown 3d game with terrian I would use Unity. If I was doing a small game I would use irrlicht.
I agree it is bad practice to stick code on every game object, and this is what I don't like about unity.
I do like the fact you have shaders straight off the bat though, something I am having difficulty with in irrlicht at the moment heh heh.

Re: Unity3D conquering everything

Posted: Wed Jan 28, 2015 12:56 pm
by REDDemon
Just mentioned it for the sake of it, developers use Webplayer compatibility as excuse for being late in developing certain features and not fixing bugs regardless if that is true or just an excuse :D