Is Unity Engine good?

Is it good to use an engine?
I always though it was just a shortcut. You’ll lose a lot of experience from making your game in another one’s engine.
Is Unity a engine where you can make powerful games?
Is it good to use an engine or do you lose experience?
Thanks :slight_smile:

I guess it depends on your goals.

If you want to learn low-level “on the metal” programming, then you shouldn’t use an engine. You should write C/C++ code that speaks directly to the video card. But that’s really hard to do; most video cards require you to go through OpenGL or DirectX, which is itself a library. So you can bypass that by writing your own software renderer. I’ve done it; it was fun and educational, and actually performed halfway decently for the time (though it wasn’t nearly as pretty, or anywhere near as fast, as what video cards can do).

That will be for one particular hardware/OS platform; if you want to learn others, then you’ll need to repeat the process for each one of those. Each platform is substantially different at this level.

On the other hand, if you want to actually make a game, you should use something like Unity. It abstracts away all the low-level junk, as well as platform differences, and lets you focus on what makes your game unique, instead of reinventing the how-do-I-draw-stuff, how-do-I-play-sounds, etc. stuff that is different for every platform and the same for every game.

4 Likes

Well, I have tried Opengl and DirectX(DirectX seems difficult, especially opening windows,and needs a lot of math which i’ll have to learn, and about Opengl,as well as SDL,SFML,is difficult to download in my compiler,get errors all the time, not really experienced with compilers :(.)
But I do like making my own tools :).

Absolutely. Using an engine is all about increasing productivity while decreasing mistakes. Big AAA titles are often built on top of an engine (even if it’s one made by the company itself).

Using a similar line of reasoning you could make the statement that you’ll lose a lot of experience from building your game in C++ rather than using an assembler. You need to ask yourself though if the knowledge is strictly necessary to know and if you’ll truly forget it that fast.

I know when it comes to C++ that I haven’t actually forgotten how to use it despite not having touched it in years.

Unity’s editor is extensible using the same scripting languages that you make your games with. If you want to create your own tools within Unity you’re able to do so quite easily. You can even sell them on the Asset Store. Check the Editor Extensions section if you want to see what others have been able to do.

Check out Unity’s showcase. There are games by Blizzard Entertainment (makers of World of Warcraft), Obsidian Entertainment (makers of Fallout New Vegas), and Square Enix (makers of Final Fantasy) on that list. It didn’t stop them.

https://unity3d.com/showcase/gallery

1 Like

It’s hard to make things curve instead of going straight. Basically unity will help you make everything straight, but as soon as you want to curve something, you better be a mathematical genius.

Not really, that’s the same no matter where you go. If you want something to follow a curve then you have to describe that curve with an equation. Pretty basic maths.

3 Likes

Or as I stated in the other thread, you can use a free third party solution. Chances are though if the OP is experimenting around from scratch he likely has the knowledge necessary to do this. It’s nothing particularly fancy and there are numerous tutorials on the web for it.

For actually getting the game done: depends on game’s complexity. If you’re making a complex, sophisticated game and don’t have a team on your side, then engine without a doubt.

Just for learning experience? Well, then that depends on what you want to learn. There’s way more out there to learn than you’ll ever have time to learn in your life, so you have to pick what is relevant and useful to you.

As an example: I don’t care to learn how to write my own renderer. It’s been done, and people far more skilled than I am at writing renderers have written them and are writing them. It’s of course useful for me to understand generally how they work, but I don’t feel I need to know exactly how to write one myself. Does that make me a worse game programmer? Well, I could take the time learning how to write a renderer, but then I wouldn’t be spending that time learning more relevant things that could actually be useful to me - such as how to write occlusion culling for a voxel engine. That would be a lot more useful for me to spend my time with.

I also don’t think I’ll ever be aiming for a job in the industry where I have to write renderers… but point is, you can apply this to many of the lower level things.

Depends on how relevant or useful it is to you.

2 Likes