My first participation in Global Game Jam marks my second time working as in a team with the Unity engine. This time proved especially interesting since I got a chance to work with people roughly around my age that had experience and skills to work with. Until then, the majority of any group work had either been on school assignments for general studies or in teams with less than motivated or enthusiastic people.

Fortunately, in the end, “I am H,” was conceived and developed. It isn’t the prettiest thing in the world, but it tried come off like other abstract and less than action-y indie games: have a deep and philosophical meaning. That is, aside from that arduous mountain climbing which is simply punishing. Good things come to those who never give up though, I suppose. That applies towards game jams as well.

Even if there were some perfectionists in my game jam team, I’d say that it wasn’t the hardest part. If anything, their drive to get it right would propel them to do even more with even less time, so I’d say that worked out just fine. What was arguably the most difficult part of me was working with a multi-coder project in Unity.

Dropbox as Version Control System

Most of the team chose Dropbox as the method for source control. Furthermore, we would be using a master project that the game would be assembled in which everyone else would simply create assets for and plop in the box for the person charged with assembly to put together. It would have helped to have the lead programmer and I on the same level of understanding, but since that wasn’t the case. Everything I was going to do would be imported as a raw asset that would then be reassembled into a game object, so I tried to design things that would work alone and with as little configuration as possible.

Keeping Nine People on the Same Page

While there was a team leader, we still managed to fail to get things communicated between “sub-teams” within the group. Programmers consisted of three people, of which one was myself. Artists were made up of the remaining six, which meant there were a lot of ideas bouncing around. While some may have considered this situation to have been a blessing, it was more of a curse in disguise since we had a lot more ideas of what was going to be implemented as opposed to what was actually being implemented and how.

Coming Up With the Idea

This was probably the most frustrating one, albeit not the most difficult. We spent the first two days  without a vision of the game. All we really had in mind was a mechanic and island. Towards the end of the second day, we had come up with the idea and levels proper, but it was rather ambitious and daring, though I wouldn’t say that was a bad thing. We built a lot of assets during the last hours of the game jam, but I can’t help but think about what things I could have achieved late at night after the game jam campus had shut down at 11PM PT.

All in all though, I’d say that I definitely had a good time. I hope that I’ll have more to bring to the table next year. I’m sure some of the issues that I’ve listed above are natural in game jams, but we won’t get anywhere by not asking for any better of others and of ourselves, right?

I should have done this a few days ago, but other projects took precedence. In any case, I did a small overhaul of the listen server setup script for Team Fortress 2′s listen server mode that fixed some bugs and made things a bit more extensible. Poor scripting caused servers to restart between maps while other issues made it difficult to make use of, but hopefully those problems have been solved..

The biggest change would be the transition towards renaming the map name aliases to no longer use the “map” command for map changes. A separate file redefines the aliases to use “changelevel” instead. This prevents the server from being created anew each map change.

Finally, support was added for all of the other missions that are available from the “boot camp” menu in Team Fortress 2′s MvM matchmaking system. A quick look at the population files in the game files made it easier to get the names of other missions that can be loaded into the game.

As always, the script is available on Github and contributions are welcome.

After starting to commit to a more regular tweeting, blogging, and status updating life, I’m finding out more and more as to why I left behind the whole “Minecraft tutorial” life. Making things that I feel look clear and very easy to follow seems to take absolutely forever for me! I always hated watching YouTube videos where I couldn’t tell what was going or articles that couldn’t clearly direct a lowly newbie towards successfully completely whatever task I wanted to get done. I didn’t want to make the same problems either, but in trying to do so, I ran into so many issues! Here’s one of them; it’s fairly recent too.

Working with Value

I’m not a graphic designer, but it doesn’t take one to see what’s wrong here. When I tried to revise my article about taking full page screenshots in Firefox, I noticed that I may have made a grave mistake.

Hovering over me won't give you any hints. :)

Spot the problem?

My super cool captures of my blog taken while I demonstrate the aforementioned functionality in Firefox are so clear, that it could be mistaken as a broken webpage rendering or confusing the most technologically illiterate but learning netizen. Thankfully, I only tore a few hairs out when attempting to come to terms with capturing desktop movement for the third time when I realized that I might have an easy fix on my hands!

My Firefox SNAFU Fixed


Black borders! However, it took a good 15 minutes for me to find a nice border width. It doesn’t help that I kept refreshing an old preview of it too, so there goes even more time down the drain. Oh well. I learned how to use LICEcap though, some nice software I picked up some time ago off of /r/gamedev.

iFEST isn’t quite ready to open to the public yet, but I volunteered to help exhibitors set up for today. Getting a peek at things behind the scenes was great as I got to meet some really neat people. All of the expensive gear from the Seattle VRcade guys made me really nervous though; their gear is incredibly expensive so handling their motion tracking cameras was scary, but manageable.

Other game exhibitors brought in presentation materials and of course, the actual games that are being shown, but I’m even more excited for the people who hadn’t shown up yet since there are some interesting names like  MOGA, which makes phone controllers, that will also be showing up on the day of the event. I’ll have to cut this short since I don’t want to give away too much before the event takes place, but it’s definitely not something I want to miss out on. I’m glad I get to not only attend this year, but lend a hand in running it.

I always wondered how people do this without an addon or plugin, and I finally know how! I’ll never remember it though, so here’s a blogpost on it.

1. Press “SHIFT” and  “F2″ buttons at the same time to bring up the developer console at the bottom of the screen.

Press "SHIFT + F2"!

2.Type “screenshot –fullpage” into the box or “developer console”.

Type "screenshot --fullpage"!

3. Press enter! It saves to your default Downloads folder. You can see the file path at the top.

Press the ENTER button on your keyboard!Now you can upload entire screenshots from 4chan or Reddit or whatever odd conversation you want to capture!

Here’s my entry for the 0h Game Jam of 2013! You are a lone warrior of with a nice tan who must defend a taco shack from flying burritos! Use the spacebar to shoot and hope you have a slow computer because there’s no frame limit on this thing! I’m tired, so hit up the download for more information and the game itself.


Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)


v0.0 – Initial (and probably Final) Release

If you’re looking for Monaco’s save file so you can back it up, give it to a friend, or just upload it somewhere online, then you should probably stop looking for it in the “steamapps” folder. Make sure that you’ve backed up your old save file if you want it for some reason, and disable Steam Cloud if you’re planning on stuff in a new save file in its place.

  1. Navigate to your Steam directory and open the “userdata” folder.
  2. Open one of the folders in that directory.
  3. Look for a folder named, “113020,” which is the “appid” or identifier for the game, Monaco. That’s where Monaco’s relevant Steam Cloud saves the save file to. If however, “113020,” isn’t in the folder you picked, then move on to the next folder that was in your “userdata” folder and try again.
  4. Once you’ve found the, “113020,” folder, open the “remote” folder in it.
  5. Congratulations! You have found Monaco’s save file! Save it, copy it, send it, do whatever you like with it!

In case it isn’t obvious, simply overwrite or replace the existing file with the new save file and run Monaco! You’re free to enable Steam Cloud again after that.

Today marks the official public release of a small script that I made to ease the pains in setting up a Mann vs. Machine match in Team Fortress 2 without going through Valve’s matchmaking process. I usually host local servers for things, and since the Mann vs. Machine interface doesn’t make such an accommodation, I took it into my own hands to give myself a painless way to do it. The script and relevant instructions are found in its Github repo, mvm-listenserver-script.

In short, the script essentially creates easy to remember aliases or commands that run a series of other commands that don’t have human friendly names or take parameters that are difficult to recollect. This allows people to spend less time trying to figure out what the command was to set the map’s difficulty and more time actually killing robots.

The script also makes use of Team Fortress 2′s built in functionality, so no external plugins or addons are required aside from the script files itself. The only risk involved in running this script would be encountering an error. Since the game is so frequently updated, the references made to the difficulty names may be broken or inaccurate in the future. Aside from that however, there are no inherent risks in running this script.

If anyone happens to want to make improvements, feel free to send them my way either on this blog or on Github and I’ll probably pull them in. I’m no master scripter, so surely there are improvements to be made! :)

To Myself:

If you are reading this, then it can only mean one of two things: this is either the original copy of the letter that initially appeared on August 25, 2013 or the one that has been scheduled to appear on August 25, 2015. Should the latter come true, then hopefully you have maintained this blog and keeping it full of your ramblings about class at the Academy of Interactive Entertainment or wherever you have decided to take up your studies. I suppose it is time that I get down to business though. Why don’t we start with a few questions?

First of all, how are you? Are you well? Have you been eating breakfast every day? You’ve never been one to really eat or drink until you’re starving or dying of thirst, so hopefully you’ve improved. It’s fine that you enjoying doing what you do, but don’t forget to maintain the body that lets you do those things, alright?

Now, don’t be offended if I ask you this, but are you even a programmer? If you aren’t, then why not? What made you deviate from the career that you’ve had your heart set on taking on? If you are still a programmer, then what do you think? Is it everything that you had hoped it was? Are you getting ready to set out and not just any ‘Nguyen’, but ‘Terry Nguyen’, known as a great and competent programmer and team player? Maybe a better question would be: do you still have the same demand for excellence and righteousness in whatever you do as you did when of writing for this post?

I know that I’m asking a lot from you, but I’ve always asked that of myself, so give it some thought.

Now then, even if you’re in despair, distress, or even on cloud nine, hear me out for a second: you can do this. Never think that you are incapable of doing anything. Yes, ideals are nothing more than imaginary thoughts of perfection and excellence, but it is the people who work towards those ideals that achieve greatness. If you don’t think you can do it, then how will you ever be able to do it? Life is too short to spend waiting on someone to push you along to get something done. You know you can do this. It has simply always been a matter of whether you’re forced to do it or not. You can’t create something great if you don’t start.

Start doing whatever it is that you like doing and keep at it. You will learn things about it that you never would have had you never even started. Learn from your mistakes and continue to improve at what you do, and surely, someday you will succeed. You don’t have to take the hard road along either. The Internet that helped you learn all of your vocabulary and grammar at a young age will also be there as a resource that helps you learn from the mistakes and discoveries that other people who, like you, also learned from their mistakes. Call it a bit of pessimism, but I’m sure that we won’t have researched enough technology to retire the Internet in two year’s time.

You always keep your heart to yourself, so it’s hard to have someone else weigh in, but if there’s one thing I know about you, it’s that you always doubt your abilities. Now’s the time to stop doubting and to start believing in your abilities and to show the world that you too can create some amazing things.

Take Care,

Terry Nguyen

P.S. Someone said that you should write something to yourself in 14 years’ time, but you’ve surely made something much more incredible that will replace this blog by then, right?

Right down the “c” in Plantronics!

If you’re the lucky owner of a Plantronics GameCom 377 or 367, you might have discovered that your headset is cracking somewhere along the headband. What’s worse is that you can’t even buy a new one in stores, so you’re stuck with buying one from eBay or Amazon if a replacement is what you’re in the market for. Fortunately, if it hasn’t completely snapped apart, despair not for there is still hope! They’re by no means perfect, but these “fixes” should keep your headset together for some time longer.

Option A – Clamping the Gap in “Plantronics”

The clamp firmly keeps both parts together.

The clamp firmly keeps both parts together.

If you’re like me and are looking for an easy fix, but kind of ugly fix, then you may want to consider heading down to a hardware store and picking up a small clamp that you can use to put an iron grip on the two parts. If you also happen to live near a DAISO Japan store, they carry small clamps that you can buy for a dollar.

Option B – Wrap it Up with Metal

The finished fix with screws, spraypaint, and a sense of accomplishment.

The finished fix with screws, spraypaint, and a sense of accomplishment.

This solution comes from eriktheg at Head-Fi Forums and involves some ability to work with sheet metal and drills. By wrapping a piece of metal around the crack in the headset, you can create a new band that isn’t too high-profile and will make sure that your worries will be a thing of the past. Detailed instructions and diagrams are found at their thread.

If you’ve solved this problem yourself somehow, would you care to please leave it in the comments somewhere? You could also drop me an e-mail via the contact page.