3D Programming Engine

I'm working on building a game and I need some engine advice. I know Java and I am learning C++/C#. I'm steering more towards C++/C# because I like the Visual Studio editor better than notepad/ eclipse. I've looked at DirectX 11 and Unity. Unity looks expensive but the free version might work. The biggest concept I don't understand is the world mesh and how to build/ interact with that and animation of 3D objects. Thanks in advance.

 

Concept:

3rd Person Legend of Zelda style movement

Button mashing attacks. Hoping to use either mouse input or numpad / arrow keys to direct sword more than just <stab>

Combos and chaining attacks together. Think Wind waker when you would attack until the button flashed and Link would do some neat combo.

Fast paced with dodging and slicing through hordes of enemies until you get to bosses.

Character style: Myrmidon from fire emblem (Shadow Dragon in particular). Fast, agile, crtical hits.

Unity3D free is a great engine. I messed around with it quite extensively. However, the free version only allows you to add C#, Javascript, or Boo scripts, and not change any of the actual engine files, or use C++ (the Pro version does, but that's $1500). If you need a starting place, it is great, but if you want to be crazy and hardcore, go straght up C++11, OpenGL, and SDL. It would be a lot faster than Unity, performance-wise, but is a hell of a lot more work.

So Unity3D and C# are both great. How well does Unity3D integrate with visual studio and what all does using Unity entail? I can google like a pro but if you have any guides you recommend that would be great. If I understand correctly, Unity3D will take care of rendering and C# will take care of collisions and damage, user  input and stats (health etc.) Where does animation and rigging take place and what tools best handle that? I have blender but that's another massive project.

Have you considered SlimDX?  It's not an engine but there's enough sample code you could pretty easily make one.  And it's all .NET so C# and Visual Studio will work fine with it.  It's really simple too, maybe 30 lines to setup your first triangle.  

http://slimdx.org/

Unity3D will be your best friend. It suppose C# and JavaScript(UnityScript) based programming.

Unity 3D free would be the way to go. There are a lot of tutorials on it(digital tutors, youtube) and they just made the ios and android extensions free also.

http://blogs.unity3d.com/2013/05/21/putting-the-power-of-unity-in-the-hands-of-every-mobile-developer/

 

Wow. Glad I didn't buy those less than a week ago. They were ~$400 a piece then. Procrastination!

Thats good to hear man. I'd have been pissed if I had bought them and then found they were free a few days later.

Personaly I find Unity very lacking unless you fork out the $1500 for pro. Cryengine SDK and UDK are 2 great ulturnatives. Cryengine has great potential with Lua scripting and C++. UDK again supports C++ and unreal script. It just depends on what market your aiming for and how much your willing to spend on day 1. With both Cryengine and UDK, you can start building your game from day 1. Unity, your going to end up forking out money for extra tools plus the starting cost.