Some changes for use with XSplit 2.1

So XSplit 2.1 has introduced some changes to the way it handles SWF files. It no longer loads SWFs through swfwrapper.swf to enable volume controls. What this means for you is that files are loaded relative to where your SWFs are stored as opposed to where your XSplit directory is. This is a pretty nice change. As this basically makes the process for usage roughly the same between both XSplit and OBS.

When the new version of Streamcontrol is released (hopefully soon/early new year) my recommended way to use the older overlays and probably newer overlays would be to copy the Streamcontrol exe to the same directory as the SWFs and run it from there. This helps isolate your settings for each set of overlays rather than dumping everything into the XSplit directory. And is something I’ve already been doing for my own stuff for some time now by using the little documented .nowrapper function in XSplit. And in the future this should make setup a lot less fiddly.

In the meantime, you can largely follow the same instructions for OBS to set up the overlays for XSplit. Make sure you change “XSplit directory” under settings to the same directory you store your SWFs in and you should be good.

Now Playing overlay for OBS/XSplit with Foobar2000


I had an idea of how to do a nice looking music overlay for use with FB2K. So I made one. Works with both OBS and XSplit.

Continue reading

Quick Twitter Example file


Download here

This is a quick example file for people who’ve been asking me for a Twitter example. Please be aware that I’m currently working on a Version 2 of the example files which when released, you will probably want to base your own files off of as opposed to this. The new example files will be a good bit different. The code is not commented, and I’m not going to be providing support for this.

To use, you need to have the OpenSSL libs for windows installed on your system.

Then just add a tweet widget to your layout xml file. If you’re using a tabbed layout, you could just add the following to it:

<tab name ="Tweet">
 <tweet id="twitter" x="10" y="10" width="380" height="60" picPath="twitter" />

Then, you need to click “Fetch Tweet” and wait for StreamControl to retrieve an Auth Token. In future versions of the program this will be done automatically. Then paste a tweet link into the text box and click “Fetch Tweet” again. Once it says “Ok” you now need to hit save. The tweet should then appear in the SWF file.

Edit: If you experience crashes adding the file to XSplit, rename or remove the tweet.xml file.

Fixing the Mechwarrior Online Heat Scale

Also posted on the MWO forums.

So the recently introduced Heat Scale system in Mechwarrior Online has been a pretty hot topic of late. There are a lot of different opinions on how it’s managed (and how best) to tackle the boating problem. (Spoiler: I think most of them suck.) So I took a long hard think about it. Long story short, I think PGI basically has the right idea, that being to try to limit the number of weapons that can be fired at once, but their implementation is amazingly obtuse and arbitrary. There’s no intuitive way to figure out what’s going on. I mean just read the command chair post and tell me your head isn’t spinning by the end of it.

Good luck explaining to new players why they’re exploding from firing more than 2 PPCs or large lasers.

The number of 0.5 seconds between shots is also really inelegant. Shooting off your second salvo just a split second too early is going to cause you to incur ALL that heat penalty? Sucks to be you.

It also doesn’t solve builds with 2PPCs and a Gauss Rifle. And while the speed differential means that it’s impossible to be pinpoint accurate at long ranges as long as the target is moving, both projectiles are fast enough that at close to medium ranges they might as well be pinpoint. Not to mention it’s a build with some of the best sustained DPS in the game. (Though partially solved in the future with heat nerfs coming to PPCs.)

So what I would like to see PGI do is rework the system to be something more organic and elegant. I’m not sure, but I believe something along these lines has actually been suggested before. I think it’s worth another look given that this is the direction PGI has gone.

Fixing Heat Scale

Give every mech an engine capacity, this could be a function of engine size but it doesn’t have to be. This would be up to PGI. Give it a bar on the HUD. In the following video I place it right beside the Heat bar. Firing any weapon would cause a sharp increase followed by a more gradual but still fairly sharp decrease. Going over the engine capacity will cause the engine to be “overloaded” and cause it to dump excess heat into the mech (depending on how many points over) and flash an appropriate warning on the screen.

I made a video showing how it might work mostly based off PGIs own numbers currently.

So yeah. Relatively simple and easy to explain and enforces staggered firing while accounting for multiple weapon types. Also relatively easy to implement. Simple is good.

Different weapons could be given different profiles for how they use up engine capacity, for example, in the video lasers use their capacity for the duration of the beam then have a sharp dropoff. PPCs, Gauss and ACs use their capacity immediately upon firing but then have a slower dropoff.


How do we explain ammo based weapons using up energy?
Clearly by video game logic! Okay. Fine. Alternatively, ACs and missiles generate recoil, putting load on the gyro. Gauss is recoil less but needs energy to charge it’s capacitors.

What about Homeless Bill’s targeting computer solution?
I like it I guess. In theory it solves a lot of problems. But I think it might be too complicated to implement properly and it’s probably not nearly as intuitive as he thinks it is. I wouldn’t mind seeing what would happen if it did get implemented though. Regardless, I do think PGI’s solution basically does what it’s supposed to do. Just that it’s a terrible way to go about it and they should fix it.

What about X?
Refer to the “Rebuttals II: Alternatives” section in Homeless Bill’s article. I basically agree with pretty much everything there.

StreamControl 0.3

This is a pretty big update. This is the introduction of data sets. Which in layman’s terms means the introduction of auto-completion. It also introduces a number of other useful layout objects such as checkboxes, scrollable tabs for large sets of data and the new tweet widget. Which allows you to retrieve a tweet by it’s URL and use it in your overlays.

StreamControl now has the ability to populate any number of fields based on the input of a “master” field. And all the data can be loaded from a CSV file. For example, one can have a CSV containing Player Name, Twitter and Country. When the player field is auto-completed with something from the database the twitter and country fields can be automatically filled with the relevant data from the database. Very useful and time saving feature especially for fighting game events where there can be hundreds of participants and the matches are short.

I’ve made a rough overview of some of the stuff you can accomplish using StreamControl 0.3 with the SEA Major 2013 overlays in this video.

I’ve also made some changes to the flag loading scoreboard to better suit the new version as well as made some HTML5 versions that work with the OBS Browser Source Plugin. So yes, StreamControl is now compatible with OBS! (Apparently it has been for some time. But it’s only been brought to my attention recently.) Unfortunately in my tests, rendering a browser window at 720p causes random crashes. And I’m not sure if that’s just me. So do let me know if you manage to get my overlays working at 720p. Source code included and feel free to base your own stuff off it. A proper tutorial for running my overlays in OBS will be coming soon.

Remember that if you plan to use the tweet widget you need to download and install the OpenSSL libs. The light version will do.

Also, I have a bunch more features planned. So stay tuned for more updates.

Download here

StreamControl 0.2

The first part of the big changes I mentioned in the previous post are here.

When I first made StreamControl, all I was after was an easy way to get an XML file into flash files in XSplit. To that end the interface was extremely basic and was only the was it was because it was functional enough and did what it needed to do. I put in enough fields that I thought I would need for a Fighting Game event and that was basically the end of it.

As time goes on however I’m finding that shoehorning what are essentially random fields into use in my flash files is starting to get really annoying. Not to mention confusing to anyone who isn’t me who happens to be running a stream with my overlays.

In addition, the old layout limits it’s use outside of what amounts to my narrow scope of streaming events. Different people stream in different ways and display different information on their stream. Not to mention the old layout is woefully unsuited to streaming the myriad of non-fighting games.

To that end I’ve taken that factor out of the equation by making layouts dynamically loaded from an XML file. You’re now able to use any number of fields for any purpose in your flash files. I’ve also introduced tabs to the layout to allow you to better organise your fields.

The new default layout is a streamlined version of the old layout to serve as a relatively sane default and not break compatibility with my old overlays. I’ve also included the XML files for both the new layout and the old layout so you can have a reference for making new ones.


This is just the first step for what I have planned. It just eliminates what I feel was one of the biggest limitations with StreamControl as it was before.

A word of warning. There is no error checking in this version. It’s entirely possible a malformed layout file will cause crashes and other weirdness. This is something I intend to add but for now it should work fine for the most part.

Download here

Some new StreamControl scoreboards.

So I’ve teased the flag loading overlays for a while but took quite a while getting round to it. Well in any case they’ve been uploaded and are ready. I’ve also uploaded a generic Naruto themed scoreboard for Naruto Ultimate Ninja Storm 3. (It’d probably work for other Naruto games but I dunno.) It’s pretty nice if I do say so myself. Some videos of them in action below and you can download them (along with source code) at the StreamControl page.

In other news I have some pretty big plans for some StreamControl changes. The current version is extremely basic and I’m pretty excited to start work on them.

StreamControl is now released!

Now a lot of people in the Singapore FGC know I’ve been using this software for nearly a year at this point to do Fighting Game streams. And it has been fully my intention to release it for free from the start. However I put it off for a long time because I wanted it to be “ready for release.”

Some time in the middle of last year I decided I really needed to get going on that. I put in some time and indeed the Software has more or less been ready to be released for something like 4 months. My reasoning for putting it off this time was because when I put it out I wanted to have some tutorials ready when I released it. And I’ve successfully managed to put it off until now since one of my New Year’s resolutions was to get this out the door ASAP. Well mission accomplished I guess.

In any case I started work on it pretty early on when I found out that XSplit allowed you to put SWF objects on the stage. Being a Flash developer I quickly realised the number of possibilities with Flash. I then went to work seeing how I could get external data loaded into an SWF in XSplit. I didn’t want to develop a pure XSplit plugin. Because I found the interface for managing data with XSplit (and indeed most of the interface of XSplit) kinda clunky.

I made a rough prototype in Qt which happened to work. And since it worked I didn’t really need to work on it much more particularly since most of the heavy lifting was done in Flash. Hence me putting off releasing it until I felt it was ready.

Now that it’s out, hopefully I’ll be better about updating it. As it stands it’s actually not that much more functional than the initial prototype. And there are a bunch of things I’d like to do with it.

Also oddly enough I started developing this system before Jaxel released his XSplit Panel Writer program on 8WayRun. I even have proof. This is from an event where I believe I first used my software to stream an event. Oddly enough on the same date that I believe the XSplit Panel Writer software was released. I do remember being mildly bemused that we’d essentially done the same thing except went about it in different ways when he did release it.

That said, I don’t think we’re necessarily in competition. Flash does take more CPU power to render and it does to a certain extent reduce the amount of sheer CPU power you can pump into your making your video quality better. That said, if you happen to be already using any of the built in XSplit SWF plugins it won’t take much more CPU if at all. Images are quicker to render and that is what Jaxel’s software does. However, I am slightly lazy and I do like the fact I don’t have to switch scenes to update my scoreboards. Creating SWF files is also considerably more effort.

Furthermore, Jaxel is welcome to implement support for my SWF overlays in his software as well. It wouldn’t be too hard I would think.

Now in case you’re not here to hear me ramble about how my software came into being, here is where you can download it!


On VF5 and SCV haters.

I made this part of a post in response to someone bringing up VF5FS and Sega as a paragon and balance and game support in comparison to SCV. And quite frankly if you’ve played VF in the past, you know that’s a fucking joke. The larger context is that France is debating a Viola ban in SCV and for whatever reason 8WayRun decided to frontpage it as news. If ever the people at 8WayRun ever come to their senses and unstickies it from the front page and maybe deletes the thread, I figure that this part at least is worth saving. If only because it’s something that’s brought up a lot in the FGC and it annoys the crap out of me. Here’s the thread if you happen to want to see me spew more vitriol.

And one more thing since people decided to bring up VF.

I fucking love VF to bits. So don’t think I’m talking bad about it.

I bet a bunch of people here are going to be like, “Yeah I’m just going to play VF. It’s a better game anyway.”

Why is it a better game? Because people keep repeating over and over how great it is? If you really sat down and thought about it SC and VF at this point are roughly 60% the same game mechanically. Except SC has a higher emphasis on spacing and has meter management.

It should then be noted, that a large percentage of Japanese VF players have picked up SCV and are playing it seriously. Don’t believe me? Just look at Evo. I don’t even need to go to a Japanese source for that. Do it. Go through the player list and find how many VF players are in there. Some of them have dropped other games and now consider SCV their main game.

I think all of us know for a fact that the Japanese are the best VF players in the world and there’s no way you can even begin to argue otherwise. So when the best VF players in the world seem to think SCV is The Fucking Shit™ whereas apparently there are a bunch of people who think SCV is just shit but VF5FS is amazing. I think you should stop. Think for a bit. And maybe, just maybe. Consider that you might be Full of Fucking Shit™. Think about it.