New user? Join Xfire Lost password? Username Password
 
cigdevelopment
 
cigdevelopment's blog
cigdevelopment @ Mon, 10 Sep 2007 18:01:34 PDT
9:00 PM

Max: Going home for the day.

Charlie: Finally got around to playing Shadow of the Colossus. Some of it was awe-inspiring, other parts tedious. Got stuck on the second colossus but I'll return. I love the music and visuals and the epic feel of the giants. I found myself a bit sad to kill them though – I would rather ride around on their backs and explore. I'd love to try making a “hard-core” non-combat game some day...
View entry - Post a comment - views: 1716
cigdevelopment @ Mon, 10 Sep 2007 18:01:14 PDT
Max: We're hoping to start selling our debugger next week, so Charlie has been working on the website/product page for Decoda. We just had a quick meeting to discuss some aspects of the page design. The attach to a running process feature is now in a good enough state that I'm ready to commit my changes back into the code base.

Mmmm. Back to fixing bugs. I read a quote from the legendary programmer Michael Abrash that said once you finish the first 90% of the work on a project, you still have another 90% to go before you're done. Fixing up the details that take something from “sort of” working to being shippable is what fixing – finishing the last 90%.

Charlie: Wrote PHP script to log downloads of files so we have an idea of who is using Decoda and when. Wrote our lawyer to ask him to start drafting up our new investor revenue sharing agreement. He said he wouldn't be able to get them done this week and we'd have to wait a few days. I've learned to “strike when the iron is hot” with investors so I pushed back a bit.
View entry - Post a comment - views: 124
cigdevelopment @ Mon, 10 Sep 2007 18:00:30 PDT
7:00 PM
Max: Now that I've got all of the new code I've written working, I've been doing some additional testing to make sure that nothing else broke or that there aren't any subtle or rare bugs. We don't have the luxury of a QA department so I try to give everything a thorough test right as its finished. I'm planning on pushing this build out to our early evaluation testers tomorrow via the auto-update feature, so I also want to make sure it's solid.

I have a pretty simple test plan for the debugger, which involves debugging a bunch of test applications. My first test is the commercially released version of Company of Heroes which does a great job at stressing the debugger since it does a lot with Lua.

All of my test applications passed with the latest version of the debugger, so I feel pretty confident about my changes. I did notice a bug with the UI that I must have introduced with yesterday's changes. The fix is simple enough that I'm just going to go ahead and address that right now rather than putting it on the bug list and dealing with it later.

Charlie: Sent more requests for legal docs to our lawyer. Signing equity over to Max and refining our consultant agreement (work for hire, confidentiality, revenue share, copyright assignment). All this law, money and financial stuff is boring – aren't I the Game Director around here? When do I get to do game design and programming again? This stuff has to get done though.
View entry - Post a comment - views: 113
cigdevelopment @ Mon, 10 Sep 2007 17:33:45 PDT
It takes a lot to make a successful mod to a successful program. This goes the same for game modders. Finding the right people and the right talent can really make a difference. Modding is a great way to make an entry into the gaming and development world. I know this because I interned at Xfire this summer after they invited me to come out and work with them. Gaming companies are always looking for users from the modding communities to eventually become one of them. It has been great to help out the Xfire community and bring something extra to the users. If you have any talents in programming, modeling, or design, I encourage you to start something, you may end up being offered a job in the industry.
View entry - Post a comment - views: 97
cigdevelopment @ Mon, 10 Sep 2007 17:32:23 PDT
5:00 PM
Max: Time to start working my way through that list of details. But first, time for a late lunch!

Charlie: Had a late celebratory lunch at Magnolia – a pub down the street. Moule frites and beer! It was a bit expensive (by our $5 lunch standards at least) but it's not every day you shake hands on an investor deal! Walked through the Upper Haight and pointed out some cheap-but-trendy used clothing stores for Max.
View entry - Post a comment - views: 120
cigdevelopment @ Mon, 10 Sep 2007 17:32:00 PDT
4:00 PM
Max/Charlie: 1 hour meeting with our potential investor. It went great!

Many investors I've talked to don't care much about what you're doing, only if you can prove to them you're going to make money. This one doesn't care about video games particularly, but is very interested in supporting good people and good business practices.

There was no B.S. – we just presented a case for Natural Selection 2 given the estimated number of players we had for Natural Selection, along with the Steam sales data we've gleaned from various sources. I think our passion really came across which I've found crucial. Max can be quiet around other people but he really got into this and built a compelling case for us.

We were all very excited by the end of it and it seemed like a done deal. I can't wait to have enough money to spend it on the things we need (like a small salary!).
View entry - Post a comment - views: 133
cigdevelopment @ Mon, 10 Sep 2007 15:47:11 PDT
What caught my eye next, was a developer whose post had been buried on the forums. He said he was experimenting with a Java version of Xfire, but no one seemed interested. I contacted him, Stefans (stefansmez), and with some work, he was on board with our new product, the Web Messenger. Our site began to have performance issues and it was about time to find another host. Because all of our programs are free, I would have to find a solution that did not take a huge hit from our pockets. I found a server provider, Hypernia, and gave them a ring. They agreed to sponsor our site with a dedicated server in exchange for advertising and promotion. This was a huge relief as any mod leader would be grateful for.

Most of our work from here on was from reverse engineering Xfire's network protocol. This is highly discouraged among all sorts of companies, but it was the most effective. Through documenting the Xfire and MSN protocols, we were able to create Multi-IM, which allows users to chat with their MSN contacts inside Xfire, and in game as a result. This was one of the most complex programs so far and has been pretty successful.

As we were looking for new stuff to add to our site, I loved the concept of a site called Custom Xfire Sigs. After talks with Jason (madwormer2), we agreed to move his site and make it part of Xfire Plus. This offered more popularity for both his product, and our site. He worked on a second version of the editor and now it really is easy to create a Custom Xfire Sig with the interactive, drag-and-drop editor. I had added extra integration so users could use the Music Plugin to show what music they were listening to, on their new custom signature image. I also was able to get Jason (jsac9) to integrate his project, Xfire Streaming News, onto our site, which brought a new idea, getting your news feeds while in game, to Xfire Plus. This brings us to today, where we are slowly working on new projects to appeal to more gamers.
View entry - Post a comment - views: 167
cigdevelopment @ Mon, 10 Sep 2007 15:41:33 PDT
2:00 PM

Max: The bug that was holding me is now fixed. Like a lot of bugs, it turned out to be just a stupid mistake. Generally when I run into a bug that like this I spend a little time to thinking about what I can do to prevent a similar problem in the future. In this case there's a code change I could make that would auto-detect the problem if I made the same mistake again, but that add some ugliness to the code so I'm not going to do that.

Instead I realize that an approach the my partner Charlie uses would have caught this problem and others like it. His technique is to watch line-by-line the execution of any new code he writes so that he knows it's doing exactly what he intends. I've always recognized the value of doing that, but I've often dismissed it as not worth the effort. In this case that would have been difficult because of the Visual Studio issues I mentioned previously, but I'm going to adopt that as standard practice whenever possible. I consider myself an experienced programmer, but that doesn't mean you can't learn new things and continue to grow!

Charlie: Fixed Paypal donation problem that was appeared when moving from the test environment to the production environment. Hung out with Keith in chat to help him get started and answer his questions.
View entry - Post a comment - views: 148
cigdevelopment @ Mon, 10 Sep 2007 13:46:14 PDT
1:00 PM

Max: Well most of the code is now written, but it's not quite working yet because of a bug I'm having a hard time tracking down. Our debugger doesn't behave the way “normal” applications do, so Microsoft Visual Studio has problems debugging it. As I've been working I've thought of a bunch of details I'm going to have to take care of to make this production ready; I've been jotting those down on a pad so I don't forget about any of them.

Now it's time to take a little break to check out what's going on in the Unknown Worlds community. We just launched a new website, so for the past week there has been a steady trickle of issues that need attention, like people who are having trouble logging into the site or viewing the forums. I don't see an new bug reports on the forums, and my in-box is empty so it seems we managed to squash the last of those bugs yesterday.

Charlie: Wrote up a guide in our development wiki that covers everything from how we do time tracking (Basecamp), when we have meetings (Tuesdays, 4pm EST), using our source control (Subversion), to downloading and installing the current development version of NS2. Had some password/.htaccess problems with Apache but they were easily resolved.
View entry - Post a comment - views: 193
cigdevelopment @ Mon, 10 Sep 2007 13:45:41 PDT
12:00 PM

Max: Went over to Charlie's place. Things are buzzing along on the debugger feature. One thing that's a bit unusual about what I'm doing today is that I'm working with assembly language. Now-a-days game developers do most of their work in C++ rather than the assembly language used to talk directly to the machine. The debugger has to do some really sneaky things to allow it to hook into an external application that it's debugging, and to make that happen means going to the lowest level where I have full control over everything.

Charlie: Max came over and we talked about how to get rid of some of our extra communication channels. We currently use Google Talk, Basecamp (and Campfire), Teamspeak, our forums, a developer wiki and Skype to communicate. Eesh. They all have strengths and weaknesses so we only felt we could get rid of our forums. Wrote a SQL query to fix up some access problems Playtesters had on our new web site.

Voice chat with Keith and Phil talking about texture styles. Looked at different concept art and found sections that Keith could get started on. Keith is very excited to learn as much as he can from Phil and was clearly excited about working with him.
View entry - Post a comment - views: 146