Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

160 Neutral

1 Follower

About willh

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. willh

    Chess AI with Neural Networks

    You could use the NN to build an evaluation function, as Alvaro suggested. Basically, feed it things like 'passed pawns', 'player captures', 'opponent captures', etc.. All of the things you would calculate as part of a regular evaluation function become inputs in to the network. The network would output a score that determine how good (or bad) a particular position is. In theory it should work just fine. In practice though it is going to be difficult to provide training data.
  2. willh

    Connect Four AI

    Alvaro gives good advice. Keep in mind that your code spend 99% of its time looking at useless positions. Anything you can do to get plausible positions explored early will eliminate a whole lot of work for the algorithm (thanks to alpha beta). Iterative deepening and killer move heuristics can really speed things up substantially.
  3. The state of the art is IBMs Watson. Nothing else comes close to it's achievements. Second to that is Microsoft Kinect. It detects people and estimates poses in real time, even against cluttered backgrounds. Very artificially intelligent. Most of the best AI is in things you don't notice... Path estimation to reduce the appearance of lag, algorithms to ensure realistic poses and animations, navigation algorithms, etc... Most video game NPCs use scripted behavior or simple hard coded behaviors. You will find the most interesting AI where a machine needs to interface with reality, but at that point it tends to become very transparent. Some UAVs have pretty slick AI for target tracking and line-of-sight planning. Googles self driving car is another example.
  4. willh

    Turn Based Strategy AI

    Fantastic!! I'm so glad you ran in to the problem of determing a decent fitness function, and then solved it. Very educational. I think the important take away is that you found success when your fitness function was the sum of many different factors. It is critical that small tiny changes in fitness are easy and possible. You illustrated perfectly why machine learning can be a cumbersome tool, but your results also demonstrated how fruitful the results can be. . The next step, and I do hope you take it, would be to allow Henry to play against Henry. Also interesting that you were able to use the GA to identify weaknesses in the game mechanics. Well done, and thank you for sharing your progress!
  5. You might find this interesting. It's older, but has some elements of what you described.
  6. willh

    Turn Based Strategy AI

    Im really enjoying following your progress. It's satisfying technicallY, and I can't help but feel warm and fuzzy knowing how your son is involved. . Its really cool how enthusiastic he gets about the different tricks you add, and he asks some really good questions. I'm particularly interested in seeing you apply the GA optimization. Have you thought about keeping the top N strategies, so that maybe you could have different play styles that are of the same difficulty? Keep up the great work!
  7. willh

    Finding RtNEAT tutorial/example code

    "that's like needing to cite a paper to verify that your cr will not run when it's out of gas". LOL. Mind if I borrow that? Dave, he wants an online learning algorithm. NNs are well suited to the task. It takes a trivial amount of time to train/retrain an ANN and the whole thing can be automated. You're always complaining that NNs have no use in games, and now this gentleman has a plan to use one with legitimate reasons. Blessman: you can cite this website and the post. It is peer reviewed, as everything gets reviewed and commented on by people who have some experience working within the field. There is a video on YouTube of reinforcement learning being used to teach an opponent to play the game "golden spaceships". If you look you can find it-- it's not an ANN, but the idea is the same. Dave makes a good point about the use of ML techniques in general. For video games they are almost never the right choice. Hand coded rules are easier to adjust to produce the desired behavior and most games require simple agents.
  8. UraniumSlug: check out Galaga. It might be more in line with what you are thinking, and it offer ample room for smart opponents.
  9. willh

    image artifact removal for cartoons

    Another option would be: Build a library of artifacts based and their original uncompressed 8x8 value. JPEG, and MPEG I think, only use 8x8 blocks when compressing. I've seen this trick used before to deblurr masked digits (like when someone posts a picture of a cheque and blurs the account number). You could probably get away with using greyscale and then determine the colors once a matching artifact is found. There is likely enough structural information present for you to reverse most of the compression.. Since its a cartoon.
  10. Alvaro: When I'm hitting data for the first time I always build an OLS model first. It's rare that it's ever the top contender, though it does happen. The only model type that seems to consistently reign supreme is a boosted ensemble of trees. Regardless, in many stats packages (mine included) there is no hand tuning necessary. Provide data, click go, and you have a model which has been validated etc... Even the choice of activation function at each layer can be automated these days. If you had to write everything from scratch then it definately would be more challenging than multivariate OLS. Dave: I really can't argue with you as I've never put any form of regression model in a game. You are right that it's pretty much impossible to hand tune after the fact. A decision tree would be better suited for what you want, but only if you have a bunch of data and don't know what it means before hand. . I rarely run across a video game where I think "this needs some machine learning", but it does happen. Many board games have terrible AI and they get boring really fast. Some "sandbox" games, like MineCraft, could definately use some novel approaches to NPCs. These sorts of games don't have a specific win condition and players don't want scripted or repetitive things happening. It's still early days for video games. I'm not ready to call "case closed" on statistical inference just yet.
  11. Over hyped, yes. Bullpoo, no. Misunderstood, definately. An ANN is an approximation of a function based on observations. So is a linear regression. So is a running average. So is almost all of statistics. Hardly bull poo. I consistently see problems where an ANN outperforms a decision tree.
  12. willh

    Turn Based Strategy AI

    Great stuff. Really cool to see the progression, and the guest commentator is awesome.
  13. willh

    GA and EA algoritm examples

    I doubt you will find much code because the GA part is trivial. The work is in parsing, executing, and scoring each permutation and this is very problem specific. There is an interesting video on YouTube of a GA used to find an better wind mill blade design. The gentleman used a fluid dynamics simulator, which he did not write himself, to test each blade design. There is another example on YouTube of finding an optimal location for a radio antenna on a HUM V. The GA code would have just been a set of coordinates (3 numbers I'm guessing), but to test each placement there would have been some pretty sophisticated simulation package that was employed. NEAT uses GA as a leaning algorithm for neural networks. Some commercial data mining packages include GAs to refine decision trees. There is a commercial function "solver" (video on YouTube) that uses EP exclusively to find an equation to fit data. Keep looking. There is a lot of stuff out there.
  14. willh

    GA and EA algoritm examples

    Really? Koza, google him, has a bunch of patents for things discovered by ga. There's that evolving car demo people like, and lots of stuff on YouTube.
  15. Immediately, my question would be "to what end"? As long as this information isn't empirically true (which it never is, when dealing with people), it's pretty useless. There's already a vast understanding about how women play games compared to men, but it's highly generalizing and you cannot use it to figure out the gender of the person. [/quote] You can't use your imagination a little? There are all kinds of reasons you might want to know the gender of the person sitting in front of a machine. Targeted advertising, for one. Maybe targeted rewards (a pink shotgun instead of a camo one?), or even changes to storylines based on how a player is percieved to act. And there's always the "plays like a girl" badge on the PS3 that's currently not an option.
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!