Hello everyone, this is my first time on this forum. I've been searching for opinions on Unity3D. The game engine itself appears very friendly, and the game example that it comes with seems impressive. The internet in general has great things to say about Unity, as far as indy game development goes, but how easy would it be to create a stand-alone game off of the engine that it hands you?
Is it possible to create a game that can't easily be identified as a Unity-product without pushing a created game through a translation to another coding language?
To be honest, I have zero experience in creating functional games, though it has been a point of interest of mine for a while. I find generic programming to be quite enjoyable, and I'm familiar enough with the concepts of classes and inheritance, polymorphism and database functions, but graphics and such have always been a bit far out of my knowledge base.
Just looking for some insight from experience programmers, even if it's not specifically experience with Unity3D. Thanks!
I picked it up about 2 years ago, coming from a c# programming background. If you know C#, then Unity is really easy, user friendly and a lot of fun.
In terms of producing a full blown indy game- you can absolutely do it in Unity free. Things only "obviously look like" unity because of the splash screen You do eventually find yourself wanting the pro features- I think the one feature that eventually pushed me over the edge into pro was the very detailed profiling tool that pro comes with- you can literally see which methods are eating the most cycles, etc.
Unity tends to favour component based rather than object oriented architecture- basically it makes things a lot easier when developing games and is fairly broadly adopted methodology in gamedev.
The community though is what really sets Unity apart- both in terms of helpful people on the Unity forums, Unity answers, and Twitter etc.
Oh, and in terms of your experience base, Unity is a great place to start learning. The good thing with engines is they're not bottom-up, they're top down. By that I mean, you get to start with a bunch of functional bits, and then start delving deeper into them as you learn more. So in a more traditional environment or building your own engine, you'd have to learn how meshes are organised, how to draw them on the GPU, how to write shaders, how all that basic stuff works, long before you can even draw a basic cube. This way round, you get to draw a cube (drag and drop practically) and then via c# and the Unity API, you can start looking deeper into it- playing with the array of vertices, tweak existing shaders. More importantly, you don't have to worry as much about the low-level stuff (if you don't want to), and can get straight on with the higher level stuff of actually writing games.