Search Unity

Do You Find Unity Makes Game Development Faster Or Slower ... Easier or Harder?

Discussion in 'General Discussion' started by GarBenjamin, Jul 23, 2015.

?

Unity Makes Game Dev

  1. Easier and / or Faster

    38 vote(s)
    79.2%
  2. Harder and / or Slower

    10 vote(s)
    20.8%
  1. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Yes I realize these are the Unity forums and people are likely to highly favor Unity either because they have never used anything else or because they have and still like Unity better.

    For those of you who have experience with development in other APIs/engines how does development in Unity compare for you personally?

    The reason I am asking is because I often find myself thinking why is this taking so long? Where "this" is whatever project I am working on when pondering the point.

    For example, I am currently working on a 2D scrolling shmup game. I've spent 54 hours on it so far just to get to this point:


    When I think back to when I was developing with other APIs I wonder why it seems to take longer in Unity. For example, when I was using Blitz or C# & XNA I could do things like this in about 2/3 to 3/4 the amount of time it takes me now. Although I am not positive, I think the difference is just the time spent in the friggan Editor creating prefabs and assigning sprites,scripts and other junk to prefabs. Granted, I do as little as possible in the Editor so I can actually start developing but still this overhead on every project just slows the development pace down compared to things I have used in the past that do not use this kind of workflow.

    Just curious how others find the development in Unity compared to other ways as far as efficiency and productivity of dev time is concerned.
     
  2. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    It's fast as heck if you make everything modular. You end up spending most of your time tweaking values in the editor to fine-tune the behavior of different objects. Compare this to the cycle of test, stop, edit and trying to design ingenious class hierarchies. The key for me has been making every script I write 100% reusable as much as possible. This means generalizing as much as possible. Then you end up getting the majority of your functionality through a few drag and drops and you just add a controller script to an object to get the behavior that is unique ONLY to that object.

    The best way to think of it is you start with a basic slate and then you add layers of functionality to these blank slates. If two objects are similar, copy and paste them and then add another script to give you the changes to the other object where it differs from the original.

    Using the editor and the genius of prefabs is actually the #1 way I have saved time at all.

    For example, how would you structure your levels and stages? Complicated structures, right? What I did was literally create an array of Stage classes that contained an array of Wave classes, and I just tweaked each level right in the editor, collapsing the stages when I was done working on them. I must have saved hours just by not having to scroll through code to modify stupid little things like the spawn rate of this object, or the falling speed of that object... in my next game, it'll be even more efficient because I'll be tweaking everything while playing the game. That's my #1 consideration from the very beginning, how to limit the need for editing scripts. Because when you edit scripts, the game crashes in the editor and you need to restart it.

    That's what it's really all about, micro time saving and maintaining a flow state in your work. It is literally exactly the same thing as playing Starcraft. I also found that while working in one window primarily, utilizing the GUI, I was able to avoid alt-tabbing to the forums because I was getting things done so fast I just wanted to do more.

    That's my take, it's so much faster to work visually than just in code for so many reasons.
     
    GarBenjamin likes this.
  3. Deleted User

    Deleted User

    Guest

    Hmm asset store stuff can make things quicker (like shaderforge).. Using shaderlab for me slowed things down as opposed to using a material editor. I find the component based scripting pretty quick and very simple to use, but that was offset by having to build a lot of tools to fill in the gaps..

    It really depends on what you're doing I guess, the engine I'm using now is simpler and quicker to get things done than Unity.
     
    GarBenjamin likes this.
  4. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Maybe that is part of the issue. Most people are probably using Unity in a much more "Unity way" than I do. ;)

    My levels are actually done with SpriteTile that I bought on the asset store. Terrain data for the parallax scrolling is all just layers of map data. The enemies and prisoners are all just markers on another map layer. It is all visually done but not in a scene. The scene is basically completely empty until runtime. As the map scrolls it is scanned for enemies and so forth to appear. Basically I just did it the same as I always have with other dev environments. So to me it is like the editor is adding extra work to do on everything. Although I do like the ability to visualize the data in the inspector and make adjustments on the fly. That can definitely save some time on the fine-tuning part.
     
    Master-Frog likes this.
  5. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    Yep. That's the time suck. The old ways be slow and require more testing to get it right. WYSIWYG is here to stay!
     
    GarBenjamin likes this.
  6. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    Well, if you want to deploy to multiple platforms it certainly is faster usually. I think for most 2d games it is way overkill
    So it sounds like you could answer this question yourself, why do you use Unity if it is faster for you to use a different environment?
     
    angrypenguin and GarBenjamin like this.
  7. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    You know I have been thinking about that too. I think you basically hit the nail on the head. I can see where for 3D Unity makes game development faster and easier. But for 2D, in my experience, it makes a project more complex, more time consuming.

    Great question! The reasons why I chose Unity are:

    1. I was tired of continually needing to swap dev kits every few years or so. I have done it so many times now that after Blitz and XNA I just wanted to find something that looked like it would be around for a long time (like 7 to maybe even 10 years) before it fell by the wayside. Unity seems to me like it will be around for many years to come. I could be wrong about that but that is just my gut feeling.

    2. I wanted something that would allow me to make games for many different platforms. Unity by far seemed to be the best for this aspect. This is probably not as important now. At one time I thought it would be cool to be able to put out a game on PS3 in the Minis section. And I even considered a cell game although I personally am not into them at all still it had some novelty item appeal. Now I'd probably be content with just Windows, Mac, Linux and web. In reality it may be all that I will ever end up doing anyway. Still the thought that it can support the consoles is a nice one.

    3. Finally, to a much lesser degree, another reason is I kept reading good things about Unity. About how all of these people who had never made a game before were knocking out games in it. Far more people were doing it than ever before. So I figured it must be doing something right. Figured I should check out this thing to see what everyone was raving about.
    I have been thinking a lot about exploring other APIs and engines for 2D games. Because I think there has to be something better for them. Certainly not GMS I checked that out and hated it. Seemed like just a big console of push buttons to me. I am not into all of this GUI editor stuff.

    The reason why I have stayed with Unity is because I continually strive to improve my workflows to eliminate the bottlenecks. And I spend time searching the Internet and checking out videos because I keep thinking I have got to be missing something. Certain things that people are doing that allows them to develop faster. I just assume they must be developing much quicker than I am otherwise I don't understand why they would stick with Unity either. ;) So far though my searching has not turned up much. Most videos and tutorials show the same basic workflows over and over. Mainly just slow, tedious work inside the editor. Mainly laying out the entire world inside the editor having everything in a fixed location already set there. Basically set piece games. Even the name kind of says it all: a scene.
     
    Last edited: Jul 23, 2015
  8. calmcarrots

    calmcarrots

    Joined:
    Mar 7, 2014
    Posts:
    654
    I believe it is making my work a lot faster. I love the scripting in Unity. It is much better than using anything like Game Maker or even DirectX. I started my project at the beginning of summer and I have a lot of stuff done. Obviously there is a lot of polishing that needs to be taken care of. The things that I am going to work this week are posted in the description if you care to look. Anyways, I don't think I would have completed a lot of what I have now if I used a different engine.



    (btw my game is a Bullet Hell Top Down RPG game)

    edit: I guess it is important to mention that although it does not look like there is much going on and it seems like this could be finished in like a week, I did already program a lot of major features such as: Randomized dungeons, huge loot drop system, inventory system, a very flexible ai base framework as well as a base player framework, and under the hood stuff such as object pooling for any object and a whole UI class with lots of functions that control every aspect of my UI. This was all possible because of Unity's flexible work flow.
     
    Last edited: Jul 24, 2015
    GarBenjamin likes this.
  9. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,977
    I've used a bunch of different middleware engines over the years, and so far Unity has been the best one. I don't know if it necessarily makes development of the whole game faster, but it definitely speeds up and simplifies the time it would have normally taken in the past to add new features. So as a whole, my games take around the same amount of time to make, but each one has more and better features, so it balances out. I've only made 3D games with Unity so far, for the record. Haven't done anything 2D in Unity yet.
     
    zombiegorilla and GarBenjamin like this.
  10. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Your game looks cool to me. I've been wanting to make a top down zelda-like action rpg for a while now. I know yours is more like a Smash TV style of game but it still made me think of an action rpg just from the perspective. lol ;)

    Anyway, looking forward to play-testing it. Be sure to throw it over in a Feedback Friday.
     
    calmcarrots likes this.
  11. darkhog

    darkhog

    Joined:
    Dec 4, 2012
    Posts:
    2,218
    Definitely faster and easier.

    Things I don't have to write:

    - Collisions
    - Physics
    - State machine (so switching between scenes is possible)
    - Game loop
    - Delta timing (so game will go exactly as fast as it should, regardless of clock speed)

    Things I have to write:
    - Actual game logic

    So it's definitely faster to use Unity. Not necessarily easier, especially when trying to do something that something custom made would be better suited for (example would be voxel games - sure, they're 100% possible in Unity, but often custom-made engine would be better performance-wise, especially if we're talking really small voxels, not big 1m textured blocks like in Minecraft).

    Definitely though I like sometimes gets to the basics as much as I can, for example now I want to make a pico-8 game, but don't have $20 required to obtain pico-8 ;(.
     
  12. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    WebGL 2d games I would definitely stay far away from Unity for now. I can write a small tile based WebGL game in a few hundred lines of javascript(tutorials to do this in many books) using something like Pixi.js with a download size of <200k as opposed to the 15MB or so in Unity, that just makes no sense.

    There are some smaller things I tend to overlook when searching for the greener grass like drag and drop GUI, sprite slicing/atlasing, etc. If you go to another framework it probably has that stuff, but if you do it from scratch suddenly it is a pain. Really depends on the game though, I was able to do a tilemap and display it to the screen fairly easily with no framework at all. That doesn't mean I get a bunch of cool shader effects and all that but if I just want to display a bunch of tiles, you don't need Unity for that.

    3D I think there is no question, Unity is a lifesaver.
     
    GarBenjamin likes this.
  13. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    That's it exactly. I mean all 2D needs is ability to draw images at a certain location. Period. Whether tiles or sprites. I don't need shaders or any other stuff. All I am using Unity for is basically a blitting engine (although of course it is 3D here not true 2D blitting) and audio API. No Animator/Unity Animations. No shaders/materials. No physics stuff. Basically nothing. I develop basically the same as I would in anything else except for the mandatory messing around in the editor.
     
  14. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Coming from a Blitz background as well I do find Unity to have some issues. I prefer to focus on 2D also and it still just isn't quite the ideal solution. Like you say I can bang out stuff that works in Blitz in quite a short time in comparison. Some things Unity does do well (for me) that I would otherwise have to spend a lot of time doing, would be the complex stuff like physics, collisions, rendering, etc.. probably a lot moreso if you're into 3D.

    But there are still problems and like you I still feel like it just all takes sooooooo much longer than it should.

    I also think expecting people to use the likes of mecanim to do a 2D game is awful. Animation curve editor - not very wysiwyg and so much time spent fiddling with the mouse. And I agree all this prefab stuff and things having to be all put on the proper objects and all this.. just seems like a lot of management and 'work' to try to translate stuff into how Unity wants to do things, rather than it speaking my language.

    Like, I want to add a sprite on the screen and make it move. What do I have to do.... we're looking at importing a texture and setting up import settings, fiddling with sprite slicing and all that, generating sprites into the scene, fiddling around with the camera to make it look right, dealing with materials and shaders, who knows about lighting, then once we're onto getting the thing to have some kind of behavior.. well... now we're down boring old scripting, in a non-game-focused language, or trying to use some clunky third party thing which has all its own quirks and limitations. It really should all be so much easier than this. It just isn't and efficient workflow.

    At times it makes me want to go back to Blitz, except for I DO prefer Unitys cross-platform power, its stability, its continually being upgraded and fixed, the huge community and good documentation etc.

    So, mixed bag for me... it saves time in some areas, totally sucks in others. This is partly what puts me off sticking with a project. Creative people would be far more productive and stick with projects much longer if al this `pain` would be removed.
     
    Ony and GarBenjamin like this.
  15. BIG-BUG

    BIG-BUG

    Joined:
    Mar 29, 2009
    Posts:
    457
    As others pointed out, there is no definite answer.
    You always have to keep in mind that Unity is a general purpose engine with lots of functionality.
    Of course it is easier to create 2d games in an engine specialised on 2d games. The same goes for FPS games or RPG games where highly spezialised engines exist.
    But here the asset store and the great flexibility for editor enhancements come into play, which can lessen the pain with certain things.
    For what Unity does, I would say it is very easy and fast to work with.
     
    GarBenjamin likes this.
  16. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    That looks awesome! I was talking to a friend just a few months or so back about the idea of building a simple game app actually kind of a virtual console. This pico-8 is basically just what I was thinking of! I will have to check into it more. Thanks for mentioning it.
     
    Last edited: Jul 24, 2015
  17. darkhog

    darkhog

    Joined:
    Dec 4, 2012
    Posts:
    2,218
    Yeah, you're welcome. Shame I can't get it (would have to save two whooping months for it, after paying bills, buying food, etc. there's only $14 left for other stuff, sometimes less). If there would be possible to invite/gift it...
     
  18. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The poll is impossible to resolve and the correct answer is unity makes it harder and easier because some parts aren't done for you and other parts are. For example a Matinee style director, blueprints, shader editor are missing. On the other hand the component based workflow, easy modification of editor and easy scripting make things much easier.

    So it's both, in the same way UE4 is both. Pros and cons.
     
    the_motionblur and GarBenjamin like this.
  19. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,369
    If you restrict your project within Unity limits, then yes it's actually really fast. If you are looking for impossible/unavailable features such as next gen gigantic terrains populated with procedural elements and other open world out of the box features then you will hit a wall really hard. In other words, it will be possible to some extends but requires lot of time and effort and no matter what you do, it won't look or perform as good as the competition (UE4).
    In my case, I try to restrict my self to the limits of what the engine can offers out of the box, with the sole exception of rendering (shaders and camera rendering), which in our case I had to write it from scratch as Unity default/built-in ones was a tad slower on mobile.
    Some parts of Unity are quite flexible and extend able which makes your goals faster, others requires tremendous amount of time.
     
    Deleted User and GarBenjamin like this.
  20. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    Just tonight alone I was able to build a system for managing the camera, transitioning to different colors like fading to black, etc. there's an audio controller and I can crossfade music (I lacked that in the last project), now I've slapped together a rudimentary title screen with a couple of little menus. I don't know how it can take longer. I'm just slapping things together and they will work perfectly fine, then later on I'll make them pretty. What's not to love?
     
    GarBenjamin likes this.
  21. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    As someone who has always struggled with code, I have to say that Unity has been by far the easiest to learn dev tool that I have ever used.
     
    GarBenjamin and Ony like this.
  22. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,977
    Holy hell I love it! Now I want a Pico-8. That's how the computers I learned on were. Nothing happened when you turned it on, except a blank screen with a cursor. If you wanted it to do something you had to type it in yourself (it loaded up to BASIC), or load programs from cassette and later on disks. When the first PCs started coming out, I went to a friend's house who had one (a PCjr), and I was like "whoa look at those colors! Let's make a game! Ok, uhm... where do I type programs in?" And... yeah, it was... different, haha. It took me an hour or so to find QBasic and ended up using that (made a Galaxian type game), but from that day forward, things were never the same.
     
    Last edited: Jul 24, 2015
    Kiwasi, Archania, Ryiah and 4 others like this.
  23. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    Ugh, cassette drives...

    I have destroyed many C-64 games bumping the red record button mid load.
     
    Kiwasi, Ryiah, zombiegorilla and 2 others like this.
  24. nivrig

    nivrig

    Joined:
    Apr 29, 2015
    Posts:
    8
    I've been asking myself the same question @GarBenjamin :)

    I've used SDL, Cocos2D and now libGDX, but I'm still drawn to Unity.

    As an engine for small pixel/retro style 2D games it's not a clear decision to use Unity. If you think you might progress to more advanced 2D like Ori, MegaSphere or The Swindle, or isometric, 2.5D or 3D then it's maybe worth considering starting using Unity now to skill up.

    However, technical features are not the only thing to consider.

    I hated Unity when I first came to it from pure code oriented frameworks, but I've gone back to it a few times and I can see the advantages of prefabs and the component model now. Prefabs can be built and tweaked quickly in the editor, and the ECS makes for simple, focussed classes and a lot of reuse. C# is nice language too (and this from a dayjob Java guy).

    Unity provides a lot of features, tools and integrated editors out of the box that could save you time, IF they are applicable. The Asset Store provides more. The community is large and active so any questions you have have probably already been answered. Unity is also so common that any 3rd party service you might want to integrate with will have a Unity SDK. It also seems Unity does a great job of making platform differences invisible to you.

    The key might be using only the parts of Unity that you need. I prefer using code based tweens to Unty's inbuilt stuff for 2D, for example. And as others have said relearn how to do things the Unity Way and your Unity experience will be easier.

    On the downside, Unity mobile and web builds are larger than the other frameworks I mentioned and require more runtime memory. The C# runtime is a bit slow and your code can be decompiled on most platforms, though you can mitigate both these with C++ plugin code.

    There's the Pro/Personal split and splash screen issues to consider too. If you're looking for a publisher I think you'll need to stump up for Pro.

    Sorry, that's all a bit rambling but I can't make up my mind myself and this is all the stuff that's rattling around in my head!
     
    GarBenjamin likes this.
  25. Schizoid2k

    Schizoid2k

    Joined:
    May 6, 2015
    Posts:
    40
    Been reading for a while, and I guess this is a good time to finally post.

    I've been using Unity for about 6 months, and I really like it, but I am also finding it a bit harder to do 2D mobile sprite games than my previous tool (Corona).

    In my current project, which is a very simple tap game, I've been working on it for about a week and made some progress, but I feel I can be much further along in Corona. Things that I take for granted in Corona like touch listeners and auto loading of @2x and @4x sprites are much harder in Unity (at least for me), or can be made with an asset store purchase, which is an extra expense. For this project, I am thinking of going back to Corona to see if I can get this completed quickly.

    But for 3D, or for desktop/joystick based games, Unity blows everything else away. I'm actually looking for a good project where I can utilize Unity.

    --john
     
    GarBenjamin likes this.
  26. cl9-2

    cl9-2

    Joined:
    May 31, 2013
    Posts:
    417
    Occasionally, I'm required to develop games with other engines and frameworks, and in those cases, Unity's a great tool for prototyping, format conversions/exporting, procedural content, and general idea testing and has made game development in other frameworks much easier.
     
    GarBenjamin likes this.
  27. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    LOL! That's great reading because I can tell you have been wrestling with it all the same as I have. Like you, when I first got into Unity I also came from pure code-oriented frameworks. Any GUI tools needed I just wrote them myself or used standards (popular utilities already out there). Unity's approach, their workflows are so different than anything I had ever used or seen before that honestly I asked myself "how did they take something so simple and make it so convoluted?"

    I have spent a lot of time since then (that was near the end of 2013) focusing on streamlining my 2D dev workflows in Unity. I think a lot of people may really like Unity because they do not have anything else to compare it to. Not like a pure code-based API I mean. Sure they may have used other GUI-based development systems and perhaps from that viewpoint Unity is much more efficient to work with. But nothing is as straightforward and easy as just coding.

    I mean sure we'd also use tools to do other things visually as needed. For example, when I used XNA I made a little Hit Box Collider Creator GUI tool. I could load in images and define as many colliders as I wanted on each image. However, where Unity only allows you to add the colliders I could also assign names to each collider. I guess the Unity way would be to use multiple game objects for all of those colliders so they can be named/tagged appropriately.

    I don't know.... I can appreciate some of the stuff... the way some of it works. But some of it just seems very odd to me still. The choices made. To me it seems like a lot of it is half done and because of that I waste my time trying to use what they have then end up needing to just remake that whole piece myself so it is usable in a sensible manner.
     
    Last edited: Jul 24, 2015
  28. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    What I am seeing as a common theme here in these replies is basically confirming my suspicions: Unity, particularly due to its Editor visual approach, makes 3D easier. Having worked in 3D in Direct3D and Blitz3D I can see the benefit and also think Unity is better for 3D. However, these kind of workflows just add overhead and baggage to 2D workflows and make 2D projects more involved and more time consuming than they normally are.

    I should add... the longer I work with Unity for 2D the more systems I build to do things in what I consider to be the "better" way, the more streamlined my workflows become and the more they (Unity) seem to be aware that 2D is not the same as 3D (despite here it all being 3d rendered in the end) and should not be treated as such. I think they are working on it based on a 2d beta thread I read a while back.

    So... this is another reason I stick with it. I have put so much time into just building systems to speed up development and so forth.
     
    Last edited: Jul 24, 2015
  29. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    FYI I've also had that dream of playing my creation on the big screen and I found something pretty amazing(which is talked about here somewhere I'm sure) which is the FireTV gaming pack. It comes with the Amazon FireTV which is a quad processor box and a standard xbox style game controller(supports up to 8 controllers locally) and you can deploy to it with either HTML5 or native Android(Unity builds fine to it).

    It's pretty easy to get going and a lot of fun! Currently enjoying playing XCOM on it and I am hoping the list of fun games keeps increasing.
     
    calmcarrots and GarBenjamin like this.
  30. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    Easier for most things. But if I just want to do some calculations and print some text to the screen I prefer to use Javascript in a browser of even a BBC Micro emulator.
    I can use the OnGUI stuff for this but the compile time gets in the way.

    Perhaps Unity could benefit from an interactive scripting environment to type in scripts while the game is running if it doesn't allready have it.
     
  31. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    I think there're assets for that.
     
  32. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    I've finally decided I am going to take some time to look around at the other options out there. There have been many great APIs out for many years and I have heard of some promising sounding newcomers in recent years. I am not really "leaving" Unity rather I am just checking out the other options. I just feel that if I had a good API code-oriented dev kit I would be far more productive at least for 2D work.

    So... instead of each month thinking why does Unity make this stuff much more convoluted than it was for me before... I am going to take a good look at what is out there and do some comparisons.

    If anyone has any suggestions on what to check into for APIs (as in CODE-ORIENTED development not stuff like Game Maker Studio) please let me know. I do not want something for mobile. Mobile games I couldn't care any less about. Primarily just Windows and Web. Ideally Windows, Mac, Linux and web.

    I am very tired of seeing game dev kits that say things like "without having to code". So nothing like that please. I WANT to code and ideally spend my time only on coding at least as much as possible for the bulk of the project. And when I say that I mean ideally there is not even some GUI Scene Editor Thingy at all. Like all I want is to just open an editor say MS Visual Studio, reference the appropriate DLLs and start coding.

    I just want to answer the question once and for all. And who knows, I might just find that at this point I have streamlined my workflows in Unity enough that it is actually the fastest even to develop 2D games in. I just really have my doubts about that and the only way to know once and for all is to put the others to the test.
     
    Last edited: Jul 25, 2015
    calmcarrots and Deleted User like this.
  33. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,204
    If you liked Blitz you might like Monkey X. It's from the same company and supports quite a range of platforms.

    http://www.monkey-x.com/
     
    GarBenjamin likes this.
  34. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    I have already found Monkey-X and am gonna check into it. It was on my radar just because I was a big Blitz fan. Also MonoGame is on my list. Thanks though Ryiah!
     
  35. Deleted User

    Deleted User

    Guest

    @GarBenjamin

    Good idea, never limit your scope. Find out what works best, way up the pro's cons and go with it..
     
    calmcarrots and GarBenjamin like this.
  36. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    Not sure how low level you want to go but SFML has good bindings for C# if that's what you're comfortable with.
     
    GarBenjamin likes this.
  37. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Hey thanks for the suggestion. I have been on the computer since making my post just searching all over the internet checking out loads of different APIs. My God! There are even more of them out there then I had realized. And many that appear to be code-based! :)

    I had not actually come across anything about SFML and remember someone on the forums mentioning it to me many months ago. I think @CarterG81 perhaps. I checked it out real quick and added it to my list.

    I think it is safe to say I will not be resuming development on any 2D game for quite a while because even after eliminating numerous APIs I still have these on my short list to check out:

    Angel2D
    SFML
    MonkeyX
    CocosSharp
    MonoGame
    Marmalade SDK
    HaxeFlixel
    CanvasEngine
    CitrusEngine
    OpenFL
    Flambe


    I also came across a few interesting GUI based 2D development kits that looked interesting.
    I made note of them just in case anyone here wanted to check them out:

    Tululoo
    CraftStudio
    Game Editor
    Arcade Game Studio


    Keep in mind, I don't know anything about these 2D kits so try them at your own risk. I just thought they looked interesting and seemed like they would support rapid 2D game development. I doubt I will check them out because they are GUI tool / scene based and I just am listing them because many people here like the visual stuff.

    Obviously, if a person is already happy with Unity for their 2D game dev then by all means stay with Unity! I'm just offering them as things to check into for those people who are finding a lot of frustration in their 2D game development in Unity. I am sure even Unity themselves would rather those people find something that works better for them rather than just have them stay hitting their head against a brick wall and getting increasingly frustrated. lol

    And like I said, even I might just find after my adventure is complete that I return to Unity for 2D. Although I must say I think there is a very good chance I will find my answer in one of the alternatives I listed above. They all seem very code-oriented. Some are even C / C++. I always liked programming in both C and C++. Although C# is also cool. I mean to me they are basically 6 one way and half a dozen the other. Except C & C++ will provide some better performance on the CPU side.

    Alright it is now 1:30 AM here and digging through "tons" of different APIs, example source code, checking out the sample demos & games and just searching all over the net has my mind pretty fried at this point.

    Tomorrow I will start working on the list.
     
    Last edited: Jul 25, 2015
  38. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    Or you could write your own!
     
    nivrig likes this.
  39. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    That would have been my answer as well.

    I can only add to this: Unity was the first engine that enabled me to actually create projects in the first place. Programming from scratch on my own never got me this far. Not even close. Not beyond simple text input before I quit it again.
     
    Kiwasi and GarBenjamin like this.
  40. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    Pros:
    Compiles to all mobile platforms. Easy to get started. Lots of features. C# is easy. Some good plugins in asset store. Free version.

    Cons:
    Hard to optimise for specific cases because it's optimised for the general case. C# is not as fast as C++. No inbuilt vector graphics or curve support such as drawing a simple ellipse. Splash screen. Can have large build sizes for almost empty projects.

    At present the pros outweigh the cons.
     
    Last edited: Jul 25, 2015
    GarBenjamin likes this.
  41. JayJennings

    JayJennings

    Joined:
    Jun 24, 2013
    Posts:
    184
    Maybe Corona SDK isn't on your list for a specific reason, but check it out if you haven't. It's been focused on mobile apps, which you said you don't care about, but they just opened the beta for Mac/Win desktop builds, and I know HTML5 generation is on their roadmap (they have it in a closed beta right now).

    It's *fast* and easy to develop stuff with Corona -- if I made my living writing games I would still focus on that, but I make my living teaching game dev, and the potential audience for Unity is just too large to ignore.

    I actually did the prototype for my current game in Corona in an evening just to test the core game mechanic -- then when I saw it would work, switched to Unity.

    One thing that's lacking (especially compared to Unity) is a vibrant 3rd-party tools community. There are tools/utilities available, but nothing like the Asset Store.

    As far as your original question, from a pure 2D standpoint Unity seems to be massive overkill. When you click the 2D button it would be nice if they'd hide all the 3D-specific stuff.

    Jay
     
    GarBenjamin likes this.
  42. Pix10

    Pix10

    Joined:
    Jul 21, 2012
    Posts:
    850
    Easier to get started, always. Harder to finish up, sometimes.

    Most of the issues we've had crop up towards the end of a project when you're attempting to do your final pass and nail down every detail, as you're often having to deal with issues that you've put aside that aren't your issues, but editor or environment issues (these could be bugs or features that aren't working as expected anymore).

    If you rely on a lot of 3rd party assets this can be even slower, as you're dependent on those developers keeping their stuff up to scratch. There's a lot of that around, more so this year with U5 pipping up - some developers haven't moved to 5, some have even abandoned 4.x.

    Part of the problem is that Unity is in very active development and stability is tectonic, constantly shifting. Blitz basic, well, it never really changed much over the years did it?

    So yeah, a bit of both really, or potentially. Depends what you're doing and how complex it is.
     
    hippocoder and GarBenjamin like this.
  43. nivrig

    nivrig

    Joined:
    Apr 29, 2015
    Posts:
    8
    @GarBenjamin I did exactly the same thing and came up with a shortlist, but my criteria were different from yours (mobile was important). Cocos2D-X (which also does 3D pretty well now), libGDX and Unity made the cut.

    You may also be interested in Phaser (HTML5), Atomic Engine, Cocos Sharp, Loom, Wave Engine, Godot and Urho3D. Game From Scratch is a great site that looks at a number of engines in depth.

    My problem may be I'm trying to second guess the future and hedge my bets. I feel like I only have room in my brain for one engine, and libGDX is perhaps the better choice for what I'm working on now and anything I'm likely to make in the future as a solo hobbyist. However Unity will let me make any game I could conceivably make...

    I flip-flop almost daily between "this is best" and "53% of mobile developers can't be THAT wrong..." :D

    Good luck!
     
    GarBenjamin likes this.
  44. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Thanks! I checked out Phaser and GoDot and cannot remember why I cut them. Seems like one was javascript and the other had the big GUI Scene Editor thing. Basically if I saw a screenshot of a GUI editor or a blurb like Easily layout your level in the integrated Scene Editor.... I ditched it. I DID fine the GameFromScratch site in my search. Bookmarked it. Is a great one. Think I was there before too. lol

    I will check out the others you mentioned!!

    And yes 53% of mobile developers can be wrong if the only thing they have tried is Unity! Or if they all are heavily visually-oriented! Artists I think much prefer the visual scene editor way of working. All I am saying is that way is not the fastest way for all people. To me it is very illogical. Maybe I shouldn't throw out the GUI editors completely though because I usually do find form layout GUI design much faster than even coding up all of the GUI for desktop / biz app development. Something just does not click for me with the way Unity is doing it.
     
    Last edited: Jul 25, 2015
  45. tiggus

    tiggus

    Joined:
    Sep 2, 2010
    Posts:
    1,240
    Haxeflixel is a pretty good one and supports all the platforms you were looking for and has a huge community. You have to learn haxe but it is not that different since you already know some OO languages. Haxe is actually a very cool language and can transpile to a lot of different languages/platforms(including Unity although I have no idea how that actually works).
     
    GarBenjamin likes this.
  46. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Also the answers people will give to this thread will be all over the place. No meaningful data can be extracted from it because person A might be doing a small mobile title and person B some form of misguided MMO.
     
    Master-Frog likes this.
  47. Schizoid2k

    Schizoid2k

    Joined:
    May 6, 2015
    Posts:
    40
    Check out Corona... been using it for 3 years and it is great.

    I think I came to the same conclusion as you Gar. I've been trying a couple of 2D projects in Unity over the past few months, but I always go back to Corona. For the current project I am working on, I build a nice foundation with Unity over several days. Yesterday, I started to build the same app in Corona and build the same foundation in 3 hours. Now, of course, some of this has to do with the learning curve.

    I do have a couple of 3D ideas in the back of my brain and when those come to life, I will definitely be using Unity.

    --john
     
    GarBenjamin likes this.
  48. GoesTo11

    GoesTo11

    Joined:
    Jul 22, 2014
    Posts:
    604
    My MMO is The Best (imagine me saying that in a Nacho Libre voice)
    Thank you very much.

    I didn't answer since I don't work with other APIs/engines but Unity makes games POSSIBLE for me to make especially with the rift and sixense plugins (I am working on 3D games).
     
    GarBenjamin likes this.
  49. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Thanks for recommending Corona! I actually checked that out and thought it looked really good as far as the API was concerned. However, it seemed to be only for mobile game development so I cut that off my list. Isn't it mobile only or does it also support Windows, MAC, Linux and web? One thing for sure Unity is doing right is supporting a huge number of platforms. Certainly one of their strongest points.

    Anyway, I am going to start at the top of the list and work down. First up is Angel2D.

    I think I will document my experiences with each of these on my website.

    Yes that website I threw up last year with great plans for and haven't touched since. lol

    Just an update here: I am now at a point where I can actually start using Angel2D. The issue with things is they just don't often work right out of the box. Anyway, I also uploaded my Angel2D Solution Template for Visual Studio 2013. It should work fine on Windows. If not, you will at least be much closer than I was when I first downloaded their stuff.
     
    Last edited: Jul 26, 2015
    Ryiah likes this.
  50. Schizoid2k

    Schizoid2k

    Joined:
    May 6, 2015
    Posts:
    40
    Gar,

    Corona is mobile, but they have an open beta for Mac and PC builds. I believe the latest build includes this, so you can give it a try.

    --john
     
    GarBenjamin and JayJennings like this.