We have been using Darkplaces engine and we are looking forward to switch the engine for the future projects (current engine is GPL and I am not sure we can find a way to integrate Steamworks into it, it’s somewhat slow with realtime lights / dynamic shadows and other effects, support is poor, no good tools whatsoever).
The question is Unity or UDK?
Can I get any objective tips on which way to go, please?
I am an artist and good tools are the must! Also, I am looking into learning some coding and Unreal Engine scares me (and I heard that Kismet is not gonna solve everything)
Although, there far more training resources and tutorials available for UDK than for Unity
There is no reason to focus on a single technology. Use whats best for the task
Technically UDK might be more interesting from the straight point of view, but I would still favor Unity here, because it allows you to target Windows and OSX, and OSX Steam support is a massive thing at the time
As for the engine you use now: that engine will indeed techncially prevent any steamworks usage as you are not allowed to disclose any information on the steamworks integration which is enforced by the GPL license
@ dreamora: we can use pipes and DLL that doesn’t link to the engine, but rather uses script (QuakeC) to access Steamworks functions. QuakeC is not under GPL. Also, there is OpenSteamworks, but I have no idea what Valve’s position on it…
UDK is great if you have a large team, especially with coders who already have Unreal experience.
With Unity, you won’t get quite the same technically impressive visuals (I say technically impressive because a good art direction is way more important than a good engine), but you’ll get your game done sooner and with considerably less headaches.
Why would I get headaches with UDK and I won’t with Unity?
Another thing that puzzles me is that people keep on saying that I can have game done with Unity in no time… How is it different making game using Unity and UDK? Both require coding, both require art assets…
TBH - Looking at how Unity does things and how UDK does things I would say Unity is a more user friendly for a novice to advanced programmer. UDK is a complex piece of programming and has a large number of internal scripts to modify (making new classes from existing ones) to get the effects you probably want, unless your game is a First Person Shooter. You will have a steep learning curve where as Unity you can build anything with it since it is focused on making games of any type.
If your game is a FPS then go UDK as most of the work is done for you.
It doesn’t matter if you are targeting for an FPS or TPS with UDK. Getting a 3rd person camera on UDK takes few lines of codes or few kissmet nodes.
You shall provably see your projects (long and short term) needs and decide which one fit better your needs. Unity is 10 times easier, but also have 10 times less features than UDK. If you are somewhat new to game dev, Unity shall be a good starting point (and maybe a long term engine choice). If you are serious about game dev and have some real industry experience, UDK is the way.
They are currently running (ultra smoothly, nicely and fast) on PC/iOS. I heard few rumors about UDK Mac builds support in 2011.
They also support (internally) few other mobiles platforms. Now they fully support iOS, its a matter of time to see other platforms merge slowly in UDK.
You won’t find a better deal than the license included with the free version of Unity. There just isn’t a better deal out there. You are able to earn up to $100,000 without paying a cent in license fees or royalties. Even the pro license, which is $1,500, is hard to beat. Only a few other engines (Shiva3D for one) offer a better deal (roughly $250 and the ability to distribute to Windows, Mac, Linux, iOS and web). Before you go to UDK be sure you fully understand their license and royalty program. That 25% royalty could be a deal breaker for many indy game developers.
That depends. The Unity stand alone, by default, runs using DirectX but you can “force” it to run using OpenGL which means it could work. Some have reported to have gotten it to work, but it will take some extra effort and won’t be “plug and play” by any means (search the forums for threads on Linux). If you absolutely need Linux support, then take a look at Shiva3D.
Oh, you’ll get headaches regardless of your engine. Unity, however - and this is almost impossible to describe - really does a great job of staying out of your way, code-wise. It gives you a blank slate and all the tools you need to get something running. UDK, on the other hand, requires in-depth knowledge of internal workings before you can really be effective at creating things.
As for Unity taking less time, again this makes almost no sense, but Unity is definitely much quicker and I can’t explain why. It’s just the workflow.
As always, the best thing to do would be to test them both and see which one is better for your needs. Give yourself at least 2 weeks with each engine and then decide. While we’re on the subject of testing, also give Shiva3D a try while you’re at it.
Same could be said for Unity. It’s just how you apply yourself.
To put a solution to your problem. Make a simple project. Take an asset from point A to B, write a simple script that does something. Think about your target audience and platform. And if you go down a road that the software won’t take you, just switch. It’s not life or death.