OMNILays - Dynamic Stream Layout, currently featuring GG Xrd Theme


Hello people!


Since yesterday, I finished up the first beta version of OMNILays, a dynamic stream layout aimed to help streamers look good and have full control
of their FG Streams. Currently OMNILays are in a proof of concept stage, heavily focused on Guilty Gear -Xrd Sign-, but the aim is to make it fully scaleable, reskinnable
to make it work for more games and to help you out when streaming privately or in your FG tourneys. You can read more about how to use it (also contains pictures) at the following link:

How it works
OMNILays is developed using nodecg, a nodejs framework with specific “views” that you can add in xSplit or OBS that are fully defined in HTML and css with javascript logic tied to it.
All views are controlled from a dashboard which you open up in your Chrome webbrowser and most components are animated which makes the stream look more alive.

It does not aim to replace existing overlays made by the scene, but complement them with modules that simplifies tasks that otherwise would be quite cumbersome.
If you’d want to test it out and post some feedback that would be awesome!

What I’m primarily looking for
[] Suggestion for more features, OMNILays is concidered in it’s baby stages, made by the scene for the scene, but I want to know the scene need.
] Feedback on usage and presentation
[*] Feedback on Usage and installation description. Is it enough? does some things need to be made more clear?

Sneak peaks

All comments, praise, blame, support, feedback appreciated!


I do not stream games, but I do watch a few streams, so I guess that makes me a little qualified to comment on this doesn’t it?

Firstly, I would like to see it in action. I think it’s great that you’re letting us try it out, but I’d like a video of you or someone else using it. That description of it is totally Greek to me. Just a quick youtube video of you showing what it’s capable of or some screen caps of a twitch stream running omnilays. Until I see it in action, I can’t say any more than that.

I will say that it LOOKS good. It definitely feels like GG in here already.


Would it work in remote mode. Like say I install all the dependencies on a Gentoo machine, then launch the dashboard by typing the local IP of that machine on my windows box, would that work?


Yeah, I’ve meant to record OMNILays in action for a few days now but I’ve had little to no time to do it, but tonight I’m definitely going to! There exists somefootage of it, but it has come a LONG way since then, which is why I’m reluctant to show it here.

Yes! since it’s nodejs based, as long as you change a line or two in the nodecg configuration, you can access the dashboard AND the views from ANYWHERE, you don’t even need to be at the host computer. For tourney streams this would mean that overlay management could be controlled from … the toilet if need be.


Looking at it now, can’t see any reason to use this over @Farpenoodle 's Stream Control.

Essentially, what this is seems to be a less powerful take on what Stream Control already does without the latter’s ability to be customized, but requiring way more setup (why do I have to do shit with Git when I can just copy and paste the .exe for StreamControl anyway I want), at no price advantage (their both free).

For most streamers who’re looking to establish their brand/identity, Stream Control makes more sense since, aside from the number of already existing overlays, anyone with a modicum of experience with XML plus HTML5 or Flash can take it and customize their own overlays for their own purposes (I mean, even the Capcom Pro Tour already uses it).

At the very least, this needs a way for a developer to create their own customized dashboard (Stream Control makes this very easy since all you need to do is load a new layout.xml file) for when they want to add new things.


I fully agree with all points you bring up here, which is exactly why I said that OMNILays is still in it’s babysteps, and this is exactly the kind of feedback I want. I’ll try to explain some of the things that I have in the pipeline so far, and how this technology differs from StreamControl. I’ll also put up a video later displaying the dashboard, the state of things, etc.

To address one of your points: the installation could be made a bit easier I guess, ultimately it would be “Download .exe file for stream control” vs “Download complete nodecg bundle with Omnilays, open up a terminal and and type in nodecg start (maybe even this could be accomplished with a .bat file for easier access)”.

To my understanding StreamControl operates mainly with user-made flashfiles for presentation. Nodecg differs a bit in that sense since it uses html and javascript instead, HOWEVER it would not be impossible to incorporate flashfile support if that’s the flavor the general masses want, along with customizability.

A few fundamental differences between StreamControl and nodecg(OMNILays):

[] As already stated above, OMNILays (or nodecg) can be accessed from any computer connecting to the host/stream computer running nodecg, enabling co-hosting and simultaneous updates by more than 1 person
] nodecg works with “bundles”, which means that you can easily download bundles and put in nodecg/bundles for any specific functionality you might want that will run alongside OMNILays (which is in itself, a bundle).✓&q=nodecg shows a multitude of bundles available such as customized followalerts for twitch, “now playing” bundles for songs, that as you said, people with html knowledge are free to mod with their own stuff etc etc.
[] In the present state I’m fully aware that OMNILays lacks behind StreamControl, but if we take customizability out of the equation, are there any needs or functionability which StreamControl lacks (that would need alteration of StreamControl code), that people feel they would want in a simple manner? in OMNILays for example you can create a roundrobintable with x amount of players, then click “generate table” and it will all be there.
] Since it operates using html and javascript, users are free to tune and mod it however they like, the focus for me would be to focus on the actual FUNCTIONALITY

a small look at the backlog I have right now:

[] Being able to manually from the nodecg dashboard change a scene in OBS or xSplit with or without a user defined scene transition
] Customizability in form of “Skin packs”, where the user can exchange the graphics used and maybe in an XML way that you described, change the positioning of different elements in the scene to their liking.
[*] “Drag and drop” positioning of elements in a scene so you don’t have to trial and error with x and ypos in a cfg file

A clarification is also in order. Functionality is not only bound to graphical presentation. For instance you might want to broadcast something in the screen, then you could type what you want to say in a textfield, press a button, and there would be an animated alertscreen popping up on stream. Or maybe you’d like to keeping automatic bookkeeping for all the matches that’s played, or maybe you want total challonge/toornament integration to quickly show the brackets… Or in the most extreme case where functionality is disjointed from graphicality; you might want to send data automatically to a database somewhere reporting match results. Think high and low! everything is possible


Stream Control works with both Flash and HTML5. Actually, it can work with anything that can read the XML file and pick up any changes as soon as they’re saved.

Technically, you can control Stream Control remotely via remote/network access to the XML file.

As for the bundles, IMO Stream Control makes things more elegant since you can just build everything into your overlay. Instead of having to download bundles and/or skin packs, everything is just built into the overlay system. Stream Control doesn’t really care since all it does is write data to the XML file.

As someone who’s designed stream overlays for tournaments using Stream Control (the most recent being Ultimate Tournament XVI), how Stream Control handles things seems more attractive.

Honestly, what I’d like is if your system could just load the layout.xml file that Stream Control uses and then creates the dashboard from there. And then, save all the data to a separate XML file so that all the overlays just call the data from that file as soon as they detect that it’s changed.

With the latter, everything else is just handled by the HTML files, or whatever format it is that the overlay is built on. Any functionality is a result of the code built into the overlays and not Stream Control and therefore anything can be done as long as the overlay supports it.


Thanks for the useful Information of how StreamControl works d3v, I’ll process all the information and come back later!

#9 for what it’s worth, here’s what I have so far