Hacker News new | ask | show | jobs
by squidbot 3981 days ago
Because a game engine isn't just a rendering engine, and Unity has a ton of useful features that enable rapid full featured game creation. "...you don't need anything but sprites for 2d" doesn't take in to account (and this is by no means an exhaustive list) all the things Unity and other game engines like Unreal offer that makes game creation easier:

- A game object management system

- A component system

- AI behaviors

- Sequencing

- Animation

- Pathfinding

- Physics

- User interface

- Resource management

- Networking

- Input mapping

- Asset importing and manipulation

- Asset optimization

- Audio

- An editing environment that allows rapid development in terms of asset management and live modification, as well as easy customization of the asset pipeline and game specific editing controls

- Easy deployment

Not to mention, a "2D" engine nowadays is much more than a sprite management system, they are written for 3D API's to offer fast blending, shaders, compositing, effects, transforms, etc, etc.

These aren't bells and whistles, they are tools that have been developed over years to work well for game production, and they are features that even simple games can take advantage of to make them more quickly and more easily add features over time.

Not to mention having a community of other game developers who use the same platform and a tool like the asset store which frees you from having to be an artist to make your game look good.

1 comments

Unity doesn't provide any sequencing for you (maybe you were thinking of Unreal's Matinee?). Also, most people who need input mapping don't use the builtin input mapper. Editor scripts are also painful to write.

You're not really wrong. The platform support and asset importing and hot reloading, for example, are great. However, some of the things like resource management and PhysX or Box2D integration aren't that big of a deal. I want to be realistic about the actual value that Unity adds.

time wise it adds the collision engine, the ease of compilation into Android Ios with a few clicks, and plus all the engine for animating sprites and viewing the changes live, the sound engine, the UI tools.

The goal of using unity for 2d projects is because it is faster, more user friendly and easier to work in team with designers than using pure open gl and libraries.

Yes, the platform support and hot reloading are real nice. That's why so many teams have invested in Unity.

The collision engine is what I was referring to when I said it's not that huge of a thing to do your own Box2D integration, so I disagree that there's a huge value add there. Just drop in the same solution they dropped in.

And the sound tools, until very recently, were incredibly rudimentary. You'd have been just as well off tossing in OpenALSoft or rolling your own FMOD integration (at least then you could use the FMOD Studio tool). I'm grateful for the new Audio Mixer window.