How is that an expensive luxury car with all cutting-edge features is often less reliable than an entry-level commuter car. Surely a $120k Range Rover is better built than a $20k Toyota Rav4?
It makes sense if you consider just how many additional features there are in a luxury vehicle. Does your commuter car have in-seat massage? Doors that close themselves? Built-in Wifi hotspot? Not to mention a gazillion sensors that make the car steers itself, brakes itself and parks itself. I am not making stuff up. See for yourself. Whether the additional features makes a better value proposition is moot. The point is, more stuff equates more stuff to fail. Especially when the stuff are as experimental as these.
Early adopters of technology have all experienced this. We pay a huge premium for the newest, shiniest, gadgets. Not only does our wallet suffer, more often than not, the first iteration of something is unrefined, unreliable, and depreciates quickly as the mass market warms up to the technology.
I bought a 4K TV last month. A 50inch LCD display with a staggering 3840x2560 resolution. 4K is far from mainstream just yet, as there is virtually no UltraHD content available apart from computer outputs. But I wanted one, so here we are.
As with most early adopters, my experiences with the 4K display is hardly pleasant. I had expected that. I had to flash the firmware, twice. It was near impossible to get working under Linux without some serious technical know-hows. And I had to wade through 80 pages of forum posts just to find out how to adjust the backlight brightness (It’s under a secret factory diagnostic menu). But never mind all that, because I have a 9 megapixel display and you don’t.
All jokes aside, being an early adopter is not about bragging right. It’s about pushing the technology forward by voting with ones wallet. Early adopters live uncomfortable lives, they often have to deal with products that are half-finished while paying a huge premium for it. But this shouldn’t be a reason to avoid new technology, without early adopter’s support, nothing will ever reach mainstream.
When DSLR video recording first came out on the 5D Mark II, the indie filmmakers went nuts over it. The first short film Reverie, with its creamy bokeh that take up the whole screen, convinced the world what digital SLR can do. Never mind the heavily compressed codec; never mind the lack of manual control; never mind that it didn’t even record in the industry standard FPSs, the status quo had been challenged, and the indie film-making scene is never the same after.
When the first iPhone came out, the people who bought them on the first day did not do it because it’s cheap, nor because it’s a proven technology. Keep in mind that the first iPhone didn’t even have an app store. Imagine living with just the dozen apps that it comes with today! They bought it because they are the early adoptors, they see an emerging technology and made the decision to support it. Dollar voting.
Going back to the topic of cars, we are at the beginning of another adoption lifecycle: that of the electric cars. But if everyone decided against buying the current generation because it’s too slow, limited, or expensive, how will the companies ever collect enough capital to make it better?
The world needs more early adopters.
A while ago, the Blender Foundation posted a roadmap for the future of Blender and that of the game engine. The gist seems to be in favor of a more unified codebase between Blender and the game engine. This move is meant to bring some of the best features from both sides together, and alleviate the current stagnant state of the game engine.
There was a lot of panicked GE faithfuls that got uncomfortable with what some perceived as the annexation of the GE, or worse, the complete abandonment of the GE. Lots of ideas were thrown around.
Having relied on the GE for nearly half a decade to make a living, I felt compelled to chime in.
Firstly, let’s be clear: No one said anything about removing the GE. Sharing a codebase is a great thing, it means the viewport can benefit from the performance and shading capability of the GE, and the GE can benefit from the constant improvement of the Blender kernel. This merge will give the GE more attention, not less. Ton later clarified his intention in another email.
Secondly, we are way past the ‘make an offline scene, press P et voila!’ game creation pipeline. Developing any game asset takes careful planning, execution, and a very specific set of tools. Expecting a scene made for offline rendering to work in a game ad-hoc is simply not reasonable. Yes, there are tools such as the Valve FilmMaker and Unreal Matinee. But these are designed to be realtime tools, while Blender is still an offline-centric authoring tool.
With the advance of Cycles and non-polygonal renderings(volume, smoke, particles, hair), the feature gap between Blender and its game engine is widening. As we lose more and more of that interoperability between Blender and the GE, the style of game development vis-a-vis offline work also diverges. But since that’s not how games are made today anyway, this interoperability cannot be seen as a serious feature, even if it worked.
By now, hopefully you are a little convinced that getting the game engine to support all the Blender features is tough, in fact, as developer Mitchell Stokes explained, from a software perspective, the game engine is very much separate from the rest of Blender. This is probably why the developers aren’t as interested in the game engine - it’s another entity altogether.
Which brings us to the proposed solution - To bring the GE into Blender.
This will accomplish exactly one thing: As mentioned above, a unified codebase will make development far easier, and remove duplicate work.
As an user, the advantage of a more interactive Blender is limitless. Bret Victor gives insight into how a simulation based workflow can benefit animators. A game engine powered Blender doesn’t just mean realtime lighting and shading, it will hopefully one day give animators the ability to blend procedural driven animation with classical hand-tuned animation. We already have bullet physics rigid body integration, now imagine rag doll physics, event based animation, rule-based crowd simulation, and directed animation.
This is where things gets fun: when art-making moves away from slider tweaking, towards being a performance.
Seriously, watch Bret Victor’s Stop Drawing Dead Fish talk:
Blender 2013 Demo Reel Submission -
The Blender Foundation is getting ready for Siggraph 2013 and we are compiling a new Blender Reel. We are calling all Blender Artists to contribute their work, and help promote Blender!
My co-author Dalai Felinto and I spent three years working on this Blender book and it’s finally gone to the printers. You can order the book now and expect it to start shipping in a week.
You can find this weighty 400-pages tome on Amazon and Barnes and Noble.
An electronic version is also being prepped, but it will take another two weeks since the wizards at Cengage Publishing are working as hard as they can already.
Oh, one more thing. We’ve made Chapter One of the book freely available. You can find it here.
Trying to recreate the AE Plexus trailer, in Blender.
Video Game as Art
Uber efficient use of textures for terrain rendering
Traditionally, for a terrain this size, one will need an 8k texture at minimum. The landscape is rendered using a single 2028x2048 texture and one 512x512 texture.
This post is inspired by Andrew Maximov's article. In which he explores the limitations of traditional diffuse colour textures, and proposes a shader based semi-procedural texturing approach.
This is that method in Blender.
Download the Blend file here Here is the texture use break-down
To see how these textures are being used, take a look at the nodal material setup in Blender.
OpenGL Mobile Compatibility and Android Port (GSoc 2012) - Alexandr Kuznetsov: This project aims to made OpenGL slightly faster and compatible with OpenGL ES in order to port Blender Player to Android. This would include port of libs, ghost and build infrastructure. At the end Blender Games can be played on Android.
BGE Converter Improvements and fixups (GSoC2012) - Mitchell Stokes: Various improvements such as saving out converted data to disk and allowing for asynchronous level loading. Will make loading of large geometry much faster.
Multitouch Framework (GSoC 2012) - Nicholas Rishel: Extending recognition for multitouch input for SDL for the purpose of navigation, and a framework for future additions. As envisioned, the immediate result would serve as a compliment to a stylus. This would prepare Blender for the incoming Slate form factor machines (see Samsung Series 7 Slate and Asus Eee EP121), and potentially ease ports to Android touch devices.
Adapting the Hive system for the Blender Game Engine (GSoc 2012) - Spencer Alves: This project aims to make a more accessible, efficient, and useful editor for logic systems in the Blender Game Engine by integrating the Hive systems project into Blender.
The above 4 projects are collectively codenamed “SwissCheese Branch”.
Candy Branch - Martinsh Uptitis and ‘mokazon’: General eye candy improvement [link]
Harmony Branch - Daniel Stokes et al: Phase 1 merged into trunk, more goodies coming [link]
Boston Blender Game Engine Talk -
Here is the slides for my presentation at the Boston Blender get-together this past week.
Beginner's Blender Cheat Sheet -
This is a cheatsheet I created in collaboration with Jonathan Williamson of Blender Cookie.