Unity 5 Feature Preview [video]
unity3d.com
unity3d.com
If there's already a checklist like this somewhere, please share with the community, as I'm sure there are many other Unity3D devs here.
What I'm looking for is a game engine (asset library?) that lets me build my town by placing buildings, and dropping in my main character - and then I can just run around the town, opening doors and talking to people. Tons of tons of game have dialogue, medieval fighting, assassinations, kill moves - I don't want to have to spend time making any of that. I want to test my game ideas and see if they are fun. I want to write the parts that are unique to my game, the story and the decisions you make. Then, later, I can go back and iterate on assets.
Both game engines now have Asset stores, but I'm not sure the level designer is to the point where I can quickly iterate over my ideas.
I just looked, and this is the third thing I saw: https://www.assetstore.unity3d.com/#/content/11067
That and Firebox (HTML based VR metaverse, so you can change server and download new content just by walking through a doorway) have me pretty excited about 3D at the moment.
The version of JavaScript that Unity has is actually just a thin veneer around the Mono runtime, so it's not quite the same language or environment you use in the browser or node.js.
However, there are some good reasons for using JavaScript in Unity: using existing libraries and developing new libraries that run in browsers, mobile devices, node.js, Unity3D and other JavaScript VMs, so you can have one code base that runs across all those platforms.
There some problems and impedance mis-matches to solve, to make running existing JavaScript code in Unity3D more seamlessly possible and even convenient. And that's exactly what Browserify does for web browsers!
There is a great tool called Browserify that solves the problem of running npm modules written for node.js in the browser, resolving dependencies, inserting shims to implement standard asynchonous node.js APIs in terms of the existing Unity3D apis, and packaging everything together in one file that can be downloaded and run in a web browser.
Browserify for Unity3D could be called Unityify.
For example of how it would be useful, I'm rewriting Micropolis (based on the original SimCity Classic code from Maxis) in JavaScript, and I'd like to be able to easily drop the JavaScript simulator engine code into Unity3D, and implement a nice 3D or 2D user interface in C# or whatever useful modules I can find on the Unity Asset Store.
I think "Unityify" would be a useful tool that lots of people could use, since the argument for running the same JavaScript code in both web browsers and node.js servers and desktop apps also extends to running it in Unity3D.
Ideally it would be able to just pass the JavaScript libraries through with minimal wrappers, when building Unity3D projects for deployment in browsers with WebGL.
Is anyone else interested in such a tool, or even working on it already, or interested in collaborating?
I wonder if it would be possible to integrate a Mono-compiled version of Javascript (e.g., IronJavascript) into Unity?
Some cursory Googling produced these interesting posts on integrating IronScheme[0] and IronPython[1] with Unity.
[0]: http://forum.unity3d.com/threads/76266-Facilities-for-script... [1]: http://techartsurvival.blogspot.com/2013/12/embedding-ironpy...
That's why I'm now using Unreal Engine 4. If you're comfortable with C++, I'd recommend it, though it's still more or less in beta at the moment.
For instance, my game builds are ridiculously large, because you can't store your textures in a losslessly compressed format (you can load from URL a png manually, but then you have to manually apply them to your models).
Unity has been so successful because it's been an "OK" tool in a land of rubbish. It seems as though it's finally getting some strong competition at a comparable price point, which is great for everyone.
Either Unity will step its game up (which I'd love, I don't want to switch tools), or it'll enter a long, slow period of decline.
I'm not sure if the new "png" format would work for 3d textures though- there might be some other weirdness there (like maybe you can't turn on mipmaps or something) since it's supposed to be used for 2d sprites.
So, what gives? What is the nature of the mono problem and who is responsible?
And the relation between Xamarin and Unity seems bad : http://gyazo.com/ecdf4d7e732ec876b4de9ddf95fdedca
C#/Javascript vs C++/Lua
Lua is easier than C++ but is still, I don't know, quirky, to me.
[0]: http://wiki.unity3d.com/index.php?title=UnityScript_versus_J...
Since I haven't written much "UnityScript" code myself, I'd appreciate your comments about whether you think it's possible (or worth the effort) for a tool like Browserify/Unityify to translate JavaScript code so it runs in Unity3D, or for programmers to write portable modules in a dialect of JavaScript that will run in both.
Maybe Unity3D themselves could help, by fixing problems with UnityScript that make it hard to run standard JavaScript, and providing hooks in their compiler pipeline that enable passing JavaScript libraries through with minimal modification when you're targeting the web browser and WebGL.
In CryEngine their FlowGraph is basically a way of connecting predefined C++ and Lua code boxes. Blueprint in Unreal takes things to extremes and basically exposes almost the entire C++ API to the scripter.
How hard is it to do non shooters in UDK?
It's funny because I was looking to see if I could use Unity with a python like language and Lua seems bang on the spot.
More reason to learn Lua as an excuse to use some thing like Lapis, a Lua framework for Nginx OpenResty which lets you write apps directly on Nginx.
Unity has support for Boo, which is just a Python-like front end for the CLR. I'm pretty fond of it, myself. I prefer to use it whenever I can, inside Unity and elsewhere. The docs could use a lot of love, but it's still very easy to learn and extremely productive and a joy to write. I rarely touch MonoDevelop / Xamarin Studio; I write Boo in Sublime Text, and find it very satisfying.
Another path I've been tempted to explore is to use Moonscript with Gameplay3D, but Unity is hard to leave.
I could be wrong, but I have the impression that Unreal is too unwieldy for a solo developer, which is how I plan to stay for the foreseeable future.
Unreal3 had UnrealScript + Kismet. Unreal4 has Blueprint, which is Kismet taken to extremes, but UnrealScript is no more.
And it's already been said, but in Unity you can use Boo, which is very similar to Python.
In any case, the limitation was never down to the scripting method, more the way that the engine was designed and what it specialises in. Remember that full licence holders had the C++ source.
If you need to develop in C++ then your cost structure (in cash or opportunity cost) means that worrying about paying $1500 for a development tool won't even move the needle.
Maya / Max seat $5000+ (and devs tend to need them too)
Unity's biggest payoff is in workflow. If what you care about is the most polygons on the screen then UDK or Cryengine will win. If you care about the price of getting something out the door and it isn't an FPS then Unity clearly wins.
Cryengine will be $10/month with no royalties, but does not currently support mobile platforms.
For upgrades prices are halved, and their upgrade cycle is 18-24 months.
I dont mean to offend but this kind of reaction to pricing almost always comes from people with little to no money, traction, revenue etc.
The reality is, when you have a game in the market, costs like $75/mo or even 225/mo for iOS/Android targets - that cost does not even cross your mind. It is less than the cost of a single developer for a single day.
It's way too much for the Indie crowd, though, and that's Unity's big problem these days; it's being attacked from below by UDK, where the far lower upfront cost appeals to indie devs and tinkers, AND from above by UDK, which is a much better pro-level AAA framework than Unity, and for which the $$$$$ no cut of gross revenue licensing cost isn't an obstacle.
I have used Unity free version, it was great but always felt nervous about dropping $4500. UDK addresses my pain point and likewise for other indie developers by giving access to a triple A framework without having to worry about return on investment. I definitely don't mind sharing the risk with UDK for a meager 5%.