Unity Engine

Started by
14 comments, last by colonycapture 10 years, 4 months ago

Anyone use the Unity Engine much, any cons or issues?

Been playing around with and it seems pretty cool... I'm into making a 2d physics type game to run in Windows Store and work on Surface Pro and RT. Want my game to be like the game "Cut the Rope" in terms of nice clean and smooth moving graphics and object movements defined by real world physics, but my concept is totally different.

At this point I'm thinking of using Unity to export the c++ code after I get the sprites moving smoothly, mouse, sound and the touch portion working. Then continue on in c++. So basically use Unity to create a Windows Store compatible template with smooth graphics and all the input/outputs then jump back to c++ for all the rest...

At any rate would be interested in your experience and comments...

Thanks,,

Vanz

Advertisement

I don't think you will be able to use Unity quite in the way you intend. As far the game concept, it can handle it. I think GameMaker Studio would be a better fit though considering it is more meant for 2d games, whereas Unity has some overhead for 3d which is a waste for most 2d games, with exceptions of course.

The problem is that with both of these engines, the software expects to be there from beginning to end. You don't "export" a C++ project that you finish, rather you finish the project in said software and then export it as is, with the help of some outside software more often than not, like XCode for Mac/iOS, Eclipse for Android(or just the Java SDK, etc...). Windows software also has it's things you need, though in some cases, you don't exactly need it because the games are actually "runners" or "players" with your whole game and data outside of the executable. This varies of course with the engine, and even the settings in the engine. For example GM Studio has both the "runner" setup, which works on windows without needing anything else as it already comes with the executable code compiled. You can also use the "compiler" which has a dependency on Visual Studio, but then gets fully compiled instead of interpreted with a runner. In any of these cases, you don't end up with C++ that you compile yourself, so it won't work the way you are expecting.

There is nothing to stop you from coding things from scratch yourself, and you would end up with the most control that way. But, you sacrifice the easy portability that both Unity and GM Studio give you.



Unity just recently added full 2d support:

http://unity3d.com/unity/whats-new

When I choose "Build and Run" under Windows Store Apps I can select "D3D11 C++ solution" and get a full solution file that I can pull up and edit in VS 2013, haven't looked at it closely though, could be a completely garbled mess...

Unity just recently added full 2d support:

http://unity3d.com/unity/whats-new

When I choose rph_"Build and Run" under Windows Store Apps I can select "D3D11 C++ solution" and get a full solution file that I can pull up and edit in VS 2013, haven't looked at it closely though, could be a completely garbled mess...

Hmmm, the 2d support doesn't mean that they remove the overhead from the 3d side of things, rather it at the moment is kind of a tacked on thing. It may get better eventually, but for 2d, GMStudio is still much better if you don't need the 3d stuff.

About the C++ project, that is news to me. My question then would be though, how much of the engine gets output to that C++ project? I would assume you don't have any access to the internals to the Unity Engine itself, rather they would be gettin gcalled externally though precompiled files(like DLLS). Also, Unity sells a separate source license to the engine, so it wouldn't make much sense to allow the source to so easily be used.

I think that the purpose of this C++ project is to allow you to compile the game, but probably not for modifying afterwards, rather just to compile. It may be that instead of trying to call the compiler etc... themselves, they spit out a project and make you compile it. That doesn't mean that the project is very easily modifiable. For example, the normal exports spit out a "runner" executable, and every class(script, etc...) gets put into a "Mono DLL" of sorts. It may be something similar happening here. On the other hand, I could be completely wrong.

In any case, I would also think that by using the C++ to finish the project(as in not just compile, but actually program) the game would be a waste. The point of using Unity for many people is the ease of development, for a single platform, and moreso for multiple platforms. By editing the C++ project(assuming I'm wrong about the above paragraph), you are losing that benefit. Also, you wouldn't be able to use those changes on other platforms later if you wished to port. Unity(and GMStudio) make things so easy to port to different platforms, that you really wouldn't want to lose that, even if you don't plan on using the other exports now, as you never know how successful your game could be.



Yes, I believe you are right on both accounts kburkhart84, I think I'm just being stubborn about wanting to use what I am more familiar with. If I use a game engine I should stick to it 100%, I'm just worried I'll get to a point and there will be an error in the engine or something I can't over come using the engine where as coding with c++ I feel like I can overcome almost any obstacle.

Looking more closely at the solution file your right just dll's...

I'll take a closer look at GMStudio per your recommendation, I just though Unity had a bigger user base and was more established even though it wasn't focused on 2d...

What decent games were made using game maker studio? Or what are the best selling ones...

Some of our members are currently sharing a few thoughts about Unity -- and specifically the latest release -- in this topic.


What decent games were made using game maker studio?

Legend of Fae, Serious Sam: The Random Encounter, and many others. It's a lot more capable than many people give it credit for.

:)

- Jason Astle-Adams

Some of our members are currently sharing a few thoughts about Unity -- and specifically the latest release -- in this topic.


What decent games were made using game maker studio?

Legend of Fae, Serious Sam: The Random Encounter, and many others. It's a lot more capable than many people give it credit for.

smile.png

Yes many others. Check out the yoyogames showcase. I love the look of Bullet Bros, which is on the first page right now. You could also look at youtube's 100 gamemaker games in 10 minutes, though many of those that show are crap and/or are old.

You can look on the app store and google play store for the publisher Yoyogames, and you will see the games they made in house with earlier versions of GMStudio. Some of them are pretty good, though none of them are all that complicated.

I actually agree that in some ways Unity has advantages. For example, if you ever want to make the jump to 3d, you have already learned the IDE and plenty of the engine itself. With GMStudio, the 3d is like the 2d in Unity, a sort of tacked on thing that doesn't do much. It has gotten better, especially since they added shaders to the pipeline, which are usable in 3d as well as 2d, but since we don't have lower level access we can only do so much with the 3d side in GMStudio, and it isn't even a speed/performance issue at all anymore.



I've been using Unity for a couple of games and I can't really complain. Sure, the more advanced stuff you want to do, the better the chance you have to make it yourself instead of relying on stuff Unity provides.

If you can make it in Unity (and get it to work like you want to) and it prevents you from the hassle of creating certain (time consuming) systems, than simply do it, No normal consumer will care if you make it in Gamemaker, unity or your own engine, as long as the game works as it should.

Regarding the 2D/3D overhead. Sure, it will very likely have some overhead, but unless you are really doing something wrong it's not going to make any difference. Once again, nobody will care if your game runs at 1000 fps in Gamemaker or 500 in Unity. People only care when it becomes obvious in your game (exceptions always there).

That being said. Make it in whatever engine you can work most efficient in and can do most of the things you want it to do. Gamemaker, Unity, Cryengine. If it works, it works, in the end it's the game that matters! :)


I'm just worried I'll get to a point and there will be an error in the engine or something I can't over come using the engine where as coding with c++ I feel like I can overcome almost any obstacle.

I totally sympathize with this attitude. Just keep in mind the following: You will pay dearly for this flexibility. Mostly by burning a lot of time, but sometimes by burning out as a further consequence, never finishing a project because progress is too slow and discouraging.

With a mature tool like Unity, it usually turns out that even when you do run into a roadblock, there's almost always a sufficiently acceptable way to work around the problem, many times more than one way. It may feel dirty; it may take a few days to work out. But the time spent will usually be much smaller than the time saved by not doing the whole engine yourself just maintain flexibility.

My personal plan for the next year is to do a lot of rapid prototyping using whatever tools are most natural. Unity will be on the top of that list. When I hit upon game mechanics that I think are worthy of refinement, I ought to be able to assess more effectively whether or not the tool I used will be sufficient for final development. And in the worst case, I always maintain the flexibility of being able to scrap the prototype code and pick a different engine or write my own if it seems like the best option. But I don't want to commit myself to that high price until I have determined that it is warranted.

"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke

This topic is closed to new replies.

Advertisement