top | item 37826868

(no title)

thsbrown | 2 years ago

Just want to second this.

I've been using unity for almost a decade now and enjoying it despite the many caveats and idiosyncrasies I come across.

The bottom line is, I definitely don't want to throw away the decade of experience I have using Unity if I can help it. Ultimately I want them to learn from their mistakes and move forward. While Unity has had a fair share of missteps ultimately it's the devil I know.

discuss

order

59nadir|2 years ago

I'd like to ask (only out of genuine curiosity): Do you also build your own engines or are you fully entrenched and dependent on Unity? I would feel very disappointed if I spent a decade on something only to depend exactly on that one thing and not be able to create it myself, especially when it's such a tractable problem in a sub-year time frame even with learning happening. The fit you could have with your own engine with a bigger up front investment of time and energy seems like it would easily pay off vs. just using Unity for years and years.

reactordev|2 years ago

Not only sunken costs, but building an engine is no easy task. It’s easier to write a game than to write an engine (most of the time).

I do think this is the right approach. This is the approach I took. I was dependent on an engine for a long time until I realized it was just a facade and that I already possessed the knowledge to do it myself. So when XNA died, and MonoGame wasn’t mature yet, I had no choice but to write my own. Some of that effort went into MonoGame’s early days, most of it didn’t (I respect keeping the API the same but we, devs, could have done better to improve it).

Unity made it easy to build games without having to know the underlying proponents that do what they do. Instead, it’s presented through a massively opaque interface called a MonoBehavior. Because of this opaque abstraction, it’s almost impossible for a Unity game developer to know exactly what’s going on under the hood.

My first game engine took me 3 years to get to a point where I could ship something. My second was 1 year. My latest was 3 months.

Eventually, it becomes just adding another interface to your GPU abstraction to support wgpu or DX14, or Vulkan2, or Metal, any graphics api becomes just a Buffer, a Queue, and a sync lock.