Search Unity

To Unity or not to Unity?

Discussion in 'General Discussion' started by Recluse, Feb 14, 2013.

  1. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    I had a conversation with a fellow game developer yesterday, who like myself hails from the oldskool days of the ZX Speccy and learned game design by coding in assembler (something I was never comfortable with).

    When I told him I used Unity to create games he was quite dismissive, calling it a 'jack of all trades' and stating that he'd always get better results writing his own engine from scratch.

    My counter-argument was that as a solo dev if I had to write everything from the ground up I would more than double my workload and possibly never reach the point of completing an actual playable game. I also stated that with today's increasingly powerful mobile tech we no longer need to 'push the envelope' to create a wonderful game, and that ultimately ideas and originality mattered more than realistic grass rendering or streaming a mega-texture at 60fps.

    He replied that Unity (and other middleware such as the Unreal Engine) just aren't capable of the technical feats he required. Unity being an 'average car for going shopping' he'd rather build his own Lamborghini and travel in style, he said.

    Any Unity pros out there like to comment?
     
  2. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I think its capable.
     
  3. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    And what amazing million dollar game has his methods made by him is there lol?

    When he can show me he can write a better engine than unity AND a game, I will believe him
     
  4. lockbox

    lockbox

    Joined:
    Feb 10, 2012
    Posts:
    519
    You're absolutely right.

    People who poo-poo Unity are entitled to their opinion. If he thinks he can build a "better" game by writing his own engine, then more power to him. What matters here is what works for you.

    Bottom line: Unity can produce some really great games that people will play. There are more than enough games out there that already prove that. You are only limited by your own skill set and budget.
     
  5. nullstar

    nullstar

    Joined:
    Jul 2, 2010
    Posts:
    186
    Both points of view are valid to an extent. Unity is certainly very capable of producing good results and enables you to be far more productive in a far shorter time span than creating your own bespoke tech. Having said that, if you stray too far outside of common game design and development practice, or performance is absolutely critical, you could easily find Unity starts to become limiting and works against you. At the end of the day its about picking the right tool for the job.
     
    Last edited: Feb 14, 2013
  6. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    How do you know he hasn't already? The OP didn't make any mention of his or his buddies skill level other than to state that they were old school dudes who at least puttered in assembly back in the day.

    As to whether it's "better" is kind of subjective. If I wanted to develop a custom engine for a game I could sell the game and then sell the engine. More money = better.

    If I wrote the engine I could implement any future features with a full understanding of how things work in my engine with free license to change anything I want / need for the cost of development time. More flexible = better.

    If I wrote the engine I would have to learn a ton of stuff and then implement it all consuming more time than I would likely care to spend. So for me less time = better and I would choose to use a 3rd party application such as Unity. I think most of the people that would visit this forum on a regular basis fall into my category or we wouldn't be on these forums.

    The real question should be is it better for YOU.. where YOU are a unique entity who's skill and time can only be measured by the value YOU place on them. Is it worth YOUR time to make an engine? It's not for me but it certainly was for Unity, ID Software, Crysis and Minecraft.
     
  7. spacefrog

    spacefrog

    Joined:
    Jun 14, 2009
    Posts:
    734
    As i myself started/learned assembly coding on my ZX Spectrum back in 1984/85 (most advanced was a Pacman clone, but than left for the Amiga), i felt the instant urge to respond

    He sounds like living in a dream world and probably has no clue of game development how it is done since the early 90's. He's of course entitled to his opinion, but even for the most basic games, like tilebased 2d engines exist today as opensource . There's simply no need to start from scratch, except for the learning ( and later on going crazy and frustrated ) experience ...
     
  8. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Precisely.
    I'll repost some words I had in a private discussion, because they're relevant to the subject.

    (disclaimer : I love Unity, and will certainly not change for another game engine. It has brilliant qualities, like an incredible workflow, simplicity, flexibility, and above all, performance. This list below is just an illustration of the point Nullstar made above.)

    But .... all of these walls I hit would have been the same with any other engine, in my opinion. An engine is intended to be a jack of all trades.
    What I liked with Unity is their intent to optimize constantly the core performances. I mean we've seen some patch notes where you could read "200% performance gain for X feature", while the base one was not so horrible.
    As a dev who knows he will have to recreate a lot of engine features for complex gameplays, that is precisely the kind of direction I want an engine to take : performance improving. Everything else ? I'll make my own versions anyway, I get it now.

    So yay for Unity. The only thing that tickles me is how I had to make my own version of core features because the builtin ones were lacking some precise (obvious) functionality. And technically, this is lost time, as it made me write one feature two times (the builtin based one, realize it lacks an important detail, then writing my own one).

    TL;DR : Analyze all of your technical needs before blindly relying on the engine core features, and take the time to clarify what you'd better rework from scratch, and what not. That will save you a lot of work time.
    But don't start everything from scratch.
     
    Last edited: Feb 14, 2013
  9. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    Why reinvent the wheel? I don't think the performance gained developing your own engine would outweigh the time/effort/cost. It's a waste of time if you're a game developer in my opinion, what matters is the game and the players don't care how it was made, only how it plays.
     
  10. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    According to his word he already has developed several top ten iOS games for clients - though I am not familiar with them personally and won't pass on any details. I'm sure that these games are competent, well-executed examples, though probably not technically groundbreaking.

    He did think if you strayed too far from accepted and general game design parameters Unity would present an obstacle - something mentioned above.

    He also derided Unity's 2D / Sprite capabilities.

    In my opinion, Unity offers a fantastic toolset and I have no hesitation in recommending it to potential developers. As a music producer, I see a parallel - do I need to build all my own instruments from scratch to create a great piece of music? Of course not.
     
  11. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    I made that point - 95% of end players won't care how your game was made and they won't rate it with more stars because you've written the rendering engine yourself. They'll rate it because it was fun, or it made them feel excited, or scared, or because they liked the character and the scenarios in the storyline.
     
  12. spinaljack

    spinaljack

    Joined:
    Mar 18, 2010
    Posts:
    992
    Actually most people who see the Unity logo will say "oh it's another Unity game" because in certain groups Unity has a reputation for putting out low graphics quality games from hobbyists (which is one of the strengths of unity, there's a free version and it's easy to use) Which is why a lot of developers/publishers try to hide the fact they used Unity.

    When someone releases a high quality game with the Unity logo displayed people will say "wow, Unity games have gotten a lot better" regardless of how many AAA games have been released with Unity. Just look at youtube comments (yes I know, it's like watching a train wreck) or game portal sites that host unity game like kongregate.

    There are certainly groups of people who admire someone who can create an engine by themselves (Natural Selection 2) but you're right that the majority wont care how the game was made.

    So yeah, use the best tool for the job.
     
  13. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    Some people always know better I guess. For those with the know-how, it's fine to spend time writing an engine from scratch. For me, that's not an option. I could not begin to challenge Unity's own coders by developing my own system.

    I don't feel limited by choosing Unity - my technical requirements are fairly modest and my biggest headache is designing a level that plays well and that can be resolved in a truly satisfying way.

    I feel there could be some parallels drawn with the overuse of CGI technology in movies. Consider how much more advanced the technology used making 'The Phantom Menace' was than that available for the original Star Wars and you'll get where I'm coming from.
     
  14. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    There are many things that just aren't practical for a solo developer ... if I were to try to `write Unity myself` it would probably take years of work. There's a team of over 100 people behind it, you can't compete with that. As far as a raw engine goes, just rendering and physics, you could do that fairly well by yourself but all the extra support infrastructure, editor, features, etc no way.
     
  15. MarigoldFleur

    MarigoldFleur

    Joined:
    May 12, 2012
    Posts:
    1,353
    Unity isn't really targeted at making an engine dramatically better than one targeted at a specific task I don't think. The ultimate goal is to make it so that you don't have to spend all the time you would normally spend making an engine. He's technically correct in that, if his skill level is good enough, that he could make an engine that would be better suited for his specific needs than Unity, but with Unity he wouldn't really have to.
     
  16. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    I think one of Unity's good points is the user base offers great potential for collaboration.

    Writing your own engine from scratch means you are on your own - nobody else is going to help by creating features or assets you can use.

    For an indie game dev that could take months off your workload.
     
  17. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    The highest quality games made with Pro usually don't show the Unity logo at startup so the bias is for the public to be more aware of Unity at the lower end of the market, unfortunately.
     
  18. carmine

    carmine

    Joined:
    Jan 4, 2012
    Posts:
    394
    "He also derided Unity's 2D / Sprite capabilities."

    The website we're on...it's Unity3D.com <---- 3D

    The logo is a 3D cube.

    It's not meant to do 2D graphics, it's meant to do 3D.

    And yes, anything made for a very specific purpose, will do that very specific purpose better. For instance, a printer/scanner/fax-machine is really kind of mediocre at all of those things.

    PRO TIP: Spend more time with friends who don't deride things. :)
     
  19. MarigoldFleur

    MarigoldFleur

    Joined:
    May 12, 2012
    Posts:
    1,353
    My game before recently was entirely in 2D. Setting up 2D in Unity is easy. Also the logo is a 2D rendering of a 3D cube from one specific angle. Annnnd the website is Unity3D.com because Unity.com was already registered.
     
  20. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Did you tell him that Bad Piggies was made with Unity? The Angry Birds guys have like 90% of the money in the world or something ;), they could have used anything at all, including their own 100% custom engine made out of solid gold. But they decided to use Unity.

    --Eric
     
  21. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    $sfivss1.jpg
     
    Last edited: Feb 14, 2013
  22. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    Eric I'll have to disagree with you on this one, this only proves that some rich guys were too lazy to write their own engine ;)
     
  23. MarigoldFleur

    MarigoldFleur

    Joined:
    May 12, 2012
    Posts:
    1,353
    Except why should they have to?
     
  24. dtg108

    dtg108

    Joined:
    Oct 1, 2012
    Posts:
    1,165
    They wouldn't have to write one, they could get someone to do it for them and it would be very professional. Yet they chose Unity.
     
  25. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    Just because they were successful and had access to several options but still chose Unity doesn't make their choice right for anyone but them.
     
  26. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    That's not really a useful statement, considering that every single person has to make the right choice for them. It's meaningful that a successful company like Rovio chooses Unity, because it gets rid of the "couldn't afford anything else" idea that has sometimes floated around in the past. It's also meaningful that they chose it for a 2D game, even though it's not specifically a 2D engine.

    --Eric
     
  27. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    Yeah, make your own Lambo... right. I know what he means, but usually the home made car doesn't end looking like this:


    and even if it does it takes 17 years to do so.(this is an actual home made Lamborgini, it took it's creator 17 years.

    Usually you end up with something like this:



    of course as parents see their kid as beautiful, someone might see the second car and say it's my 'Lambo', it
    does exactly what I want it to do and it has 'style'....

    I prefer getting a car off the assembly line, since I don't have 17 years to spend on making my 'dream engine'.
     
  28. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    But doesn't do anything to answer the question of is it better to roll your own or not. So what that a company with money chose this platform. They chose to shoe horn their game into Unity which worked well for them.

    I agree that any argument on "To roll or not" isn't going to be won on a features comparison between some non-existent engine and what we see every day in Unity. It's quite clear that the OP's buddy is grasping at straws to throw against unity to support his position. Anyone who's going to say "Well Unity can't do X Y or Z" is likely talking out of their behinds but there is a lot to be said for a solution that isn't a shoe horn system even if the shoe is a nice silky Unity one.

    EDIT:
    The OP feels that his time is well enough spent on cooking up his own system. It may take YOU or I 17 years to build a Lambo but I'm fairly certain there are people out there who could build one a lot faster. Perhaps the OP's buddy is one. I know it's certainly not me... or you.. but nice car pictures :)
     
    Last edited: Feb 14, 2013
  29. MarigoldFleur

    MarigoldFleur

    Joined:
    May 12, 2012
    Posts:
    1,353
    So it'll take him a year or two instead of 17, but that's still a year or two of lost dev time.
     
  30. dtg108

    dtg108

    Joined:
    Oct 1, 2012
    Posts:
    1,165
    Exactly. He could have the game done by the time he finished the engine. Not to mention that it will be out of date by the time he finished.
     
  31. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    Lets assume that the dude has skill, no personal code base to work from and has to learn how to 3d engine. So ya it might take him a year or two. But it might not. I mean the engine for tic-tac toe might be fairly easy to code.

    That "lost" dev time isn't really lost though is it? He's getting an engine along with his game and no legal ties to his cash flow if his game is a success.
     
  32. MarigoldFleur

    MarigoldFleur

    Joined:
    May 12, 2012
    Posts:
    1,353
    That's a very generous estimate for a 3D engine unless it's preposterously simple and Unity has no legal ties to your cash flow. Also you're kinda going out of your way to invent some pretty crazy edge cases here.
     
  33. Kinos141

    Kinos141

    Joined:
    Jun 22, 2011
    Posts:
    969
    Ignore foolish arguments.
     
  34. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    MarigoldFleur when I said ties to cash flow on success I was referring more to any secondary licensing you would do with your engine how ever unlikely that may be but you are absolutely correct I am going for the edge cases, those are the only ones that could possibly make sense.

    I think Kinos141 has the best advice ever.
     
  35. Swearsoft

    Swearsoft

    Joined:
    Mar 19, 2009
    Posts:
    1,632
    Look guys, I have been in a team that tried to build it's own engine. Yeah, it was great, they could do anything with it, the rendering was top-notch (everyone thought we were using Unreal at E3). The guys doing it did it in 3 months.

    We made exporters for everything and we could pretty much get anything out of max, but each game-play element was taxing to the programmers, each scenario needed new elements (we could call them components). They would actually need to create a scripting system if they wanted someone else to handle actual game-play. Guess what we ran out of money before they were ready. In reality the game we wanted was simple in terms of actual coding and if Unity was available then it would be pretty simple to achieve the graphics if that is all they had to do. Instead we lost 5 years of hard work.

    I have another anectotal scenario, these guys didn't roll out their own engine, they extended one that was made available for free (this is on iOS now), they said Unity's overhead was too much. The game was running pretty much from day one (well the single player), it took them a few months to get networking up and then it took them 8 months after that to finish . They are in the top apps of all time, but they could have finished a lot earlier, in the end 'Unity's overhead' wasn't even an issue, since the new iPhone - already out by then - doubled performance...

    It can work, it can go wrong, it can pay off and it can blow up in your face. The thing is it's wise to decide the following:

    - do you want to make TECH or do you want to make GAMES?

    Doing both in this day and age is not really worth it, simply from a sanity stand point.

    Limbo did it and they regretted it. I have read a lot of indie dev stories and the stress they faced is just ridiculous, most of them chose to do both. It's not easy and if you want to make a game there is usually an easier way.

    Being a game developer isn't code for 'self-flogging masochist'.
     
  36. Dabeh

    Dabeh

    Joined:
    Oct 26, 2011
    Posts:
    1,614
    Unity3d.com is just the domain, they wanted Unity.com. Unity3D is not mentioned anywhere else.

    But yes, you're correct that it's meant to do 3D and not 2D. But it does do 2D well, not perfect, but well. It just doesn't hand you everything you need to do 2D off the bat.
     
  37. dtg108

    dtg108

    Joined:
    Oct 1, 2012
    Posts:
    1,165
    But that's not what we're talking about! If he's as advanced as he says, than I doubt that he is making an engine for tic tac toe!
     
  38. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    Haha, I didn't know the Angry Birds guys used Unity, that's brilliant :)))
     
    Last edited: Feb 15, 2013
  39. Recluse

    Recluse

    Joined:
    May 16, 2010
    Posts:
    485
    @Koyima thanks for sharing that - sound advice.
     
  40. PabloJMartinez

    PabloJMartinez

    Joined:
    Feb 7, 2013
    Posts:
    21
    "Patti later revealed they had opted to use the Unity engine for their next project, citing the development of their custom engine for Limbo as a "double product, doing both engine and game", and that their Limbo engine is limited to monochromatic visuals."
     
  41. BPPHarv

    BPPHarv

    Joined:
    Jun 9, 2012
    Posts:
    318
    There's a flip side to this story it seems to me.

    That wiki article points out earlier in the same paragraph that there were a few initial changes to the main concept which contributed to them spending a lot of time on assets they didn't use. I think the article cited 70%. When I read that bit I asked myself how much effort was spent on that and if that effort had been used more productively, for engine development would they still have made the same choice of a third party app on next go round?

    I get that they were pressed hard during the development to get out a game and associated engine and that going with Unity on the next project is going to save them time, money and more importantly the :effort: of not having to deal with their existing engine's feature set.

    Perfect 20 / 20 hindsight I know but food for thought.

    Edit: I have no direct knowledge of Limbo's internal operations and any seeming opinions are conjecture only.
     
    Last edited: Feb 15, 2013
  42. techmage

    techmage

    Joined:
    Oct 31, 2009
    Posts:
    2,133
    Alot of tech nerds want to make their work more valid by doing things the hard way.

    Which isn't bad at all. Writing a whole game from scratch in c++ and opengl is damn impressive.

    But if your objective is to produce a marketable endgame that is 'good' from purely an end user point of view, and you aren't in it for getting any doing it the hard way 'tech' cudos from fellow programmers. Then go the path of least resistance, to me that seems to be unity.