5 ms·
Whoever thinks that all these random 3D engines are worth anything to anyone but hobbyist programmers is delusional to say the least. "gui tooling" (or as I lik
by trueSlav 10y ago
Whoever thinks that all these random 3D engines are worth anything to anyone but hobbyist programmers is delusional to say the least. "gui tooling" (or as I like to call it: "the engine") represents maybe 80 to 90% of value of an engine like Unity or Unreal. I'm sure that anyone who's actually done some project in one of these can confirm what I'm saying. The amount of money and time spent on the tools of UE is simply insane.
- binthere 10y agoTooling is a big chunk but it is not the main benefit of an engine in my opinion. There are so many optimizations and abstractions (think build, platform, gl, LOD handling, skeletal anim, memory handling for things such as landscape) done in your game to make sure it runs super smooth and beautiful at the same time that if you decided to do it yourself you would be working countless of hours to get to the first abstractions.
- mikulas_florek 10y agoI think importance of tooling is highly subjective, depends on your habits and workflow. Some people need to have an editor like Unity, others just want to create their whole game in code, e.g. www.randygaul.net/2017/02/24/writing-a-game-engine-in-2017/
- mrec 10y agoI suspect WebAssembly is going to create a niche for very lightweight engines optimized for download footprint, too. And as you say, UE and Unity seem to be optimized for artist-driven projects rather than coder-driven projects. Which, realistically, are always going to be the majority of commercial efforts, but coders often prefer code. I've written a (basic) 3D object modeller app, and I still can't work out how to use Blender.
- mikulas_florek 10y ago> I suspect WebAssembly is going to create a niche for very lightweight engines optimized for download footprint, too. I wanted to create a simple 2D game once, aiming for lot of platforms, including mobile and web. Most engines (I looked into Unity and Godot) produced just too heavy results for web. I ended up using Haxe/Flixel.
- galangalalgol 10y agoThat guy says his must-have feature of c++ is operator/function overloading. That seems an odd choice to me. I have been a c++ developer for over a decade. I would have leaned more towards it being a necessary evil.
- mikulas_florek 10y agoMust-have necessary evil :) Anyway, I do not agree with all the stuff in the linked article. He was just used as an example for need of programmer-focused engines.
- jackmott 10y agoIt isn't even necessary. Its just convenient, maybe sometimes =)
- iainmerrick 10y agoIt's a must-have for 3D programming, for working with vectors and matrices. OpenGL's shader language is basically C with (hard coded) operator overloading for this reason.
- schoen 10y agoCould you explain a little more about how the operator overloading is used in this context? Is it just that arithmetic operators are made to work in their linear algebra sense on objects representing matrices, so M*N will return a new object representing the matrix product M×N?
- hacoo 10y agoThat's exactly how it would be used. Game programming involves a pretty enormous amount of geometry and vector arithmetic, so it's a domain where being able to write s*(u+v) is an advantage over scaleVec(s, addVec(u, v)). Same logic applies to matrices, as you described. Personally, I think there are more important advantages of C++ over C, and operator overloading can get ugly FAST if you're not careful.
- mikulas_florek 10y agoThere is a lot of custom 3d game engines used even for commercial projects, I remember reading a survey where it was about 20-30%. Although companies do not opensource them since they see no value in it.
- moron4hire 10y agoThe proprietary, closed, vertically integrated tooling in Unity and Unreal are what make them such terrible tools for use in a professional development environment. All of the best programming tools are free, open source software. Yet somehow we're meant to believe game programming is "special" in some way that it shouldn't use the same ecosystem as every other area of software development. Yeah, right.
- pjmlp 10y agoBecause the values of the game industry are rooted in the demoscene, commercialization of game related IP assets and consulting work related specific hardware and design knowledge, without any religion about freedom of tooling, this is what most FOSS advocates fail to understand about the industry.
- plafl 10y agoMy opinion is quite similar to yours. I have never worked in videogames but my, uninformed, opinion has always been that open source videogames lag so much behind other types of open source programs because they require a lot of non-programmers to work. I don't think the complexity of the engines is the main problem, after all operating systems or compilers are also quite complex and critical software. So, what is so special about programming that makes people want to share their work for free? The only other field I think that has a similar collaboration culture would be academic research.
- mikulas_florek 10y ago> So, what is so special about programming that makes people want to share their work for free? I created my engine for myself, I guess a lot of open source projects start with one person solving his problem/having fun. I open source it because: * money is not everything, it might bring value to some people, but I doubt people would be willing to pay for it * even if it's open source it does not prevent me to earn money with it * I benefit from people using it - submitting patches, reporting problems, testing on different hardware * it can bring money in different ways * if I share my property (e.g. car, flat, computer) with somebody else, it limits my use "rights", if I share software, it limits me in no way
- jackmott 10y agoUnity had no GUI tooling until very recently, yet was already very popular.
- mikulas_florek 10y agoIndeed, and even the new GUI is very limited. Also other tools are not really great, e.g. animation graphs. But I consider this Unity's way the cause of it's success. To make good tools you have to taylor it to specific use case, making it more complicated and limiting users with different use cases.
- dkonofalski 10y agoI think they're referring to the GUI of the actual tools you're using within the engine, not the ability to create a GUI for your project in the engine. I mean... just look at the screenshot of the OP. That needs some pretty serious work. :-/
- derefr 10y agoBut a game ships with a runtime, not an SDK. If you can build the game's content using proprietary tools, but ship that content backed by a FOSS engine compatible with the output of those tools, I think that gets you 90% of the way to being able to claim that your game itself is FOSS. Sure, people might not be able to alter and "recompile" the art assets from source without proprietary tooling, but they can alter the game mechanics, the scripting, the levels, etc. freely; and also introduce their own assets using whatever tooling they like.