Milestone 14

Well, milestone 14 is fast approaching. Even faster because of the holiday four day weekend. Although, there are some people that are going to be in the office Friday, and possibly Saturday and Sunday. Luckily, I do not have as much on my plate as some, so I can take the holiday.

While talking to Servo on Wednesday I found out that at least half of the SC2 team has been staying late for at least the past week and a half. It is definitely crunch time. We only have about 2 weeks left until the end of this milestone (December 11th), and it is a big one. I am amazed at the amount of progress that has been made on this game in such a short amount of time.

Progress continues to be made on the AI. I had quite a few large check-ins this week and last week. I think a lot of the core stuff for the AI is there, I am down to coding support for specific unit stuff, mostly. Hopefully most of the specific case stuff will be in early next week. After that it will be balancing the AI. Dru and I have been balancing the AI bit by bit as we go, but the balance has kept changing. We should have it pretty solid here soon.

I still haven't been able to wrap my head around Dru's work. He said he would go over it with me next week, so I am really looking forward to that. With this project getting nearer to completion I am also looking forward to the next project, whatever that may be. It will be my first project that I participate in where I was there from the start. It should give me new insight into how projects are started and where the ideas for some of the crazy things that go into a game come from. I am truly looking forward to that. I will also have to find a way to blog about it without being able to even hint at the genre. Should be an interesting experience.

Publisher/Developer relationship

I am constantly having to re-evaluate what I know to be true about the game industry. Most of what I knew was gleaned from web forums or found off of various websites. Now that I am a part of the industry all of that knowledge has gone out the window and I am having to forget what I knew to learn what things are really like (sounded almost yodaish in my head).  The relationship between a publisher and developer is a shining example of that.

When a game developer (like GPG) has a game they want to make they need money to do it, unless they are lucky enough to be able to self-publish their games. In order to acquire this money they find a publisher willing to invest in the project and fund some or all of it. Depending on who the publisher is it can have a huge impact on the game or none at all. It's like borrowing money from a family member. If they give you the loan they will either do it and keep quiet or they will lend you the money and take the opportunity to throw in some free advice to go along with it. Publishers are the same way, they will either lend the money and let the developer make the game or they will want changes made.

It actually makes sense to a point. I mean, these publishers are making a very large investment and they want a return on that. If they decide changes need to be made to see that return they will say so. Whether those changes are a good idea or not is definitely up to debate.

The publisher is also a determining factor for post launch support as well, because that requires money as well. No matter how much the fans want a patch or how badly the developer wants to release a patch, the publisher is the one that ultimately determines what gets patched and when, especially if the publisher owns the IP to the game. The publisher is also the one that influences, or outright determines, the milestone, beta, and release schedule.

This is why self-publishing is such a nice bonus. The developer gets to make the game they want, on the time line they want, and gets to provide post launch support how they want. Unfortunately, it also very expensive and very risky.

Very busy week

I got a flat tire on the way in to work today, so I had to spend my lunch break getting it fixed. While I was waiting on that I had written a nice long blog entry on my iPhone, but couldn't get it posted. Oh well. Things have been so hectic this week that this little tire problem was the first significant downtime I have had all week. I have put in 44 hours so far this week and the milestone draws ever closer.

Patch 1.2 for Demigod was released today, finally. I hope those of you who have access to the new Demigods are enjoying them. Demon Assassin is still my favorite. There is just something about Warp Area. Some people have said that Torch Bearer's ability to attack while moving in Fire form is not fixed. I will be talking with Brian (someone who knows quite a bit more about the animation system than I do) tomorrow about this issue. Code-wise, TB should work fine, but I have a feeling there is something in the animation that is not allowing him to move. If this is the case than only a new animation will fix it and that will be up to Stardock.

I have been truly enjoying my work on the Supreme Commander 2 AI. It is quite different being on this side of things. I have the ability to all debug tools into the game that allow me to see exactly what the AI is doing at any time. I can see where its expansion bases are, what the status of them is, and where it wants to expand to next. It makes altering the AIs behavior a lot easier.

I have been working on a lot more of the core AI stuff than I think anyone had anticipated. Originally I was supposed to basically be the one who blanaced out the AI and worked more on the data driven side of things. Lately my work has been more on the core side of things. I have been programming things like how the AI decides where to expand, how it reacts to intel, and how it controls it platoons. This has given Dru a lot more time to do other cool stuff for the AI.

All in all I am still loving my job. Maybe I should ask for a raise :)

Patch 1.2 delayed

Ended up doing more demigod work Thursday and Friday. On Wednesday Stardock wanted us to make it so players that did not have the new Demigods would not be able to play with them in single player, but the AIs could still play as them. Unfortunately, there was still a bug that only appeared if someone was assigned to random that had access to all the DLC (which I did not during my tests). So, I had to fix that Thursday.

By now you know Stardock has delayed the 1.2 patch until next week. Since it is delayed I got approval to add one more feature. Patrick had come up with a good point that the only way the AI could be assigned one of the new Demigods was at random, and that kinda sucked. So, I got approval to change it so you could assign an AI to play as one of the new DLC Demigods, even if you did not have access to play them yourself. I was also able to fix the Demon Assassin sliding issue that showed up in Frogboy's video.

I am getting a chance to work deeper in the AI than I had expected. I have even got a chance to add new functions to the Platoon and AiBrain classes that I would have loved to have had in Forged Alliance. The work, however, seems never ending at this point and the milestone is getting closer. We have a huge whiteboard in our office with a list of things that need to get worked on and every time we get to erase something another item gets put on the whiteboard. Actually, I think the whiteboard was fuller Friday than it was the Friday before.

The good thing about there being so much AI work is I get to work on some really fun and interesting stuff, rather than just doing the data side stuff. The more code side stuff I can do the more cool core stuff Dru will have a chance to get to.

I also got a chance to playtest with Eric this week. We had an epic battle on a nice small 4 player map. I played heavy land and it was awesome. He definitely dominated the map, but I put up a good fight.

Demigod...again

Got assigned to work on the Demigod patch yet again today. Hopefully it will be the last time for a while. This back and forth stuff gets a little frustrating. I was put back on Demigod to make some changes regarding Demigod DLC that was not in the first batch of changes that Stardock sent us. The latest build should have gone back to them this evening, so barring any more last minute change requests by Stardock, 1.2 should be ready to go as soon as Stardock QA approves it.

At least something good came of the last minute additions, I was able to sneak a few more fixes in. I was asked to give an estimate on the amount of time it would take me to get the new changes in and I replied that it would take a half to full day. Luckily, I was ahead of schedule when I had completed the tasks, so I figured I would use that time to add some more fixes.

Patrick had spent some time trying to fix the endless connectivity screen/desync bug but had run out of time to do any more testing (he is working on 2 projects at the moment). I volunteered to test it and after several test games where 1 of the participants lost connection I did not get a single desync or endless connectivity screen. Hopefully this means it is fixed.

We did not get a chance to create a new animation for Torch Bearer, so I went ahead and made a modification to have Torch Bearer use his fire attack animation as his attack move animation. Since he is floating anyway it should look fine. It will be far better than before. I also got a chance to fix his Ring of Fire so that casting a second ring and then having the first ring expire will not cause both rings to disappear.

After all that, it was back to the Supreme Commander 2 AI. Patrick says the AI is finally giving him a run for his money now. I am sure Dru can still beat it fairly easily. I haven't tried yet. I am finally digging into the core of the AI more rather than just balancing things. Dru and I have a long list of things we want to get done, just hope we have time for all the really cool stuff.

Deja vu

I had the strangest sense of deja vu today. I spent most of the day essentially doing what I have been doing in my spare time for the past 2 1/2 years; tweak AI, watch AI play, tweak AI some more, rinse, repeat. It was surreal.

Dru has been awesome to work with. I was worried that he might be protective of his AI code (no real reason to think that, really, but I did). It has been the complete opposite. He has been completely open to any suggestions I have had and I have gotten the opportunity to fix some of the major things that bugged me with the Forged Alliance AI.

The AI isn't much at the moment, but I can see where Dru is taking it and I like where it is going. One thing about this new economy is it should make things easier for the AI. Either the AI can afford to buy something or it can't, there isn't any guesswork or complicated economy balancing act. I managed to get a good balancing pass in today, but it will still need a lot more work. I am really looking forward to seeing what we can pull off.

For anyone interested, Dru is being interviewed by AiGameDev.com Sunday, November 8th.

From AiGameDev.com: This interview with Dru Staltman, Gameplay Engineer at Gas Powered Games, will look into the iterative development process that went in to creating Demigod's innovative AI, as described in this article. How was the system originally conceived, what where the major challenges, which were the biggest problems in the end, and how could the AI be extended and improved further?

The announcement is tagged as Premium, so if you happen to have a Premium membership to AiGameDev.com and are interested in AI it might be a good read. If you do get a chance to read it, let me know how it is.

AI, here I come

Note: Apparently Square Enix did not like my last blog entry. I am still not sure why, but I like my job and my kids enjoy eating on occasion, so I wont be posting any more play testing recaps. Sorry.

I got to start working on AI stuff today. Well, I didn't finish my last task until late in the day, so all I really got to do was be brought up to speed on the state of the AI and code a quick function before I left for the day. Looking forward to tomorrow when I will get to dig into the AI a bit more. I will be on the data side of things mostly and Dru will be the one doing the function and core side of things. This should be a lot of fun and I am really looking forward to it.

It has been a nice change of pace to only be on one project. Going back and forth on projects gets rough. Most of my work lately has been bug fixes, which is actually kind of nice because it gets me looking at all the different parts of the engine which makes things easier to find for future tasks.

I have now officially been working for Gas Powered Games for 2 months and I am still loving it. I am like a kid in a candy store. In the past I have always found it hard to get up to go to work in the morning. At this job getting there isn't an issue, it is leaving that I have a problem with. Many times I have found myself in the "one more build" mode where I keep telling myself I will try one more build before I leave. An hour later I remember I was supposed to be leaving. The funny thing is, even when I stay really late very rarely am I the last one to leave. Apparently I am not the only one that has a problem leaving.