Life of a newbie Game Developer

2009年10月17日
Another Demigod bug bites the dust
Posted by Sorian at 12:18 PM

Well, I am fairly certain I was able to fix the problem with using an ability against an enemy and then having your hero stop to attack the nearest thing. Monday I will try to take a look at why some abilities cancel abilities in progress and some don’t. Hopefully I can get the time to track that down, but no guarantees. I still have a lot of tasks on my plate for SupCom 2.

Looks like I am going to start assisting on the AI here in the next week or so. I am going to start play testing to get a feel for it before I start working on the AI. Not sure yet what I am going to be doing exactly, but I like working on AI so I am sure I will enjoy whatever AI work comes my way.

I am excited to get a chance to play the game. There is so much work to be done that to stop and play the game just feels wrong. I guess that is a feeling I am going to have to get over. Playing the game is part of my job and I just have to adjust my mindset to accept that fact; it isn’t playing, it is work. It just happens to be fun work.

I have to say, this is the first job I have had where I actually look forward to working. Don’t get me wrong, all things equal, I would rather be home with the family. But, if I have to have a job to go to, this is it. I think a lot of the people that work at GPG have the same mindset, and it shows.

Some really interesting features went in this week to make the game even less micro intensive and to make the end game battles more epic. The main focus of this project has been making things more about battles, less about micro, and I think it works. I will get a better idea in the next week or so during play tests and give you my opinion.

2009年10月17日
Birth of a Demigod, part 2
Posted by Sorian at 1:52 PM

This is the second of a multi-part series that I am writing to give people an idea of what actually goes into the creation of a demigod.

At this point, most of the work is in Shana’s capable hands. She is responsible for editing the abilities so they are balanced and to make sure they function as advertised. She also makes sure that the abilities in work for that demigod. If any problems arise in functionality or if she wants an ability to work differently she lets me know so I can code in the necessary fixes or changes. She also re-organizes up the skill tree for each demigod.

During this process work has been getting done on each demigod’s model and animations. After the models were completed, along with a few of the animations, it was my job to set up the animation state machine. The state machine tells the game what animation to play when the demigod performs certain actions like running, attacking, casting, and any special abilities the demigod possesses. The state machine also tells the game what sounds to play during those animations and at what point. It also houses information about model scale and meshes. Since we don’t have sounds or meshes yet I comment that stuff out for now.

One the initial state machine is set up for each demigod and the animations check out my work on the new demigods is done for a little while, unless some ability bug crops up or something. Our modelers, animators, and artists continue to work on getting the animations finished an in the state machine and getting meshes done and in-game. Once an ability’s animation is in-game the ability blueprint also has to be changed to reference that animation.

At this point sounds also start making it into the game. Sounds for things like getting hit and attacking. Also, some placeholders for VOs and such can also be added in. There also needs to be sounds for casting and sounds for each special ability.

After my short break once I had the state machines in place it was time to go back and add in the achievements for each of the new demigods. The achievement information for each demigod is stored in a file that tells the game the name of the achievement, which demigod’s achievement it is, and the conditions for the achievement. I also had to alter some of the other demigod’s achievements that required you to do something to every demigod in the game so that they referenced the new demigods as well. I also had to change the tracking system a bit so that it tracked things needed for the new achievements.

Once all of the animations are in place and the abilities are solid it is time for the effects guys to do their magic. We had two guys, Matt and Gordon, working on the effects for the two new Demigods. They made a competition out of it. They each took a demigod and did the best job they could with the effects and played against each other to show them off. Unfortunately, there was a problem with Demon Assassin’s Warp Area ability, which I detailed in an earlier post, that caused the match to be a little one-sided. The good news is the effects turned out quite nice.

This is it for part 2. Part 3 to come soon.

2009年10月23日
The game is actually fun
Posted by Sorian at 11:51 PM

I got my first play test in today and I have to say the game is fun. It was me and Matt versus Gordon and Aaron. I didn’t end up doing all that well for 2 reasons. 1) I started out playing like it was Forged Alliance and I built too many factories and 2) I neglected my research.

I didn’t really notice a difference playing with the new economy. Queuing was a bit of a hassle if I didn’t have the resources, but I hope that gets changed a bit. Creating hordes of units was just as easy with the new economy as it was with the old. You queue up the units you want built and turn on repeat build, not hard. The factories build quite a bit faster than in Forged Alliance so the games pace is really nice.

I got assigned to Demigod again today to add in the Demigod lobby movies and add a few new features for the next patch. I hope to set aside some more time Monday to see if I can repro that desync bug. If I can’t repro it I’ll just have to hope Spooky and his friends can.

Supreme Commander 2 development is in high gear. We have another milestone deadline approaching and there is still a lot of work to get done. There has been a lot of performance optimizations going in lately so the game is running really smooth now. The game I played today was on a release build (not as optimized as a retail build) and there were only a few hiccups.

Some of the new features going in make me wish I could go add them to Forged Alliance. Overall, I think a lot of the people whining and moaning about the game are going to be in for a nice surprise, if they even bother to take a look at the game. The team has been hard at work fixing a lot of the things the fans have been clamoring for. Don;t get me wrong, there is still a lot of work to be done and fans will have to get used to the new economy system (not that hard, seriously), get used to research (again, not that hard), but with the new features going in and the engine optimizations I think the fans will be in for a seriously fun game.

I have been getting question about the missing screen shot. Well, I was given permission to post the screen shot a little too early it seems. Apparently Square Enix saw the screen shot posted on the Gas Powered Games forums and followed it back here, although I am not sure how. So, I got asked to take the screen shot down. No big deal, at least you guys got to see it before it was taken down.

If anyone is curious what are office looks like there is an intel video up with brief glimpses of our work area. You can see some of the team, including me. It is more of an advertisement for intel, but there is some gameplay footage as well. Might be worth a look: http://cariplus.co.cc/2009/10/intel-ssd-gas-powered-games/

2009年10月24日
Birth of a Demigod, part 3
Posted by Sorian at 4:32 PM

This is the third and final part of a multi-part series that I am writing to give people an idea of what actually goes into the creation of a demigod.

Once the animations are finalized and in-game (and just before effects go in) another pass needs to be done to make sure each demigod’s abilities are timed to the animations. This involves scaling the animation to to fit the ability. For example, for Demon Assassins Spine Attack the animation had to be scaled so that Demon Assassin’s tail was in the right position just as the cast time finished and the actual ability function started. The ability function also had to be changed so that the projectile was spawned into the game world at the tip of Demon Assassin’s tail. This kind of scaling and adjusting has to be done for each ability to make sure everything looks right.

Next on the list is icons. We need icons for each unique ability the demigod possesses, an icon for the game lobby, an icon for the demigod chooser screen, and an icon for the in-game scoreboard. Each of these icons needs to be created, have alpha layers applied,and be converted to the proper format. After they are in the right location they need to be referenced in each demigod’s blueprint so the game knows where to find them.

Once all the icons are in place and they are tested to be working we need to add each demigod’s lobby movie. Each movie is essentially a scene rendering in either Maya or 3D Studio (not sure which was used) that has a transparent background. This rendering is then converted to a .bik file which is referenced in each demigod’s blueprint. Each demigod also needs a victory movie.

Once that is all done, or mostly done, we book time with a voice actor to do the voice overs for each demigod. The sound studio is on the other side of the building, so I not sure how that process works exactly. I imagine the voice actor is given a script of phrases to speak into a microphone and an idea of what kind of voice we are going for. I’ll see if I can get more info from our sound guy.

Lastly, we have a hefty amount of play testing to make sure the demigods play like they are supposed to. We have to insure that the abilities work right, that they are balanced, that their animations and effects work properly, and that sounds and such are firing off properly. We also have to get someone to translate all of the new strings so that we can localize them for foreign languages.

This is it for part 3 and the Birth of a Demigod series. I hope this gives you some insight into the amount of work that goes into making a demigod.

Oct
26,2009
Cautiously optimistic
Posted by Sorian at 9:09 PM

As promised I took some time out today to talk to Patrick, our multiplayer engineer, about the frozen connectivity screen. Unfortunately he didn’t have the time to put more effort into trying to repro the issue(he had put in a lot already, but we don’t have a testing team so it is hard to test), so I had him tell me where I should look in the code. After a while of stepping over code in my head I found an oddity. After going over it with Patrick we think we have found the source of the issue and, as a bonus, it may be related to the desync problem.

A while back Stardock had us make a couple significant changes. One, we removed the in-game kick voting system and replaced it with an automatic kick handler. Two, we removed the desync window and added the Invalid Game State system the ends the game if a desync is detected. I think when these two items were added something was missed and now if a player DCs (loses connectivity to one or more players) they get kicked, but the kick handler doesn’t get called. This causes the game to freeze until the game has a reason to try and activate the kick handler again (like someone else leaving the game).

The desync is another matter, but is related. Our working theory is that Impulse is either closing the socket and/or sending the game garbage data for a player. Currently, this should cause another endless connectivity screen, but it may cause a state where some players have the DCd player as a human and some have them as an AI, which would cause a desync.

We are going to try to set up some tests tomorrow, but it isn’t something easily tested without a dedicated testing team, so no guarantees that this works. We are pretty confident we have the endless connectivity screen issue figured out, but not sure about the desync issue.

Now, for some SupCom 2 news.

Disclaimer: The following statements are in no way a set of system requirements for Supreme Commander 2 and should not be taken as such.

Lots of people have been asking about the requirements for SupCom2, so I decided to run a quick test (needed to test pathfinding anyway). I spawned in 500 bots (with Fog of War on) and told them to move, all at once, to a place where they would have to go around some rocks and up a few ramps. I was able to maintain between 25 and 30 fps (zoomed in) and a sim speed of +9 without and issue. This is on a Core 2 Duo 6600 and 2 gigs of ram. This was on a release build and there still some optimizations to be done. Not sure how Forged Alliance would handle that. Again, the disclaimer above applies.

可以插队吗?啥J8咚咚?除了2009,其他的一个没看懂…

:6_274:打发时间看的文章,可以看到一些游戏开发的相关的东西,例如游戏公司是怎样运作的之类,无什么用,给某些想了解的人看看。

2009年10月29日
I’ll never use that in real life
Posted by Sorian at 8:18 PM

I know I am not the only one that said “I’ll never use that in real life” in my math class. Boy was I wrong. I got the opportunity to work on another really cool feature for Supreme Commander 2 today, but it required some math that I have never had to use before. It makes me wish I had focused more on math in high school. I’ve had to learn about vectors, quaternions, and matrices, and a heap of other stuff.

The most recent example of this was doing Oculus’ Ball Lightning. Up until Wednesday Oculus’ Ball Lightning would appear below him when summoned. This just looked sloppy and quite stupid. So, Wednesday morning I went in and changed it so that the Ball Lightning spawns in front of him, no matter what direction he is facing. This part wasn’t difficult. What took some doing was making it so that the Ball Lightning (trying really hard not to type Balls, btw) would spawn in a row instead of all on top of each other. There was no function available to lua to do that, so I had to create a function in code callable from lua to get a vector cross product. Works great.

The 1.2 patch for Demigod was completed Wednesday. Stardock just needs to update impulse to support DLC before they can release the patch. Apparently, they also want to run a beta before releasing 1.2 to the general public. The delay is a good thing because it gives Patrick a chance to track down the desync on player disconnect issue before 1.2 is released. I have the utmost confidence that he will be able to track it down.

There has been some work recently on more screen shots of the game, so hopefully those make it out to the public soon. There has been a lot of work lately on the naval side of things and I am sure the fans will be quite pleased. I just wish I could post more details about it. My most recent SupCom 2 project was a blast. I had damn near every member of the team come by to check out my work today, including Chris Taylor. I can’t wait for the supporting effects to go in, it will look awesome.

Labels: chris taylor, Demigod, effects, gas powered games, patrick, programming, stardock, Supreme commander 2

Oct
30,2009
My second play test
Posted by Sorian at 9:19 PM

I had my second play test today, and it was a LOT more fun. It was the same four of us as last time except that I was paired with Aaron versus Matt and Gordon. Aaron came by my desk before the match started to remind me to do research during the game. I definitely remembered this time.

We played our match on the map I used for the screen shot I posted. It is a fairly large map, so I decided to go full on air and played as UEF. I started out by building a mass extractor, power generator, and an air factory. I then built on the other 2 mass spots in my base, another air factory and then sent an engineer out to build on 2 more mass spots near my base. I built a few fighters and started scouting around to see what was up. I built a few bombers and went after one of Gordon’s mass extractors. Unfortunately he had it protected with mobile AA and a couple AA defense so I backed off. I built a third air factory and a radar station.

I put my air factories on repeat build building 1 fighter and 2 gunships and start to mass up a group to do some hunting. I also put some defenses in my main base and a bit around my outlying mass extractors. Once I have about 14 or so gunships and about 8 fighters I go after the mass spot I backed off from before. I blow up his mass extractor and pull my gunships out as his fighters head in. He did not chase me. He rebuilt the mass extractor so I grabbed some more gunships and fighters, bound the groups to keys, and went after mass extractor again.

I sent in my gunships first and started wreaking havoc, taking out the mass extractor first. He brought in his fighter again, but my fighters intercepted them first. He took out a chunk of my fighting group, but I came out on top. I grabbed some more units, formed them up, and went after another mass extractor. This time I didn’t meet any resistance.

Since I didn’t meet any resistance I decided to move in on his main base. I kept my fighters out of AA range and only sent them in to take out the fighters that Matt was sending in to help defend Gordon. I sent my gunships after his mass extractors first, then his power generators, and then went after his factories. I was mopping up the rest of his units when he decided to control-k his ACU in an attempt to take out my gunships to save Matt from the same fate. Unfortunately, the game desynced at that point (still alpha, so it happens). Total game time: about 18 minutes.

I have said it a few times, but I will reiterate it here; the new economy does not affect the gameplay at all. It is just as fast paced as Forged Alliance, if not more. The match we had was incredibly fun now that I have research down. Can’t wait to play again next Friday.

虽然是无味的开发日志…… 但对于饥渴的偶们来说也十分难得,以下为饥渴的机译,与各位共享,不妥之处找YAHOO:
10月 30,2009 我的第二个戏剧测试 张贴Sorian在9:19 PM 我今天有我的第二个戏剧测试,并且它更大量是乐趣。 它是同样四我们象上次,除了我与阿龙配对了对马特和Gordon。 在比赛期间,阿龙获得了我的书桌在开始的比赛之前提醒我做研究。 我明确地记住了这次。 我们参加了我们的在我为屏幕快照使用我张贴的地图的比赛。 它是一张相当大地图,因此我在空气决定充分去并且使用了作为UEF。 我通过修造一个许多提取器、发电器和空气工厂开始了。 我在其他2个许多斑点在2个许多斑点然后还修造了在我的基地,另一家空气工厂然后送工程师修造在我的基地附近。 我修造了一些架战斗机并且开始侦察看什么。 我修造了一些架轰炸机并且在一个Gordon’以后去; s许多提取器。 不幸地他安排它保护与流动AA和夫妇AA防御,因此我退出了。 我建立了第三家空气工厂和火车站。 我在重复修造修造1架战斗机和2架武装直升机的和开始投入了我的空气工厂集合小组做一些狩猎。 我在我的主要基地和位也投入了一些防御在我的边远许多提取器附近。 一旦我有大约14架,余武装直升机和大约8架战斗机我在我从以前退出的许多斑点以后去。 当他的战斗机朝向,我炸毁他的许多提取器并且拔出我的武装直升机。 他没有追逐我。 他重建了许多提取器,因此我劫掠了有些武装直升机和战斗机,跳起小组对钥匙,并且在许多提取器以后再去。 我在我的武装直升机首先送了并且开始了遭成破坏,首先去掉许多提取器。 他再带来了他的战斗机,但是我的战斗机首先拦截了他们。 他去掉我的战斗小组大块,但是我获得了成功。 我劫掠了有些单位,形成了他们,并且在另一个许多提取器以后去。 这次我didn’ t集会任何抵抗。 自从I didn’ t集会我在他的主要基地决定移动的任何抵抗。 我保留了我的战斗机超出AA范围和只送他们去掉马特送帮助保卫Gordon的战斗机。 我在他的许多提取器,然后他的发电器以后首先送了我的武装直升机,在他的工厂以后然后去。 当他决定控制k他的ACU为去掉我的武装直升机从中同一种命运,拯救马特我完成其余他的单位。 不幸地,比赛那时desynced (仍然阿尔法,因此它发生)。 总比赛时间: 大约18分钟。 我说它几次,但是我将重申它这里; 新的经济根本不影响gameplay。 它是正步调快速象缔结的同盟,如果不是更多。 我们有的比赛难以置信地是乐趣,即然我有研究击倒。 Can’ 再演奏下星期五的t等待。

与各位共赏,n多不准确的翻译请见谅,祝各位看官YY的幸福:

:6_269:不懂鸟语的只能YY下了

Nov
3,2009
AI, here I come
Posted by Sorian at 9:14 PM

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.

Labels: AI, dru, gas powered games, play test, programming, square enix, Supreme commander 2

33# 塔斯普可

继续YY:
11月 3,2009 AI,这里我来 张贴Sorian在9:14 PM 注: 明显方形的Enix不喜欢我的前个博克词条。 我仍然不是肯定的,但是我为什么喜欢我的工作,并且我的孩子喜欢偶尔吃,因此我不会张贴戏剧测试重述要点。 抱歉。 我得到开始今天工作在AI材料。 那么, I didn’ t结束我的直到后我真正地得到做的天,因此所有的前项任务是被带来达到正常水平在AI的状态和编码一个快的作用,在我动身去天之前。 盼望明天,当我将得到开掘入AI更多时。 我将是在主要事的数据边,并且Dru将是做事的作用和核心边那个。 这应该是很多乐趣,并且我真正地盼望它。 它是步幅的好的变动只在一个项目。 反复去在项目得到粗砺。 大多数我的工作晚了是错误修复,实际上是种类好,因为它得到看使事更加容易为未来任务发现引擎的所有不同的零件我。 我为靠气体发动的比赛正式地现在工作2个月,并且我仍然爱。 我是象在糖果店的一个孩子。 从前我总是发现了难起来去早晨工作。 在到那儿isn’的这个工作; t问题,它离开我有一个问题与。 许多次我寻找自己"的; 另外一build" 我继续告诉我的方式更将尝试一修造,在我离开之前。 以后1小时我记得我应该离开。 滑稽的事是,既使当我停留真正地晚很少是我离开的最后一个。 表面上我不是有一问题离开的只那个。 标签: AI, dru,靠气体发动的比赛,戏剧测试,编程,方形的enix,最高司令2

这翻译的, 太…… %@&$(!#&!!

Nov
4,2009
Deja vu
Posted by Sorian at 10:27 PM

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.

Labels: AI, Demigod, dru, forged alliance, gas powered games, programming, Supreme commander 2

以下为上文提到的那篇文章的描述,不是正文,正文要付费才能看
Goal-Based Action Optimization and the Hybrid Hero AI in Demigod
Alex J. Champandard

Demigod is an innovative hybrid between RPG and RTS games, challenging the player to control and manage a Hero-like unit to accomplish a variety of missions (e.g. Dominate, Conquest, Fortress) in a set of predefined maps. It’s built mostly as a multi-player experience, but includes an offline Skirmish mode for both quick games and tournaments against the AI. Since the implementation is based on a goal-oriented action planner, I’ve been keen to play the game and dig into the Lua code for the last week.

I was expecting to find a textbook application of the goal-oriented action planner (GOAP) from F.E.A.R. pioneered by Jeff Orkin. On the surface that seems to be the case, as the architecture and many of the high-level concepts are similar. However, under the hood, almost everything is done differently — to the extent that it’s more similar to other game AI approaches than goal-oriented planning. And indeed, due to the RPG nature of the game, the long term progress of the AI Demigods, and the dynamic yet tactical gameplay, the problem required a very different solution.

In this in-depth feature, you’ll learn how the AI used for the Demigods was architected and implemented (a.k.a. Hero GOAP). You’ll find out why the name “goal-based action optimization” fits better than calling it a traditional STRIPS-like planner implementation, and what was necessary to make such a system work on such a large search space with a wide range of choices available.

NOTE: This first article covers only Demigod’s Hero AI — which is the lowest-level and most complex layer of the whole system. The next article will show how everything fits into a three-layer architecture with multiple planners that include a squad AI and strategic reasoning.

11月
4,2009
似曾相识
由索里安张贴在下午10时27分

我有似曾相识的感觉奇怪的今天。我花了一天中最本质做我已在我过去2 1业余时间做/ 2年;调整人工智能,人工智能观看比赛,人工智能一些调整,冲洗,重复。这是超现实。

突厥是可怕的工作。我很担心,他可能会保护他的人工智能代码(没有真正的理由相信,真的,但是我确实)。它已完全相反。他已经完全开放,任何我有,我已经意识到了机会修正认为窃听与锻造联盟认可我重要的事情提出了一些建议。

在没有太大目前人工智能,但我可以看到突厥是服用,我喜欢去的地方是。有一点新经济的是应该把事情的人工智能容易。无论是人工智能能买得起的东西还是不能,也没有任何猜测或复杂的经济平衡。我设法获得良好的平衡在今天通过,但仍然需要更大量的工作。我期待着看到我们能实现。

对于任何有兴趣的,突厥正在AiGameDev.com星期日,11月8日的采访。

从AiGameDev.com:这与突厥Staltman,游戏工程师Gas Powered Games公司采访时,将考虑到迭代开发过程中创造了半神的创新人工智能,如本文所述。如何是原先设想的制度,什么地方的重大挑战,这是最终的最大的问题,以及如何能认可机构得到推广和进一步改进?

这一消息被标记为保险金,所以如果你碰巧有一个高级成员AiGameDev.com在人工智能和兴趣这可能是一个良好的阅读。如果你有机会阅读,让我知道它是如何。

标签:人工智能,半神,突厥,伪造联盟,Gas Powered Games的节目,最高指挥官2

以下为上文提到的那篇文章的描述,不是正文,正文要付费才能看

基于目标的行动,在半神的混合优化和人工智能英雄
亚历克斯J. Champandard

半神半人之间是RPG和RTS游戏创新的混合动力,挑战玩家的控制和管理英雄一样单位完成各种任务(如占主导地位,征服,丰泽)的一组预定义的地图。它的建成大多是一个多玩家的经验,但包括两个快速脱机游戏和反对大赦国际比赛遭遇战模式。由于实施是一个面向目标的行动计划者,我一直渴望玩到的最后一个星期Lua代码游戏和挖掘。

我期待找到一个面向目标的行动计划者免于恐惧(GOAP)教科书的申请率先由Jeff奥克金。表面上看来是这样的架构和高层次的概念是相似的很多。然而,引擎盖下,几乎一切都是有所不同-的范围内,它更类似于其他游戏AI比目标为导向的规划方法。的确,由于角色扮演游戏的性质,认可机构半神的长期进步,刚柔战术游戏,这个问题需要非常不同的解决办法。

在这个深入功能,您将学习如何认可的半神使用的架构和实施(又名英雄GOAP)。你会发现为什么这个名字“的目标为基础的行动优化”称它适合于传统的带钢好样规划的执行情况,以及有必要作出这么大的搜索空间的多种选择,这样一个系统的工作可用的。

注意:此第一条仅涉及半神的英雄人工智能-这是最低级和最复杂的整个系统层。下一篇文章将展示如何把三个一切与一队,其中包括AI和战略推理多规划者层结构相符。

Nov
11,2009
Demigod…again
Posted by Sorian at 12:47 AM

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.

Labels: AI, Demigod, dru, patrick, programming, stardock, Supreme commander 2

11月
11,2009
半神半人…再
张贴于上午12时47分由索里安

分配到了工作的半神今天再次修补。希望这将是最后一次了一段时间。这来回的东西得到有点沮丧。我把半神回作出一些改变,就半神金刚石这是在改革Stardock公司给我们送来的第一批没有。在最新版本应该去还给他们今天晚上,因此除非最后一分钟再由Stardock公司更改请求,1.2应准备尽快去Stardock公司质量保证予以批准。

至少有好东西来的最后一分钟增加,我可以偷偷数修复进来,我被要求提供一份关于时间将我获得的新变化,我回答量估计会采取半至一整天。很幸运,我提前当我完成了任务,所以我估计我会利用这段时间来增加一些修正。

帕特里克已经花了些时间来解决没完没了的连接屏幕/不同步的错误,但他没有时间做任何更多的测试,(他是在这个时候对2个项目)。我志愿进行测试,经过几次试验游戏,参加者1损失方面,我没有得到一个单一的不同步或无休止的连接屏幕。希望这意味着它是固定的。

我们并没有得到机会创建一个新的动画火炬手,所以我一意孤行,并提出了修改,有火炬手用动画的攻击行动,他火力攻击动画。因为他是浮动反正应该罚款。这将是比以前好得多。我也有机会去修正自己的火环,使铸造一二环,然后首届环到期不会导致两个戒指消失。

所有这一切之后,这是回到最高指挥官2人工智能。帕特里克说,认可机构终于让他为他的钱现在运行。我相信突厥仍然可以轻而易举地击败它。我还没有尝试过。我终于挖掘到更多的认可机构的核心,而不仅仅是平衡的东西。突厥和我的事情,我们要去做的名单很长,只希望我们所有的时间非常酷的东西。

标签:人工智能,半神,突厥,帕特里克,编程,Stardock公司,最高指挥官2

Nov
14,2009
Patch 1.2 delayed
Posted by Sorian at 10:56 AM

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.

Labels: AI, Demigod, dru, forged alliance, play test, programming, stardock, Supreme commander 2

2 comments:
Tobias Fong C.W. said… / November 14, 2009 11:30 AM

Cool!

Could you please tell us what is Platoon AI and AIBrain and how they are going to differ from the other classes?
Sorian said… / November 14, 2009 11:54 AM

The Platoon class was in SC and FA. It is the class that controls AI platoons (groups of units).

The AiBrain class was also in FA. It stores information about each army in the game.

11月
14,2009
1.2补丁延迟
张贴于上午10时56分由索里安

最终半神半人做更多的工作,周四和周五。 Stardock公司周三希望我们的球员,以便让那些没有新的半神将无法与他们在单人比赛,但机构仍然可以发挥他们。不幸的是,仍然出现错误,只有如果有人被分配到了随机的访问所有的金刚石(我做我的测试过程中没有)。因此,我需要修补,周四。

现在你知道Stardock公司已推迟到下周的1.2补丁。因为这是我得到延迟批准增加一个功能。帕特里克想出了一个好一点的唯一途径可指定认可的新的半神之一随机是,这有点儿吸。所以,我得到批准,要改变这样您就可以指定认可机构发挥其作为新的金刚石半神之一,即使你没有获得他们自己的发挥。我还可以修复恶魔刺客滑动的问题,显示Frogboy的视频了。

我收到一个工作的机会,在人工智能深度超过我的预期。我什至有机会增加新的功能的排和AiBrain,我会喜欢班在锻造联盟有。这项工作,然而,似乎从来没有停止在这一点上的一个里程碑,是越来越近。我们有一个需要获得每一次我们得到的东西抹去另一个项目获得白板上列出的东西放在工作,在我们的办公室大白板。其实,我认为白板是比它更是星期五在星期五之前。

关于有好事被这么多的认可机构的工作是,我上班在一些非常有趣的和令人感兴趣的东西,而不仅仅是做数据业务方面的东西。在东西方更多的代码,我可以做的更冷静的核心的东西突厥将有机会去。

我也有机会与埃里克playtest本星期。我们有一个很好的对小四的球员地图史诗般的斗争。我打得沉重的土地,而且是一个可怕的。他绝对主导的地图,但我把一场精彩的比赛。

标签:人工智能,半神,突厥,伪造联盟,播放测试,编程,Stardock公司,最高指挥官2

2条评论:
托比亚斯方C.W.说… /二〇 〇九年十一月十四日上午十一时三十

凉爽的!

你能否告诉我们什么是排AI和AIBrain以及他们如何将不同于其他阶级?
索里安说… /二〇 〇九年十一月十四日日上午11:54

班排在SC和足总杯。它是人工智能控制类,排(组单位)。

该AiBrain班也足总杯。它存储有关每个游戏中的军队的信息。