Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Blender 2.8 project status (blender.org)
138 points by buovjaga on Nov 27, 2016 | hide | past | favorite | 75 comments


"Better news: the Blender Game Engine project might be getting a revival. The UPBGE team is very motivated to keep Blender engine work, and help with aligning BGE with the goals we set for 2.8 – at least to use the new viewport and pbr shader system. A new logic system is still undefined."

Very excited about this. I deeply want to use Py with BGE, but I had been worried about learning a soon to be deprecated game framework. There have been a couple tickets open on the main blender tracker about completely deprecating BGE and it seemed like a lot of core developers were in favor of doing that so as to not divert away valuable dev time from core development.


I feel like Blender Game Engine is a massive waste of dev resources. There are much better game engines out there. I wish Blender concentrated on their core software. Full OpenCL support in Cycles would be nice.


I don't think it's an unreasonable position, and I have read similar arguments on the mailing list. I think you're correct that there are much better game engines out there. But, I like that BGE is open source, I like how well it integrates with Blender, and I like that it has Python as a first class citizen. For that reason, I don't know if it necessarily has to compete with other game engines, especially AAA ones. It could just be something which integrates well with numpy, SciPy, etc.


Ironically the license (GPL) is one of the biggest show stoppers for BGE to get taken seriously.

I feel like building the engine in to blender is not very viable because of the GPL license, but using Blender as a game editor is not a bad idea at all - so if you're going to do an OSS game engine I think the best solution would be to start with a more permissive license (eg. MIT or something like that) and not have any dependencies on blender in the actual engine, instead the blender integration code should be strictly separate, that part would be covered by GPL, but the engine core would still remain MIT as it's not derived from GPL code, so you could distribute your game without releasing the source.


I'm sorry, but this is just not true. You do not need to release your source code or assets for a commercial game.

According to the licensing page[1], you just need to distribute your executable and core .blend file separately. You would have a (GPL) small python script which loads your (commercial, closed source) blend file containing all of your artwork and Python code.

[1] https://www.blender.org/manual/game_engine/licensing.html#st...


>According to the licensing page[1], you just need to distribute your executable and core .blend file separately

That's simply wrong - your scripts use GPL APIs - this means your code is derived from GPL - if you could just ship stuff that uses GPL at run-time without being affected LGPL would not exist.

And even if that's how they interpret the license this still means you can't ship smartphone apps.


Clearly you don't understand the GPL. A derivative of the APIs themselves would need to be licensed with the GPL, but calling the APIs would definitely not.

Any content you make using blender is not restricted by the GPL (or any other license). Only blender itself is.


>but calling the APIs would definitely not.

Why does LGPL exist then ?

You're saying you can dynamically link to GPL content from say a scripting language and distribute the GPL stuff separately and you would not be affected by GPL. This is not how I've seen people interpret GPL and is clearly against the spirit of the license. LGPL is meant to cover that use case explicitly.


u realize blend file isn't encrypted or obfuscated?


Obfuscation doesn't work for copy protection anyway.


I have been thinking perhaps BGE is better marketed toward more of scientific simulation / interactive simulation rather than games.

Python would work well for this purpose, and I have been hearing about usage of Blender in with context of biology, and also things like GIS, and disaster recovery. (I've thrown in disaster recovery as I've at least seen once on TV that it was used modeling Fukushima power plant after the earthquake/tsunami.)


UnrealEngine4 is open source, and has a ton of mature tooling around it as well.


UE4 is free to use, with a 5% royalty on gross product revenue after the first $3,000 per game per calendar quarter from commercial products.

It's not exactly the usual definition of open source.


It is the usual definition of open source: you can download, modify, and compile the source for the entire engine. It's not free software, which is different from being open source. A common misunderstanding does not a definition justify.


It's not. See https://opensource.org/osd (which is Open Source, not Free Software):

1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.

3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.


It is the usual definition of open source: you can download, modify, and compile the source for the entire engine.

That doesn't make something "open source". That's closer to "Shared source" if you don't also have the right to modify and redistribute the code.

The UnrealEngine 4 license is definitely not open source by any commonly used definition of "open source" and absolutely isn't using the OSD.


I want Blender and Unity to be like chocolate and peanut butter.


I have a very simple, possible naive use case (I'm bad at designing stuff and don't know much about that "world") that I struggled with last time I tried Unity. I imported from a variety of formats/tools...so maybe there's an easy way of doing this with Blender/Unity that I'm not aware of.

I want to create a model of some real world item (say a simple 2mx2m block for arguments sake) using the exact sizes of the object. Then I want to import it in Unity and have the size stay correct. Iirc one base unit in Unity is 1mx1m so if I make a 2mx2m block I'd like it to be imported and displayed as 2 unity units...for some reason the conversions lead to all sorts of bizzaro size adjustments. Must be a Unity thing but that was a rather frustrating experience.


It'd be easier if unity weren't proprietary.


In theory Blender being open should be enough.

I've written custom importers for Unity and it's a fairly straight forward process as long as the format you want to export to a format Unity likes from has an exporter you can call from the command line.

You just maintain some metadata on what hasn't been imported yet and use the asset import hooks to activate your conversion to a format that Unity already knows (usually FBX for 3D).

But honestly I wasn't aware that Unity doesn't already have reasonable Blender integration. I've been using Unity + Blender for years and never had too many issues.

It's been broken between Blender versions before because it does exactly what I describe (fires up instances of Blender with a python script that converts to FBX), but you can edit the script that Unity uses to convert and apply fixes which usually get shared pretty quickly.

There's also a little weirdness with the differences in coordinate space, but it just takes some mindfulness on the Blender side of things to deal with.

I don't know how much better the integration could get without going a step further and actually generating the FBX data from outside of Blender, but you can already do that with the same asset import hooks I mentioned before


Do you have anything to back that up? I don't think you do. Unity has a public API and so does Blender.

I'm all for OSS just like the next guy, but saying it would be easier if unity weren't propriety is just FUD.


Not FUD. Backup: take a look at the number of outside contributors in Unreal engine release notes for each release. Its not FOSS, but still commercial licensed visible source. People can find and fix the bugs they encounter. Then take a look at commercial middleware vendors that can integrate with Unreal on their own, without having to involve Epic. Take a look at the list of companies committing development time to Blender because the see their effort improving the ecosystem instead of just adding to Unity own IP.

Also take a look at the ancient .NET integration in Unity that has been strangled by licensing problems with Xamarin. Even though Microsoft has re-licensed .NET recently, it doesn't look like Unity will have an upgrade anytime soon. The only development environment for Unity is C#. Look at the numerous VMs and language integration in Unreal, in addition to any language that links with C++.

Answering your own questions is obnoxious. Public API documentation for software only available behind a commercial subscription is completely irrelevant when integrating with open source.


Wow people really do like throwing the term FUD around when it's completely non-applicable around here.


100% agree. It would be fantastic to see these developer resources put into tight third party game engine integration. Unity is not the only other engine out there, think godot or any number of HTML5 engines.


libGDX has some good Blender support for models and if you want to go Unity-like, there's also BDX (https://github.com/GoranM/bdx/wiki)


The BGE and blender's python api is kind of a mess. The list of quality games is pretty small there.

I use Jython with LibGDX and I wrote a class-loader that lets me run the code on Android too (interpreted so theoretically don't have to compile Dalvik)

I was doing some OpenGl testing here https://twitter.com/JadenHorst/status/787449615503196160

I'd like to see some modular pipeline that allows for quality rendering - Ambient Occlusion / Shadow Mapping without having to learn someone else's GUI.

Godot and some other engines have potential but there just seems to be too much learning curve and lack of "commercial - like" examples / community.

It'd be nice if there could be a "Blender" for Video Games given how many people probably want one.


I am thinking of using BGE for research purpose. If BGE is not there, de we have any better alternatives? I prefer using python for animation.


I think you should look into what the Uchronia group is doing to boost BGE development before dismissing it: https://github.com/UPBGE/blender


I know that it's not really something that can be changed on a whim, but I feel like Blender's UI is deeply strange and often quite dreadful.


Before 2.5 I hated the UI. But after 2.5, I realized I could work so much faster once I learned the keys and layout. I have used 3ds Max for years and even knowing a lot about that software, I still find myself exporting to blender so I can do something. Usually I can do something in blender with only a couple key presses where in other software I have to click a few different buttons in various popup windows, etc.

I do think some of the UI needs to be a little more logical, but aside from that I honestly want to see their UI in more.


it's basically the vi of 3d modellers (:


I wouldn't call it vi. I'd call it the Windows API of 3d modelers.

vi is easy. Type vi file.txt

1. To delete, type x. 2. To insert, type a. 3. To save and quit, type ZZ. 4. To move up, down, right left (in "classic" vi), use "KJLH"

There. You can be productive.

Not fully, but enough to get basics done.

To use blender's relatively basic tools, say to draw a glass wall, you need a step by step guide, using quite obscure commands.

Reminds me of Windows API (or GIMP, by the way)


It is very close to vi/vim's philosophy - different modes for different task, key bindings are mnemonics, you combine basic commands to more complex tasks. Even window manipulation is the same with the hierarchy of content->splits as viewports->layouts.

It is harder to do work without understanding these concepts in blender because editing text is simpler, though.


> To save and quit, type ZZ

I've been a 100% Vim user for ... man, 6 years? Including partial vim usage for another few years before that? And `ZZ` is entirely new to me haha.

This is a weird problem for me with Vim. I love it, but it's an issue of "i don't know what i don't know".

I really need to setup a Vim "key combo of the day" or something. Preferably something that has a JSON API so that i can pipe it into my vim-startify.


Main problem is that buttons are reallly all over the place, without some logical consistency. Maybe menus or even a command line would make more sense


They are all broken down into nice tabs and subcategories, if you can't find something use the spacebar menu to search all commands.

A commandline is also available using the python console.


Yeah I remember the big switch from 2.49 to 2.5 with the UI redesign. Took some getting used to but honestly it's quite well thought out, pretty good looking, and productive. The modal aspect is a little weird especially if you're not used to vim, but it's definitely one of the better designed UIs IMO.


it's true, but when you figure it out, you wouldn't have it any other way. I remember how much I hated the UI, but like with any tool the more you use the better you get at it.

For example, I find the left/right mouse buttons completely natural now.


Totally agree. I use 3ds Max a lot for work and I have modified as much as possible in those settings to work like blender. It baffles everyone else I work with.


Exactly, it's like most of my programmer co-workers getting baffled when they see somebody using a keyboard/command-line-oriented linux setup instead of a mouse-oriented mac.


How does one define deeply strange? It's right to say it's not what we're used to. But I think if there was some fundamental wrongness with it, I'd have problems switching between Blender and other software with similar uses. e.g. I often use Blender and Unity in tandem and I don't find myself trying to use each the wrong way when I switch between.

OTOH, I disable the left-click to set the cursor because I find it distracting and very rarely want it - only when I want an arbitrary pivot for transforms, or to align vertices from different meshes. It irritates me deeply that there's no way to hide the cursor without also hiding e.g. the selection outline and the grid.


The only problem I really have switching between Unity and Blender is using the viewport controls in Unity. It makes me use the mouse! Blender's keyboard focus is a curse to newbies but a blessing once you get used to it.


So true, I once had to use a specialist 3d package (Daz Studio) for a project and was overjoyed when I discovered that I could tweak its basic navigation controls so that they are exactly like Blender's.


Good UX means to make simple thing simple, but permit complicated workflows.

What I want is to make simple things (basic modeling, materials, colors) to be a simple one click away.


Honestly I haven't seen a 3d tool like that. Perhaps it's just the nature of the beast and I should be glad that in Blender at least the complicated workflows are smooth once you get past the "bootcamp" stage.


It's been a while, but the trueSpace UI (the "classic" version that went back to Caligari on the Amiga) would be a pretty good match for that. It got a bit hairy with deformations (which is why a different UI mode was added to later editions), but basic geometry, extrusions, lathing, booleans and bones were a breeze either numerically or by click-and-drag. Simple things really were simple.


Modo gets pretty close at times! Dealing with materials and lighting is super smooth -- probably the easiest of the 3D packages to jump in on (which probably explains its popularity in the architecture community).


Slightly unrelated, but for all its pros I had to abandon Modo because it was too unstable - it would crash on me every hour or so. Blender, on the other hand, has been rock solid in my experience.


> Honestly I haven't seen a 3d tool like that.

Perhaps SketchUp comes close?


Cinema 4D is quite easy to grok in my opinion, coming from a Adobe-heavy background.


Not a click, but in default keymap, hit the spacebar while in the viewport, and start typing in whatever you want to add (ie Cube, Sphere, etc...)


That's the easy part. Now how would I make it into a brick wall?


Right -- you won't find a 'brick wall button' in the default Blender, because that isn't a simple idea, and there's variations of brick walls one could make. You can probably accomplish a brick wall by stretching out a cube, putting an array modifier on it with some kind of offset (maybe duplicate it and then offset that). There's probably some Python-Addons that will do this too.

But honestly, if you're looking for software that ship with presets, get something like Bryce3d.


>because that isn't a simple idea

But I can find a whole bunch of step-by-step procedures to make a brick wall. Why can't it be automated as a button (or at least a plugin)?

What would be more interesting if it would be turned into a pure "engine" so people can skin it.


Actually, you can. Blender allow it's user to have custom feature via python scripts. You can have a button to create a brick wall.


At least the Python API is deeply strange. Stuff is undocumented to out here, uses different units for input from the UI even though function name is the same, and API actions in a script depend on mouse focus...

But despite it's flaws, I love Blender.


Andrew Price would complain about the UI in his podcast. I guess the community eventually wore him down. Here's one of the episodes:

https://www.blenderguru.com/podcasts/podcast-jonathan-willia...


https://www.blenderguru.com/podcasts/podcast-interview-with-...

He followed up with a actual UX designer, who pretty much told him that his proposal was the wrong way to think about it (objectively, not subjectively). He admitted that his proposal at the blender conference was more of a discussion about the way of the future -- https://www.youtube.com/watch?v=6aIA2LaB2Iw

After that, he stopped pushing so hard on the UI/UX problems of blender. I believe he is still part of the UI committee, but isnt pushing it as hard in his podcasts as he realises he doesn't have the answers.


Don't think he thought that he had the answers. Simply that the UI was bad and it needed to be fixed. He wanted to have a discussion.


This was his suggestion to how to fix blender -- https://www.youtube.com/watch?v=UWacQrEcMHk


So, people just told him he was wrong? End of story.

When someone throws out their ideas, people get to shoot them down then the status quo continues. I listened to all his podcasts. It was meant to be a conversation.


Not at all true. He was wrong, but he wasn't shot down in the slightest. One of the main focuses in development right now is the workflow/UI.

https://code.blender.org/2015/07/blender-2-8-the-workflow-re... https://wiki.blender.org/index.php/Dev:2.8/


I haven't used blender in years, so don't know about recent UI. But I totally loved the interface of the first opened version. It seemed optimized for power users, not casual users. So, steep learning curve but very rewarding/powerful if you invested time to learn it. Reminds me of vim.


It seems like no one commenting here knows anything, so I'll just leave these here:

https://code.blender.org/2015/07/blender-2-8-the-workflow-re... https://wiki.blender.org/index.php/Dev:2.8/

Right now, the main focus is in the (already fantastic IMHO) UI.


It's something everyone knows about, and nothing can be done.

As I heard, it's almost a full rewrite.


This is fantastic news! I use mostly blender for 3d printing, but I expect the 3d scene to get quite frantic when mixed reality will be around. Really hope we may get an opensource alternative to Unity3d (even if Unity is great by itself, but you know, competition never hurt users).


The opensource alternative to Unity is Godot. The 3D isn't great yet, but they're working on it.


The open source alternative to Unity is UnrealEngine4. Epic's licensing is royalty based, if you make more than a certain amount per quarter. Unreal has both a mature AAA-grade toolkit, and a convenient graphical language for quickly prototyping before optimizing into the C++.


UnrealEngine4 isn't open source. Just because the source is available doesn't make something open source. The source code to Windows 2000 is available but it's definitely not open source.

The agreed definition is "Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose."[1]

There is a modern trend to redefine it as "something for which I can freely get the source code" but that ignores the original ideals of collaboration and cooperation.

[1]: https://en.wikipedia.org/wiki/Open-source_software


Yes. We are reviving the BGE. But we need the collaboration from the community (make games so the engine doesn't die). Currently it suffers from abandon syndrome, where every user abandon it to use other engines. If you want to ask questions (in real time), just join #upbgecoders on IRC (freenode). We will answer all the questions :)

Thanks for mentioning us!


Exciting! I do wish we'd get "everything nodes," but I understand why we can't.

It's also nice that the VSE isn't getting cut (as was hinted might happen at one phase).


One thing I'd love to see is better distributed network rendering. Right now it's neither easy nor intuitive to set up, and last time I tried it (a year or so ago) I couldn't get distributed still rendering to work...


I don't see Rust in their timeline, this must be a project for old people.


I was just thinking it would be neat to get some Rust in there. Yes, very predictable I know.


Downvotes on a mea culpa? Sheesh.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: