Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Reasons not to use Unity

This thread is locked; no one can reply to it. rss feed Print
 1   2 
Reasons not to use Unity
Paul whoknows
Member #5,081
September 2004
avatar

I can't find a good reason not to use it, even for 2d games.

____

"The unlimited potential has been replaced by the concrete reality of what I programmed today." - Jordan Mechner.

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

pkrcel
Member #14,001
February 2012

I might agree there are no practical reasons, but then again one should look at reason advocating its use, not the contrary.

It is unlikely that Google shares your distaste for capitalism. - Derezo
If one had the eternity of time, one would do things later. - Johan Halmén

jmasterx
Member #11,410
October 2009

-The commercial license fee is a big one.
-People who don't like C#?
-A bit bloated?
-The Engine Problem

That's about all I can think of. I don't use it because of my first point. Other than that, I've heard pretty much nothing but good things from people who have used it.

l j
Member #10,584
January 2009
avatar

2ez u scrub

Performance isn't optimal I guess. Not too big of a deal for most games.

OICW
Member #4,069
November 2003
avatar

If I'm not mistaken you're not given source codes unless you pay some really big fee. So no easy modifications unless you pay in advance and probably find out it's not the right tool for the job. I'm myself toying with the idea to try it out, yet still I'm intrigued by writing my own engine.

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

GullRaDriel
Member #3,861
September 2003
avatar

Speed.
Framework.
Fashion victim thing.
.

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Arthur Kalliokoski
Second in Command
February 2005
avatar

I was reading about it a few weeks ago, and the full $$$ version only has a few advantages over the free version, so I downloaded it and played with it awhile. I didn't like it and haven't messed with it since. :P

I suppose if you're willing to put a couple of months in to learning it, then adding a couple more months adding specific stuff to get around the "generic look", it'd be alright. I've spent way more than that using C and OpenGL, but there's no accounting for taste.

They all watch too much MSNBC... they get ideas.

roger levy
Member #2,513
July 2002

I can think of a bunch. It doesn't give you as much control - you are locked into whatever they provide, and must mold your goals to fit in their framework - things that are normally real simple become complicated. It is huge. None of my Unity-using friends seem to know much about it, gleaning random things from the people they know, forums, and tutorials (which can become outdated). This is because the docs are not complete, with many descriptions for properties being a repetition of the property name. Android support is not ideal; rather than testing your program on the device, you must use a remote app with choppy graphics and laggy controls. Though they added 2D support, it is not that comprehensive, requiring you to buy plugins for tilemaps, pixel precision, batching, and more.

In short, not all the glitters is gold.

Paul whoknows
Member #5,081
September 2004
avatar

pkrcel said:

I might agree there are no practical reasons, but then again one should look at reason advocating its use, not the contrary.

Reasons advocating its use? I'm afraid basically all, is one of the most professional game engines out there, it's free, it supports multiple platforms, suitable for 2D games, enough for me. That's why I'm trying to find reasons not to use it.

jmasterx said:

-The commercial license fee is a big one.

The commercial version only have a few extra features most people won't ever need. You can sell the games you make with the free version.

OICW said:

If I'm not mistaken you're not given source codes unless you pay some really big fee. So no easy modifications unless you pay in advance and probably find out it's not the right tool for the job. I'm myself toying with the idea to try it out, yet still I'm intrigued by writing my own engine.

It's a closed engine, you are not allowed to mess with the source code.

I hate Matthew for making quote so damn hard >:(

____

"The unlimited potential has been replaced by the concrete reality of what I programmed today." - Jordan Mechner.

Arthur Kalliokoski
Second in Command
February 2005
avatar

I hate Matthew for making quote so damn hard >:(

Wat?

{"name":"608975","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/8\/f8ba8a972a3714fcdfe02cd20b130a4c.png","w":583,"h":130,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/8\/f8ba8a972a3714fcdfe02cd20b130a4c"}608975

They all watch too much MSNBC... they get ideas.

OnlineCop
Member #7,919
October 2006
avatar

I use Unity3d all the time when I make games. I've only used the Mac version, but not the Windows version using Visual Studio.

MonoDevelop/Xamarin that comes with Unity has been stripped down and compiled specifically for Unity. It's outdated and kinda klunky.

Unity allows for rapid development. Plugins (like NGUI) really make it fun to use.

The free version, like everyone said, only lacks a few features that the Pro versions offer. I've rarely used the features in the Pro version; I could have easily have gotten away with the limitations and no one would have been able to tell. But since work bought licenses, I never had to pay the sticker price for it.

I've shipped about 12 games in the Apple and Google stores that were made in Unity (both 2D and 3D).

What I like is that you can see results immediately. You can modify stuff right in the engine, hit Play, and see how things react. You can code with vanilla C#, or you can extend it with Linq and other extensions. (You CAN use Javascript if you want, but JS isn't as feature-rich as C#.)

It smells nice.

I guess your mileage will vary. Of course, so will using Lua, OpenSceneGraph, or Qt. I've found that C#/Unity is "fast enough" for most of my programming needs, and since it's MUCH faster to program in a higher-level language than C/C++, you can get "more" game done in "less" developer time.

What do you WANT to do: spend extra time using a language that gives you a lot more speed on device, or extra time using a language that gives you less per CPU cycle but lets you develop faster?

jmasterx
Member #11,410
October 2009

I've always wondered why there are not really that many languages that are high level that can compile to native code.

I feel like this is a problem that should be solved in some way.

Wouldn't it be great if when you develop, things are compiled to intermediate language which allows you to change things while the engine runs etc, all that nice stuff, but your final build grabs all your scripts and everything and makes a nice native binary blob for that target platform. And it would be optimized to get nearly the same performance as writing native code.

I haven't ever looked much into this so I don;t know what's out there, but I feel like I often hear that using an engine/script solution gives noticeable performance hit over writing native code with something like Allegro.

Dennis
Member #1,090
July 2003
avatar

Here is a reason: It is proprietary closed source software.

StevenVI
Member #562
July 2000
avatar

I don't have much time to develop games on my own anymore. And since I don't really play them either, I've pretty much stopped doing it completely. This is a game that I had started working on with Unity though, about a year ago:

Raid 3D

I thought the engine was pretty cool and no, I don't see any reason not to use it. I only spent like a week's worth of evenings on it, most of it was in learning how to do everything.

I've not seen any good arguments presented here for why not to use it. I say go ahead and start making cool games with it. No sense in writing low-level C code just to stroke your ego. :)

__________________________________________________
Skoobalon Software
[ Lander! v2.5 ] [ Zonic the Hog v1.1 ] [ Raid 2 v1.0 ]

Arthur Kalliokoski
Second in Command
February 2005
avatar

StevenVI said:

This is a game that I had started working on with Unity

unity web player
install now!

No, thanks!

They all watch too much MSNBC... they get ideas.

StevenVI
Member #562
July 2000
avatar

unity web player
install now!

No, thanks!

Yet you probably have the Flash player installed and have no problem with that.... ::) (Not saying you definitely do, but you presented no argument for why you don't want the Unity player. It makes it possible to play Unity3D games just as easily as Flash games.)

I also have a Linux build available if that's more your speed, but it's a bit older. http://www.skoobalon.com/random/unity/raid/2013-10-16/Linux.7z :P

__________________________________________________
Skoobalon Software
[ Lander! v2.5 ] [ Zonic the Hog v1.1 ] [ Raid 2 v1.0 ]

Arthur Kalliokoski
Second in Command
February 2005
avatar

StevenVI said:

you probably have the Flash player installed

But the pr0n!

They all watch too much MSNBC... they get ideas.

Trent Gamblin
Member #261
April 2000
avatar

The best reason not to use it is PLATFORM LOCK IN. You have no control over what happens to Unity in a year, or even tomorrow.

Do you really want to invest years into a game and leave its future up to someone else?

If you're making trivial games it doesn't matter either way, have fun.

You may not care about platform lock in. If you can see yourself making a game, selling it to a bunch of people, then abandoning it a year later, Unity may be for you.

Max Savenkov
Member #4,613
May 2004
avatar

I don't have much experience with Unity yet, but I'd say it's better suited to some genres/kinds of games than to others. For example, creating a tile map in Unity is a PITA, even according to my friend and colleague, who is a long-time Unity programmer. I also think it isn't quite well-suited for 2d games... But I have a bias for Allegro in that department :)

Even with 3D games, Unity should not always be your choice. It can get kind of slow (and hard to optimize) when you want big open worlds (as far as I know, streaming terrain chunks isn't easily done). Overall, performance might be an issue, especially if you didn't pay enough attention to it from the beginning: like all "visual" programming environments, Unity makes it easy for your artists to put together unworkable beast of a level, sometimes by just pushing a few buttons (anecdotal evidence: some changes done to a scene by sound designers brought FPS to nearly zero in a game my friend was working on).

Also, it seems to me that default lighting model in Unity is somewhat... unique. You can often tell a Unity game by just looking at screenshots. This is not a very good thing, and you should be prepared to tinker with shaders etc. to avoid making a stereotypic-looking game.

I have experience with at least 3 Unity-based games that came out in past few years: Shadowrun Returns, Wasteland 2 and Jagged Alliance: Flashback. To me, they all share a feeling that levels are kind of cramped due to engine's limitations, and system requirements and load times do not really match the look of those games.

Then again, Unity offers a way to make your game quicker than any other framework or engine, due to excellent tools and wide selection of assets and additional components in Asset Store. Do not forget about Asset Store, for it could be a great boon to a indie game developer! While there are rumors about similar asset stores for Unreal Engine and CryEngine, so far they are not present (also, I heard that Unreal Engine 4 is an unstable, poorly documented mess with half-broken tools, which should be avoided at any cost). So, at least prototyping game-mechanics in Unity is an option you should consider, even if you will later code the full game with other/custom engine.

EDIT: And web deployment. Don't forget web deployment. I know you all refuse to download Unity Web Player, but the new Unity will be able to compile games into HTML5 and will not require WebPlayer. And putting an online demo version of your game on your site is said to greatly increase conversion rate (source: some Banner Saga interview. This is also why I still hope to bring Allegro 5 to web via Emscripten, but technical problems with the new releases of Emscripten are preventing me from further progress so far.

l j
Member #10,584
January 2009
avatar

For example, creating a tile map in Unity is a PITA

Somebody will probably write a plugin to make it easier.

Quote:

It can get kind of slow (and hard to optimize) when you want big open worlds (as far as I know, streaming terrain chunks isn't easily done)

It's certainly possible, just look at KSP, although the performance in that game is indeed not great.

m c
Member #5,337
December 2004
avatar

Unity has some bugs?

(\ /)
(O.o)
(> <)

Gideon Weems
Member #3,925
October 2003

The main reason has already been mentioned: It's proprietary (and therefore susceptible to platform lock-in). In a way, Unity represents the same sort of step back that "the cloud" does with storage.

Free software is the way of the future.

OnlineCop
Member #7,919
October 2006
avatar

Free software is the way of the future.

I disagree. Blender3D is (and will remain) free software, but it's no Maya. Paint.NET is free (but is no longer open-source), but it's no Photoshop. Code::Blocks is free software, but it's no Visual Studio.

Free software tends to be "backed" by hobbyists, which makes it difficult to give them the dedicated time and attention that you get when a company can throw money toward a project.

Free software certainly has its place, though. I feel most software out there could benefit from "many eyes", although without a central authority to keep the project on track (along with some kind of financial backing), projects will struggle and won't be as polished as they could become.

Unity3D has been demonized here as having "platform lock-in". It's doing pretty well for itself for ONLY being available to play on Linux, Windows, Mac, iOS, Android, Windows Phone 8, and Blackberry.

Yes, if you develop an app with Unity3d today, it may change its business model tomorrow and you won't be able to pay the license fees and all the apps you've created can't be updated anymore. But look at it this way: Angry Birds and a lot of other well-grossing games out there are built on Unity. If you were to make a butt-ton of money, and Unity decides to change its license from under you, your app is still "out there", making you money.

Corona SDK (using Lua) requires that you pay them annually to have the ability to "recompile" your app. So if you pay the fee one year, and the next year you find a bug that you need to patch, you have to pay ANOTHER year's fee just so you can recompile the one-line change and push it out to the App Stores.

With Unity, I can keep using my outdated license to make enhancements.

Build away. Make some money. If their "proprietary (and therefore susceptible to platform lock-in)" software dies tomorrow... you're still making money. :P

Thomas Fjellstrom
Member #476
June 2000
avatar

Thats fine if your only goal is to make money.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

 1   2 


Go to: