Tuesday, July 30, 2013

TCPRelay 0.4 alpha 1

NOTE: there is a newer version of TCPRelay here. It fixes a problem with Twitch.tv ingest server listing when starting up, so if you still have the problem, make sure to upgrade now.

TCPRelay 0.4 alpha 1 is now available! Download the 32-bit or 64-bit version. You may also need to install the Microsoft .NET Framework 4. Keep in mind that this is an alpha version; some features may not behave correctly.

What's new in this version:
  • General
    • NEW: localization support for:
      • [es-AR] Spanish (Argentina)  (thanks to Nicolás Sigal)
    • If you wish to add your language, fill this table (make sure to fill both sheets: WinFormStrings and ControlsStrings) and send me via e-mail with the subject TCPRelay translations for [language] [country].
    • NOTE: only the GUI version has support for localization for now.
  • GUI
    • FIXED: status tooltip did not clear when TCPRelay was started sucessfully after an error.
    • FIXED: added localization support for several hard-coded strings.
    • FIXED: component layout updated manually for localization.
Check out the official topic on XSplit's forums and see for yourself all the great feedback people gave me.

Tuesday, July 2, 2013

Natural Selection 2 - build 250 is out! Time to stream again!

This weekend Natural Selection 2 saw the release of build 250, along with a nice big -66% discount. This helped restore some of the game's popularity, at the cost of introducing a lot of newbies, which means the overall pub game level is quite low.

My team, CiB, has been quite inactive lately. No scrims, no competitive games, no internal practice, nothing except for 3 or 4 members playing sporadically. Even myself gave a little break to NS2 for other things, because once you get into the competitive scene, it's hard to go back to pubbing, because you'll end up breaking the balance like this. (I am smurfing as Ares.)

Thankfully, people are picking up the pace quickly. Today I played for a couple of hours and there were some pretty decent games, albeit not very balanced, and there were some funny moments in there too. Watch them below!

Saturday, June 29, 2013

TCPRelay 0.3 beta 3

NOTE: there is a newer version of TCPRelay here.

TCPRelay 0.3 beta 3 is now available! Download the 32-bit or 64-bit version. You may also need to install the Microsoft .NET Framework 4.

What's new in this version:
  • GUI
    • FIXED: serverlist.txt is now saved to the user's AppData folder to avoid permission issues. (Thanks for reporting this Pedroca!)
      The full path under Windows Vista/7/8 is:

Check out the official topic on XSplit's forums and see for yourself all the great feedback people gave me.

Thursday, May 30, 2013

Tracker music player using XMP

Recently I've been working on a tracker music player based on the xmp library. I got the basics working: the DirectSound stream buffer, a software circular buffer to write audio data, compiled xmp into .dll and .lib and integrated those into my project. Then I wrote a simple command-line based player to test it. Works like a charm!

XMPModPlayer playing 2nd_pm.s3m by Purple Motion of Future Crew

For those of you unfamiliar with the scene, tracker music (or module music) is an old music format very popular back in the DOS and Amiga era and was used by many games and artists of that time and even further. For instance, Epic Games used it on games like Jazz Jackrabbit and Unreal Tournament. It was also very popular in the demoscene; in fact, some tracker music formats (such as S3M and XM) were created by demosceners because they needed something better than what they had -- they needed to do something impressive, which is the whole point of demos.

Tracker music files are very similar to MIDI files, except they also include samples and sometimes instrument information like envelopes, filters, key mapping and such. These formats were very influential, so much that there is a contemporary tracker inspired on them that can take advantage of modern technology such as VST plugins. OpenMPT runs on modern OSes too and plays these old formats without a hitch.

"So, if there are very powerful trackers/players out there, why are you writing a simple player?" For two reasons:
1) I enjoyed tracker music back then, and I still enjoy them today, and I didn't want to use Winamp or OpenMPT to play those songs, and I couldn't find a xmp player for Windows. (Well, this is like four reasons in one... :P)
2) I wanted to learn DirectSound programming, and this proved to be an adequate challenge.

I'm thinking about improving this player quite a bit, making a graphical front-end for xmp but with very advanced visualization features (think Cubic Player, but with more bling), so I can learn Direct3D/OpenGL too. I'll also probably try to implement support for ASIO drivers, mostly for learning purposes.

Monday, April 1, 2013

A peek into the future of TCPRelay [April Fools!]

It's been a while since the last TCPRelay release. I've been working hard on the next major feature which has been highly requested by many people. I think today is a good day to show it off. It's still experimental, caused a bunch of BSODs and crashes but I'm working on making it as stable as possible.

The new feature is called "Internet Booster". It actually increases your internet bandwidth for all connections that go through the program by emulating another ISP. It only works for TCP connections for now, but it grants a huge boost in download and upload speeds and also reduces your ping. Check it out:

Before TCPRelay Booster, with GVT corporate 20/20:

After TCPRelay Booster, emulating XMission Utopia 100/100:

Pings in games are also greatly improved for US servers, as you can see from the pings in the tests above. This should help us brazilians out when playing those competitive NS2 matches against US and EU teams.

Unfortunately, I couldn't test with P2P downloads -- TCPRelay crashes as soon as a P2P program is loaded on the system.

The current version of TCPRelay can only emulate three ISPs: GVT in Brazil, and XMission and Google Fiber from the US. I'm working on UDP support next and will keep adding ISPs to the list!

P.S.: Take a good look at the post date.

Monday, March 25, 2013

More competitive Natural Selection 2

Hey guys, I've been very busy recently with Natural Selection 2. Some of you may have heard of the free weekend and 50% discount on the game that went live last weekend. This brought lots of new people into the game, hopefully to stay. It's been really fun going back to the basics and teaching those new people how to play the game and win. The game is still on discount sale as of this writing, but only for 6 hours, so hurry up and buy it if you like it!

After a three week hiatus (due to some issues with my ISP), my stream came back with a couple of very good, very fun NS2 matches. The first one is a couple of ENSL Gather matches, one of which lasted over an hour and had its fair share of higher alien lifeforms and all sorts of marine tech destroying said aliens.

The second is a set of matches for the NSL Season 2 tourney, for CiB Highwind. We played against AtroX on the official map Veil and the custom map Jambi. Watch below my point of view for all four rounds, and also the official casts by RedDog and Neatchee: rounds 1, 2, 3, 4.

Have fun watching! :)

Wednesday, February 20, 2013

Getting into competitive NS2

My Natural Selection 2 team, CiB, is now entering competitive tournaments against teams from all over the world. Last weekend we played several matches in the ENSL Custom Map Cup, all of which I have streamed in first person: vs. VexX, KKG, Team 156, flow and AtroX (aPx forfeited).

Of course, we speak Portuguese, so many of you probably won't understand our chatter ;)

After you're done watching the games, or if you want to know the results right now, see our division here.

We did quite well for a newcomer team. We're on par with most teams in our division, but still need to work on Marine tactics and dealing with the higher Kharaa lifeforms, as well as playing them better. Since this was a custom map cup, we had to give feedback on the maps. My overall opinion about them was not very good -- most maps had several balance issues and bugs in the form of stuck spots, missing textures or holes.

After playing these competitive matches, normal (pub) games are no longer the same. They're just for fun -- hop in, kill some aliens/chomp some marines, don't care about winning or losing. It's all about the fun (and honing skills).

On the next weekend we'll be playing the NSL Invitational #1 Qualifiers (see our division here), although we won't be able to get past the qualifiers since we're not an EU or NA team. We're up for the challenge, to learn new tactics, get some practice and, well, just for the sake of playing competitive games (and because they were missing three teams to fill up the 32 slots and decided to pick us). There are two well-known, strong teams in our division: Goðar and True North. We also met Team 156 before. The rest of the teams is new to me; hopefully they'll be on par with the teams we scrimmed.

Wish us good luck!

Saturday, January 12, 2013

TCPRelay 0.3 beta 2

NOTE: there is a newer version of TCPRelay here.

TCPRelay 0.3 beta 2 is now available! Download the 32-bit or 64-bit version. You may also need to install the Microsoft .NET Framework 4.

What's new in this version:
  • GUI
    • NEW: the Target URI list is now saved to a file in the TCPRelay folder (serverlist.txt) and reloaded every time TCPRelay starts.
    • NEW: pressing Enter while typing a Target URI or starting TCPRelay will add the current Target URI to the list if not already present.
Check out the official topic on XSplit's forums and see for yourself all the great feedback people gave me.

Sunday, January 6, 2013

Natural Selection 2 is so much fun. Streaming with OBS is so much better

Hey there people, happy new year! It's been a while since my last gaming-related post. As you may know, I am now playing Natural Selection 2 a whole lot. This means I must have been streaming a lot lately, right?

Well, due to what amounts to extreme laziness, I haven't been streaming too much. :( But this is going to change, as I just found out this new streaming program called OBS (Open Broadcaster Software), which is, simply put, a "free, open source XSplit", except it is much faster and lighter.

For starters, it loads and closes as fast as Notepad. I can easily stream with the screen capture feature without as much as a dent on the frame rate, which I found very impressive. I can play NS2 at over 60 fps most of the time with the aforementioned software screen capture, just as if I wasn't streaming at all.

It has pretty much the same features as XSplit, lacking only a few I never used anyways. Even if it doesn't come with them out of the box, there is a plug-in framework so that people can add the features to OBS. I wouldn't be surprised to see plugins that replicate or perform certain features better than XSplit.

I have one complaint though: the video quality doesn't look as good as XSplit. Maybe I'm trying to push too hard with just 2000 kbps of video bandwidth? Who knows. I'll be tweaking it a bit more...

Back to Natural Selection 2! I did stream some matches, and they're available on my YouTube channel. Here's one of my recent ones - a ridiculous pubstomp (70 kills, 7 deaths!) with those newbies that bought the game on the recent Steam Sale: