2001-2004: MIDI-BASED DEMO-MAKINGSmode's history takes root in the demoscene: an international computer art subculture that specializes in producing demos: small, self-contained computer programs that produce audio-visual presentations. The demoscene gathers many brilliant programmers who have introduced lots of new techniques for 2D and 3D image synthesis in real-time. A large part of modern video game rendering techniques originated in the demoscene. In 2001, Francis Maes participated to its first demoparty in Denmark: The Party 2001, where he released an "educational collaborative" demo initiated by the association EPIDEMIC he was member of. At that time, demos were like films: they were played linearly without any interaction. Being a multi-musician and having some MIDI hardware at home, Francis thought it could be a good idea to create a software tool for making demos, using a MIDI-based workflow. Two weeks after, the very first version of SMODE, the Smousse Midi-Oriented Demo Engine was there: it was able to change the color of a single big uniform layer thanks to red, green and blue hardware MIDI controllers! After six month of development we released a first toy-demo with Smode (Pipidemic - CoinCoin), and, a little while later, a second more serious demo (Epidemic - RunAway), which you can see here:
Run Away - September 2002 - First serious demo made with Smode 1 - Epidemic (Francis Maes, Laurent Mascherpa, Olivier Chatry, François Renault)Laurent Mascherpa did a post-mortem about this project and you can see here some of the screenshots he took:
Screenshots of SMODE in SEPTEMBER 2002The main conclusion was that MIDI softwares are complex to use and are really not made for graphic animation. The original idea was good on paper but did not work well in real life. Smode was forgotten for a few months, until Laurent Mascherpa, one of the members of Epidemic, relaunched the project with some very nice animation concepts. Empowered with these new ideas, Francis started coding and Smode became progressively a funny and interesting software doing much more than what it was originally planned for:
SCREENSHOTS OF SMODE IN 2003Many demos were then made with Smode, some good, some not so good, but at least we, at Epidemic and Pipidemic, were having fun. In parallel to making demos, the evolution of animation features in Smode pushed us to do more and more demos in live. We turn those new ideas into the S/V Live project in 2003, which was something totally revolutionary at that time: a completely generative VJ live set (at that time, we called it live demo-making). Video downloads: part1 and part2. In 2004, two good friends of Francis got involved in the project. On implementation, Thomas Besson did his end of year project of coding video streaming and intermediate pre-composition rendering in Smode. On usage, Albin Rosa spent more and more time using Smode to make real-time visuals and generative VJing.
2004-2006: GALAGO AND THE SHADERSAt the end of our studies, the question of founding a company to sell the software naturally arose. Francis, Thomas and Albin were joined by two other people and created the company Galago in 2004. The initial goal of Galago was to develop and to sell Smode. We therefore decided to cleanup the user-interface and to improve user-friendliness. In September 2004, we officially release Smode Studio 1.0..
Examples of content produced with Smode 1We first tried to sell the software directly, but that was not very successful: Smode was very alien in the software scene at the time and only few people understood its potential. From 2004 to 2006, in parallel to the development of Smode, Francis, Thomas and Albin did a lot of VJing with Smode in most of the major places of Paris's nightlife (Le Rex, La Loco, Le Tryptique, Le Manray, Les bains douches, Les divans du monde, ...) under the name of The Shaders. Beyond VJing, The Shaders developed some very nice audio-visual concepts by trying to make connections between the vocabulary of music and that of images. The Weav series of videos produced in 2006 are illustrative of the kind of reflections that were driving us:
WEAV PROJECT, MADE WITH SMODE 1 IN 2006, Albin Rosa & DJ BlastNote that The Shaders still exists and performs nowadays! On the development side, the user interface of Smode Studio 1.0 was based on the Microsoft Fundation Classes (MFC), an API which was not a very good choice for making a user interface for a real-time computer graphics software. After a long search for the good C++ framework to use, we found the JUCE library. JUCE was perfectly adapted to our needs with great object-oriented design, which was a contrast to the old fashion MFC library. Starting from September 2005, four years after the beginning of the project, we thus initiated a totally new version of Smode based on JUCE: Smode Studio 2.0. JUCE revealed to be a really good choice since we still rely on it today and are totally happy with it :-) Here are some of the first user interface components we got with JUCE:
First screenshots of Smode 2, in 2005While VJing was very fun, it was far from being enough to make our company work. In 2006, as we were searching for more profitable usages of Smode, we were told about possible applications in the event industry. So we bought more powerful graphics card, and continued to do what we knew but on a bigger scale! Here is an image of the first professional event we did with Smode 2: VJing with custom real-time 3D content for La nuit de la HD:
First Professional Event with Smode 2, In 2006This event was a celebration of new HD format (1920x1080 px) in the industry. Here, we did custom VJing with Smode 2 on a 3x1280x1024px setup: nearly two times the number of pixels of HD! After this first event, we searched for other events to which we could participate and progressively met new people that believed in us and wanted to work with us. Our objectives and partners significantly differing from those we had at Galago's creation, we decided the create a new company dedicated to the development of Smode for professional events: D/Labs.
2007-2010: TV, Corporate Events and Video MappingWith the new company D/Labs, along with our partner DIP Media, we made several large-scale events for major french companies and TV channels:
Les 500 Choristes, TF1 TV-Show, April 2007
These large-scale events have seriously pushed Smode towards features for professional uses. We thus initiated a very productive cycle of: developing new features and validating them on the field, taking the feedback from the field to make the features better, re-factoring and improving the features, re-validating on the field, etc... This method of development known as agile allows very quick correction of the direction taken by the code and enables finding and correcting bugs in early steps and reacting smartly to unexpected situations. Among the potential uses of Smode, we figured out that it could be used to perform 3D video mapping. This technique makes it possible to project images that seem glued to the surfaces of the real-world on which video-projection occurs. It works by modeling the real-world surfaces and making a virtual scene out of them. That virtual scene is then filmed by cameras matching the real-world video projectors. We thus made our first video mappings in 2007, which was quite revolutionary at that time. We published the following demo of video mapping made with Smode in 2009:
Video mapping with 3D real-time content demo, April 2009Note that our example of video mapping mixes different techniques: some effects are pre-rendered and then displayed as films in Smode while many others are 3D generated. To better understand how this is possible, we made the following demo of 3D real-time content creation with Smode 3:
Creation of real-time 3D generative content with Smode 3, March 2009In parallel to developing Smode, Francis, whose other passion is artificial intelligence, obtained its PhD in field of machine learning in October 2009.
2010-2013: FROM MACAU TO Las VEgasIn 2010, D/Labs started a collaboration with a major actor in the industry for large LED screens and video projection installations. The new income generated by this collaboration enabled to hire a new full-time developer for Smode, which still bravely serves the cause today: Alexandre Buge. Thanks to Alexandre, major new features tailored to professional needs appeared, among which high performance video streaming and video capture and modernization of the graphics pipeline. Armed with these new features, several events were made with Smode: big TV shows, concerts and performing arts shows in Belgium and in the Nederlands.
REVERZE PARTY (2010)
D/Labs also started participating to large events on itself:
LAS VEGAS RESIDENCY WITH DJ TIËSTO, MADE WITH SMode 4 (2011)
JEAN MICHEL JARRE, LIVE AT MONACO, MADE WITH SMODE 4 (2011)
TABOO SHOW, “CABARET” EXPERIENCE REVISITED BY FRANCO DRAGONE, MADE WITH SMODE 4 (2013)Smode 4 was really a good version that has been proven a lot, but only few people knew how to use it. This coincided with the fact that the code-base was getting a bit old and difficult to maintain. After 8 years of good and faithful services, we decided to stop developing the generation Smode 2 - 4.
2013-2015: PREPARING THE NEW SMODEA major problem we had with Smode 4 is that it required a strong training due to many non-intuitive or non-usual concepts. What we wanted for the new Smode was to build it around traditional concepts that were already largely adopted by computer graphics artists, such as layers and deformers. With thus started from those standard concepts and progressively augmented them in order to embed the knowledge about real-time computer graphics we have acquired during the last twelve years. In parallel to the willingness to make our software friendly-to-use, a major challenge of the new Smode was to tailor it to the new programmable graphics card architectures, based on sending graphics programs known as shaders to a dedicated processor in the graphics card known as the GPU (indeed, our VJ group name was well chosen :-) ). While the last major technological revolution of Smode was the use of JUCE, the revolution this came from OIL and SGLGL:
- The Object Introspection Library (OIL) is a kind of augmentation of the C++ language that gives introspection capacities. OIL has been created by Francis by merging ideas he developing during his research with the experience from Smode until then. Everything in Smode relies on OIL, buttons, menus, commands, history transactions, layers, modifiers, parameters, etc... OIL offers one decisive feature, which is: real-time mirroring of data. OIL enables to propagate all the data manipulated by the user through the different threads, which makes the user-interface of Smode totally independent of Smode's rendering engine.
- Smode-GLSL is a variant of the GLSL shader language that introduces basics of object-oriented programming through interfaces and struct inheritance. This language, created by Francis and Alexandre, enables to generate shaders at runtime through the combination of specific chains of shaders that may arrive at anytime. Every effect in Smode corresponds to a piece of SGLSL code and these pieces are linked together automatically as the user re-configures his content.