GPL & Blender Adoption in Games Industry

No C# on Linux or OSX, so no, C++ is here to stay :wink:

You can compile C++ code on Windows using mingw. So, even if MS suddenly drops it, it can be used anyway.

Looking at Java code I can’t understand crap. However, C/C++ (written properly) I can understand, even though I don’t have any sort of education in software development.

C++ is a performance-oriented language. It’s an excellent choice in a scenario where you need to squeeze as much performance as possible out of hardware with little overhead. Other languages are becoming more popular, yes, but mainly in scenarios where performance is a secondary or tertiary concern; or whenever the language is mandated by the platform holder as with ObjC or Swift. If you want performance your three choices are basically C, C++ and Fortran. And also Assembly, but nobody uses that beyond tiny chunks here and there, and then only where absolutely necessary.

Game scripting engines don’t need easy access to cross-platform features. They need access to what the game engine requires and/or provides. Good game engines expose to the scripting layer only that which is required to do the job.

I’m more than happy to use a language that takes more memory & is of slower performance than C/C++ for general tasks that are quicker to compile and debug. I use Python for file processing all the time. I use Java for accessing & processing XML feeds from/into web applications. I even use Perl scripts on occasion where the string processing element of the job would benefit from it.

What I don’t do is confuse those languages as reasonable replacements for game scripting engines with high performance, low memory footprint, ease of integration, and battle-tested in high end games already.

So much of this is complete bollocks that I’m not going to do a line-by-line rebuttal. Suffice to say, benchmarks are better than hand-waving, speed is of concern for game engines, like it or not CPython is what is integrated in games at the moment (not to mention is written in C), we’re talking about game engines - not numerical processing applications, and Guido Van Rossum is hardly a non-biased source (who only states that Python is “fast enough” for him, not that it is faster than C/C++).

No arguments there. The issue is that those tradeoffs make them unsuitable for game engine scripting. I’ve used Java for enterprise systems where maintenance, interoperability, and the (theoretical) ability to run it on different platforms were more important than memory consumption & performance. I fully support it’s use in these situations.

Demonstrating that you are completely unaware of the structure of a Java VM, how it’s memory model operates, and so on. C/C++ is a language where you can explicitly dictate the memory requirements, when it is allocated, when it is released, and so on. Java is not. C/C++ can be statically compiled to only use the absolute minimum of library support cutting memory footprint even further. Java, to even be allowed to call itself that, must load libraries to provide a base level of functionality that blows away any chance of a “super low memory footprint”. Anyone actually familiar with how Java works internally knows this, which implies you don’t or are deliberately ignoring the Java Virtual Machine & Java Language specifications to make the above argument.

Absolutely terrible to work with. Clearly. which is why the vast majority of software you’re running on any given desktop is going to have been written in it or C++

And with that line you lose whatever shred of credibility you had left.

I think hybrid programming languages are most useful in actual software programming. C++ is a nice example. I also think that functional programming style is becoming more accepted in traditionally object-oriented languages. OOP is criticized mostly by people who don’t understand it, but some features of OOP are not that good or they are difficult to use. Inheritance is a great thing in theory just as pure functional programming, but it’s hard to design a good and flexible class hierarchies. Lack or fear of inheritance leads to big classes and similar structures or even straight copying of source code.

Functional programming is indeed a thing that I find quite useful both in games and in general. Combined with languages that can handle tail-recursion and coroutines, it is immensely powerful when quickly putting together multiple co-operating agents (such as a simple simulation games). I may or may not have implemented a popular program sold on iTunes using that flexibility :wink:

i don’t think that was the purpose. boo (which wasn’t created for unity) is a great toolkit for creating programming languages. unityscript (which has absolutely nothing to do with javascript) is created with boo. and then they maybe thought that it would be kind of nice to include boo into unity as a language too.

but i saw many threads at the unity forum where python programmers said that they were very confused with boo because some its syntax was similar to python but actually it worked more like a less verbose c#. so actually it would make more sense to call it a dialect of c# than a dialect of python. :slight_smile: they didn’t really like it. and all the unity tutorials were for unityscript, which didn’t make it any easier either.

And when somebody already knows Python then the best thing for him is to use BOO.

My “argument”, when you can even call it that way, is: when in Unity nearly nobody uses BOO, which was especially made to attract Python users, then Python cannot be this popular as some may think. Else the piece of the cake in the usership of Unity would have been much bigger.

Nothing more, nothing less.

I didn’t judge in any way, i didn’t take any side here, there was no attack towards Python involved. It was just providing a fact, and a from that resulting thought.

except that boo doesn’t work like python at all. :slight_smile: if you are a python coder who is used to its extremely dynamic nature then you will have a hard time with boo because boo is missing all of that. :slight_smile:

Language war!!!

No, comedy thread (when you hear that C++ is dead, not even a facepalm is in order, just laughs).

who said that C++ is dead ?

I dont need to make war to C++, I am not in a crusade to make C++ die. As a language I hate it , its true but I am not even a minority, so people feel less about it but most people reach a consensus on what C++ is as a language. Actually when you speak with people that actually code and understand programming you will find a lot more agreement than disagreement since experience does not differ than much.

Even the creator of C++ famously said something along the lines “there are languages that people don’t like and language people don’t use”. Even though I don’t completely agree with him, I can see some wisdom in this statement.

The bottom line I want people to keep from my posts is stop worrying about performance, stop worrying about what language you use , stop worrying about what game engine you use, focus on your code and what you achieve with it. The rest is mostly hype.

I look at modern games and I am amazed how boring and unimaginative they are, great graphics, bad art, boring gameplays , 100% clones of something else.

100% this

I am sick to death of clones of clones of clones.

That’s why they sell that well. Cos people vote with they wallet. And apparently masses’ vote is contrary to yours.

hey hey who said I disagree that Tetris is the best game of all time or that Wii Sports or Super Mario , I have not played Minecraft but looks very good too, dont deserve their top 5 spots. Actually games that performed very good in sales tend to be top quality.

The irony is that one could make half of those games at least in the blender game engine (in reality most likely all of them). Which returns us back to my previous post.

These days, you’re almost guaranteed to sell a lot of copies of even the most mundane game ideas providing you try to throw in as many buzzwords as possible.

The truth being that people tend to be suckers for buzzword-based advertising and will gladly plunk down 60 to get what is essentially a fully playable foundation with minimal content with the intent that a lot more will come in later (recent buzzwords include “agent-based simulation” (Simcity 2013), “emotion engine” (The Sims 4), and “vast open worlds” (Destiny).) The game industry has the advertising paradigms down to a science in that they know exactly what to do to generate sales (almost as if they have people who’s job is to constantly pore through psychology studies).

Now if you intend to put even slightly creative ideas to the backburner because of the idea it’s not going to sell, I’m really not getting what stance you have on this right now especially with that last post.

That’s not an irony. It’s a bad joke :eek:

Coincidently, Feng Zhu (concept artist) just put up a video about why AAA games are often similar, and don’t seem to take much risk. Spoiler alert: It’s basically the same reason Hollywood movies are so watered down.

1 Like

Nice video. Thanks for sharing xrg.

It’s interesting to “hate” a programming language. I find it also quite funny how some people become kind of believers in some programming language (or paradigm). It’s odd when contrasting to logical world of computers and programming. Each language (and libraries, etc.) has good and bad features depending on what kind of programs you want to create. I think it’s important for a programmer to know as much as possible about tools he is going to use and choose the most useful of them.

You find my hate funny but I find this even funnier. I think I found the signature for my project. Thanks.

What has this thread turned into? lol

I think one could run custom blender on something like https://stadia.dev/
and not invoke GPL yet ‘rent’ seats.

same goes for BGE.