I have been evaluating unity3d for the last couple of months. I wanted to get some insight from current unity3d users (especially those who are concerned about raw performance) of how unity3d stacks up against edgellib for a game like star defense. The star defense game is butter smooth on fps during intense play. Constructive Input is appreciated from those that have used Edgelib or have used both tools. I would like to hear all the pros and cons. I have posted a screen shot of the game. I am hoping there are people on the forum that have actually played it.
Just so you know I am very blunt when doing these sort of things so don’t take it to heart.
Great screens in the app store!
The screen shots looked so cool that I was a little disappointed when i found out it was a tower defense type of game.
The curving pathways and the circular areas that the turrets can defend tend to conflict with each other making it so there is really only a few good places, (inside the concave turns) to place turrets.
If you are going to have enemies that are immune to a certain type of damage they have to really telegraph that fact. I had multiple guys get through to my base without knowing why at first. The simplest thing to do is a tutorial but lots of people don’t pay enough attention. Secondly and almost more importantly, to have a “bonk” kind of hit spang so it’s really obvious that they can shrug off an attack.
The pathways that wound around the sphere were neat to look at but didn’t figure into the gameplay all that much. It’s odd to have a tower defense game where so much of the playfield is off camera. I think some kind of way to navigate the important points of the battle line would help but I don’t have any great ideas. Maybe a button that would rotate the sphere so that the line stay in front of the camera?
That was a mean way to end the demo. I liked that you ended it with gameplay but you put such a steak in it’s heart with that onrush that I haven’t picked it up again. Showing another world that looked different would have been better to let me know that there is more out there to explore if I buy it.
Altogether though nice job! I don’t spend enough time to beat most demos but I got all the way through yours. Visually that globe and and the backgrounds really had me hooked. Neat concept that I think could really be expanded on!
golden_gate, OK I’m going to wade in here. I’m not going to talk about the game design of Star Defence, let’s keep this discussion to technical only.
First off a disclaimer. I’ve not used EDGELIB in anger but it’s funny you should mention this as I too was digging around on their website recently after hearing Star Defence used that engine. So, what does that engine get you? It’s a C++ engine and 3D renderer for Euro 1450. On the iPhone they’ve probably wrapped the Apple stuff with a set of C++ API’s. They claim cross-platform between other mobile devices. Their evaluation installs on Windows but includes Xcode projects. The class library looks fairly consistent and well thought out. However, their art tool chain is Windows only. The art pipeline also only supports 3ds and Milkshape models. And when I read that, it reminded me of the ES3D engine (find it on sourceforge).
Secondly, the frame is solid. The game itself while being low-poly seems able to maintain a consistent frame rate. It doesn’t look to have any physics support.
Whereas, Unity3d has an excellent art pipeline. One of the best I’ve ever come across from years in the pro games industry. While it’s not hard to take the ImgTech library (which Oolong famously uses, also check out bork3d.), attach a basic game engine too it and get up and running fairly quickly. You lose out on a few nice features that Unity3d offers, such as the excellent Editor, animation blending and a nice particle system. The Unity iPhone renderer is also pretty fast.
The downside to Unity3d is also it’s greatest advantage in terms of workflow: the Mono virtual machine. For me, pre-1.5 versions of Unity iPhone suffered frame rate glitching. That seems to be less common in 1.5. There is also little scope for manoeuvring around performance issues which inevitably arise when you try to push the platform to the limit. Raw C++ engines give you that extra little bit of flexibility. Of course there’s no such thing as the perfect engine, but Unity3d with C# Mono replaced with C++ would be pretty close, but then I think Gamebryo Lightspeed is trying to do that.
The question you have to way up is: does that possible performance trade-off and low-level flexibility out weigh the advantage of the ease of use, time to market, and the art workflow of Unity3d?
And as you said, don’t forget physics. Unity has great physics, and there are a TON of uses for that. That’s a significant difference in functionality.
Thanks for your response! No doubt the workflow in Unity3D, User Interface, and Physics brings a whole new spectrum to game design. I agree that for raw 3D performance Edgelib can be fine tuned to give you the butter smooth performance. I wish I had benchmarks to compare the two.
I’m from a 3D technical background, and I’ve fought with various engines both as a hobby and professionally over the last few years (previously, i was purely post production, but with an economy crash I decided to be more flexible).
Unity’s art pipeline is fan-f’n-tastic. I can’t overemphasize that enough. Its literally, I take my (or someone elses) model or scene setup, put it in, and put a shader on it. Then, we just progressively update that file and it automatically updates. Its a total win.
Physics, well, for me this is more of an automation thing. It’s done for you, and its probably faster than I could do it without devoting my life to it However, physics is a huge tickbox you want.
Scripting. Unity is the first platform where I can use kiddiescripting java and not feel like I’m cheating the system (and being heavily penalized for it). It all gets compiled, so it ends up extremely fast. It comes in a variety of flavors, and now you can even call the native obj-c.
The bad… The features are all very easy to implement. It can take you all of 30 seconds to build something that the device simply can’t handle because the scene is too full of awesomeness. Some self-control is required
Yes and also I made a game last week that took last week, one week. I’m more of a traditional programmer. Now I don’t know what to do next Surely there has to be some assembly to write or some hand optimisation to do or some Max/MEL scripting to get the art fixed up…
there are several things i don’t like about unity… but I haven’t felt the urge to shoot the core engineers as I’ve felt several times before with other engines
for a small team, Unity hands down
I’ve used edgelib before, not for iphone though, and its a nice piece of work
unity is just plain good overall, an incredible workflow, which will leave you with plenty of time to do performance tuning
in the 90/10 rule, Unity3D will let you accomplish your 90 as it was meant to be… in 10% of the budget time
i’ve purchased both unity pro and iphone pro, never been happier for a purchased software