Software Tool Selection Process - Improvements please

Started by
37 comments, last by frob 8 years, 5 months ago


"Not Invented Here" is a real thing, and smart people do fall into it, but I'm reminded of a quote from Casey Muratori: "Those who do write their own code end up customers for those who do."

Pretty sure that should be "Those who don't write their own code end up customers for those who do." ?

And so what? There's nothing wrong with being a customer of someone else's code if they're good at what they do and what they do isn't what you're interested in doing.

It depends on what you want to get out of the process. If you're doing it for fun, write whatever you want. If your goal is the best possible product in a reasonable time frame, you make tradeoffs. If your goal is to make money, you make even more tradeoffs.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Advertisement


"Not Invented Here" is a real thing, and smart people do fall into it, but I'm reminded of a quote from Casey Muratori: "Those who do write their own code end up customers for those who do."

Pretty sure that should be "Those who don't write their own code end up customers for those who do." ?

And so what? There's nothing wrong with being a customer of someone else's code if they're good at what they do and what they do isn't what you're interested in doing.

It depends on what you want to get out of the process. If you're doing it for fun, write whatever you want. If your goal is the best possible product in a reasonable time frame, you make tradeoffs. If your goal is to make money, you make even more tradeoffs.

There is nothing wrong with it. But at this time, there are more free/cheap tools available than ever before. When I started learning to program, all I had was Direct X and a dream. No engine was available that I could afford, or even knew about. Years later, I have seen a lot of frameworks and tools come and go. It seems like a good idea to question if these new engines are the right way to go. I don't know the answer, but I know they don't feel right.

Plus I just like thinking about this stuff. So far, my experiences with these latest tools have left me feeling like a few years from now, there will be nothing but buggy, crashy, glitchy games, and that sucks. Maybe there is a better way.

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

There is nothing wrong writing your own. Unity wouldn't be here if the original developers decided to use an existing game engine. It's just like a natural selection.


Unity wouldn't be here if the original developers decided to use an existing game engine

Unity was conceived from the very beginning as a middleware package - it wasn't like they built a game and spun the pieces into an engine after the fact.

Which makes it sort of an exception to this whole discussion. If your aim is to build brand-new middleware, then building from scratch is clearly indicated.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


Unity wouldn't be here if the original developers decided to use an existing game engine

Unity was conceived from the very beginning as a middleware package - it wasn't like they built a game and spun the pieces into an engine after the fact.

Which makes it sort of an exception to this whole discussion. If your aim is to build brand-new middleware, then building from scratch is clearly indicated.

Maybe I misunderstood, but isn't it the discussion of this thread? Given Software Tool X, shall I rewrite or use it?


Maybe I misunderstood, but isn't it the discussion of this thread? Given Software Tool X, shall I rewrite or use it?

Yes, actually, and by my chart Unity is out because no source code. Which I'm not actually sure it matters. Still thinking about it. Although I do have another mental model about these tools, and when I get a picture drawn up I'm sure it will cause a shit-storm.

I've been playing with Godot, which seems exactly like Unity and Game Maker, but has source code available and can be extended using C++.

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532


Maybe I misunderstood, but isn't it the discussion of this thread? Given Software Tool X, shall I rewrite or use it?

From the perspective of a game developer, yes.

Unity's itself was developed as middleware - the question of "should I use X or build a new one?" is kind of moot when you are the guy building X in the first place. And keep in mind that at the time Unity was written, there was very little competition in the budget game engine space.

Also worth pointing out that Unity itself relies very heavily on 3rd-party dependencies. They use PhysX and Box2D for physics, Enlighten for global illumination, Beast for lightmapping, Umbra for occlusion culling, Substance for procedural materials, Mono for scripting... The list goes on.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


Also worth pointing out that Unity itself relies very heavily on 3rd-party dependencies. They use PhysX and Box2D for physics, Enlighten for global illumination, Beast for lightmapping, Umbra for occlusion culling, Substance for procedural materials, Mono for scripting... The list goes on.

Where is the list of all these awesome 3rd party tools?

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

I don't think they have a consolidated published list of technologies they use, just announcements from time to time.

PhysX 3 came with Unity 5 and it was a big announcement. Same with Enlighten.

Umbra came with Unity 4.3. (That was right in the middle of revising my book on the engine, it was one of the choices about if we update a section to hit an ever-moving target. Not a fun challenge to keep up with the Unity team.)

The reliance on Mono has been there basically from the beginning.

For the others, Google can help you search for entries on the Unity blog. Heaven help you if you try to use their own search tools for it, just target the site blogs.unity3D.com.

This topic is closed to new replies.

Advertisement