Well this posts a little later than expected, but that just because we missed a lecture 2 weeks ago so that we could brush up on our library skills so we've still not caught up and been shown how to form our proposal yet.
But in the mean time I've still been reading over a couple of articles most featuring Dr Pieter Spronck who was the man who spearheaded "dynamic scripting" and form the research that hes already done it keeps me thinking about where I want to go with the project and so I find my question under fire again.
For now I can't decide if I want to continue with comparing "dynamic scripting" against other forms of learning AI such as "neutral networks, evolutionary algorithms and reinforcement learning", actually I'm not to hot on these methods yet but they've been mentioned in a few of the articles as examples of inferior AI. Or whether to continue to try improve "dynamic scripting" by trying to reduce the length of time it takes for the "dynamic scripting" method to get better, i.e. win over normal game AI.
Another change to my project involves that I have been able to successfully get "Wargus" working which I now intend to use instead of "ORTS" as since its a clone of warcraft 2 effectively, it means that it will be easier to develop a rules base using a strategy guide or forum.
Till Later
Fellin' Fine
Monday, 27 October 2008
Friday, 17 October 2008
Worksheet 2
Well this week involved the completion of worksheet 2, which was submitted to Dr Özveren on Wednesday after being given a look over by Dave, who added his comments to it before passing it along.
Basically this worksheet was to get us thinking about a research question (RQ) as well as getting us to think about how we were going to write up our proposal, which I believe is due to be presented in the next couple of weeks sometime. So what I have as my RQ at the moment is:
The rest of worksheet 2 was about how the RQ would be implemented and I won't go into to much detail about that just now as based on Dr Kings feedback it's likely that it will be very similar, if not the same, to how I research my dissertation so more will be talked about it as I do it. However I will say that the plan for the moment it to look more into "dynamic scripting" as I think this will be the algorithm of evolutionary learning that I hope to look at and try find possibly another method to look at, as Dr King suggested that I may just want to wait see how time permits before turning the dissertation into a comparative study.
I am still planning on using the ORTS engine however, I have seen 2 separate journals that used the Stargus engine and the only reason I decided not to go and use that one is for the reason that I don't know Linux to well and so I would essentially have to learn two languages at once just to run the experiments which, I could just run through a simple program rather than a game if time constraints get to large, however I would really like to have my algorithm implemented into a game for the end of year presentations.
So my next blog update should hopefully be a bit earlier in the week as I am going to send a copy of my proposal, if the information is up on what I need to write for it, to Dr King before having to submit my final copy.
So until then, Feelin' Fine
Stuart "Should have learned linux as a child" Robb
Basically this worksheet was to get us thinking about a research question (RQ) as well as getting us to think about how we were going to write up our proposal, which I believe is due to be presented in the next couple of weeks sometime. So what I have as my RQ at the moment is:
What are the advantages and disadvantages, in relation to difficulty level of the computer opponent, ease of implementation and cost to the CPU, to using evolutionary learning as the foundation of the artificial intelligence in a real time strategy game compared to the more traditional scripting methods for real time strategy computer controlled opponents?
I have just had a second meeting with Dr King, and he has suggested that this is a bit long for a RQ and i would be better to shorten it using just the key words, advantages and disadvantages, evolutionary learning, real time strategy, and then in my proposal go into some more detail about what I hope to achieve and look at during my project.The rest of worksheet 2 was about how the RQ would be implemented and I won't go into to much detail about that just now as based on Dr Kings feedback it's likely that it will be very similar, if not the same, to how I research my dissertation so more will be talked about it as I do it. However I will say that the plan for the moment it to look more into "dynamic scripting" as I think this will be the algorithm of evolutionary learning that I hope to look at and try find possibly another method to look at, as Dr King suggested that I may just want to wait see how time permits before turning the dissertation into a comparative study.
I am still planning on using the ORTS engine however, I have seen 2 separate journals that used the Stargus engine and the only reason I decided not to go and use that one is for the reason that I don't know Linux to well and so I would essentially have to learn two languages at once just to run the experiments which, I could just run through a simple program rather than a game if time constraints get to large, however I would really like to have my algorithm implemented into a game for the end of year presentations.
So my next blog update should hopefully be a bit earlier in the week as I am going to send a copy of my proposal, if the information is up on what I need to write for it, to Dr King before having to submit my final copy.
So until then, Feelin' Fine
Stuart "Should have learned linux as a child" Robb
Friday, 10 October 2008
Preliminary Ideas.
Well It's been a lot longer than I expected between blog post but at least I've got a bit to talk about what I've done in the last week.
I managed to decided upon which of the two topics I'm going to look at, I've decided to go with my third option partly based upon the feedback I received from the first Worksheet I submitted to Dr Özveren but also because of the articles I read over the weekend on "Learning AI". Learning AI does come under many different names, "Evolutionary AI", "Adaptive AI" etc, so I think a bit more explanation is required.
What I intend too look at, is the process of computer opponents "learning" how to play the game better, in the same way that human players do. I'm plan on looking specifically at how this would work in a Real-Time Strategy (RTS) game and will base my experiment on this. I read a fantastic article on the subject called "Improving Adaptive Game AI With Evolutionary Learning" (http://www.cs.unimaas.nl/p.spronck/Pubs/PonsenCGAIDE.pdf) and this is what gave me the idea for my project.
I have just come back from a meeting with Dr David King, who has been proposed as my project supervisor at this stage, and after that meeting were we discussed my idea, where I would want to go with it, and he has suggested since I have until next Sunday to form a "Research Question", the question which my dissertation is intended to answer, I should just keep doing what I'm doing and read some more around the subject area and think about some specific "learning" techniques to look at as the whole area of "Learning AI" may be a bit too broad a subject area.
I have also found an open-source RTS engine developed by the University of Alberta called ORTS, Open Real Time Strategy, this engine is used by the University in an annual AI competition they run and so i feel it should be a good starting point for running experiments to test "Learning AI" algorithms on as there is an active development community, and since it is used specifically for AI competitions it should be able to accept different techniques.
So my plan for now is to go to the library, or have a look at some of the online databases, for copy's of the books mentioned in the "Improving Adaptive Game AI With Evolutionary Learning" article and continue to work on ORTS and make sure that it will be easy enough to use for my experiments.
Till Later,
Stuart
Feelin' Fine
I managed to decided upon which of the two topics I'm going to look at, I've decided to go with my third option partly based upon the feedback I received from the first Worksheet I submitted to Dr Özveren but also because of the articles I read over the weekend on "Learning AI". Learning AI does come under many different names, "Evolutionary AI", "Adaptive AI" etc, so I think a bit more explanation is required.
What I intend too look at, is the process of computer opponents "learning" how to play the game better, in the same way that human players do. I'm plan on looking specifically at how this would work in a Real-Time Strategy (RTS) game and will base my experiment on this. I read a fantastic article on the subject called "Improving Adaptive Game AI With Evolutionary Learning" (http://www.cs.unimaas.nl/p.spronck/Pubs/PonsenCGAIDE.pdf) and this is what gave me the idea for my project.
I have just come back from a meeting with Dr David King, who has been proposed as my project supervisor at this stage, and after that meeting were we discussed my idea, where I would want to go with it, and he has suggested since I have until next Sunday to form a "Research Question", the question which my dissertation is intended to answer, I should just keep doing what I'm doing and read some more around the subject area and think about some specific "learning" techniques to look at as the whole area of "Learning AI" may be a bit too broad a subject area.
I have also found an open-source RTS engine developed by the University of Alberta called ORTS, Open Real Time Strategy, this engine is used by the University in an annual AI competition they run and so i feel it should be a good starting point for running experiments to test "Learning AI" algorithms on as there is an active development community, and since it is used specifically for AI competitions it should be able to accept different techniques.
So my plan for now is to go to the library, or have a look at some of the online databases, for copy's of the books mentioned in the "Improving Adaptive Game AI With Evolutionary Learning" article and continue to work on ORTS and make sure that it will be easy enough to use for my experiments.
Till Later,
Stuart
Feelin' Fine
Thursday, 2 October 2008
Getting Started!
Good evening,
This is a "Blog" that I have set up to help me, my tutor, classmates and anyone else that takes an interest keep track of my progress over the next 7 months as I prepare too and write my final year Honours Dissertation.
I suppose the best place to start would be to give a little background info, I've just started my final year at Abertay University studying a BSc in Computer Games Technology, a course that I hope will help lead to a programming job in the computer games industry. Part of your final year, as I'm sure many people reading this blog will be aware off, involves writing a Dissertation on a topic of your choice in which you are required to do most, if not all, of the research and writing of yourself.
Well for my dissertation I've decided upon basing it on Artificial Intelligence (AI), you are probably thinking this is a bit of a large topic area and well you'd be right and so I am currently working on narrowing that scope down into one of three areas, which i specified in the first "Worksheet" I was asked to complete as part of my dissertation module at university:
1. Looking at the difference between “rules based” and “script based” forms of AI, and how rules are generally considered to be more realistic and challenging in games however scripting is a lot faster to execute in a game and why it is the method normally implemented.
2. Looking at what would be the most effective method for calculating for AI for hunting a target in 3-Dimensions, e.g. in a flight combat game. Examples of areas to look at would be ray-tracing or A* path finding.
3. Or learning/adaptive AI for example in a strategy game, Command & Conquer for example, rather than scripting the computer to build a base, following a set pattern every match, looking at ways for it to develop its own strategies to combat a human opponent as it gets to “know” the players tactics. In the same way as players online would get to understand other players methods the more they played each other.
Out of these three more specific areas I find myself currently leaning in the direction of No.1 as I have read a paper on this area already and see that there is a lot of interest on both sides of the argument, however I also feel that No.3 could be quite interesting and after reading an article on "Gamasutra" (http://www.gamasutra.com/features/20041122/bourg_01.shtml) I have decided to give it some more consideration.
So my plan for the weekend now is to read up more on these two areas, and read over the feedback from my module tutor, Dr C Süheyl Özveren, which should arrive by Friday and I should have decided by the beginning of next week, when I'll start formulating my "Research Question" more on that next week!
Feelin' Fine!
Stuart "Tsoski" Robb
This is a "Blog" that I have set up to help me, my tutor, classmates and anyone else that takes an interest keep track of my progress over the next 7 months as I prepare too and write my final year Honours Dissertation.
I suppose the best place to start would be to give a little background info, I've just started my final year at Abertay University studying a BSc in Computer Games Technology, a course that I hope will help lead to a programming job in the computer games industry. Part of your final year, as I'm sure many people reading this blog will be aware off, involves writing a Dissertation on a topic of your choice in which you are required to do most, if not all, of the research and writing of yourself.
Well for my dissertation I've decided upon basing it on Artificial Intelligence (AI), you are probably thinking this is a bit of a large topic area and well you'd be right and so I am currently working on narrowing that scope down into one of three areas, which i specified in the first "Worksheet" I was asked to complete as part of my dissertation module at university:
1. Looking at the difference between “rules based” and “script based” forms of AI, and how rules are generally considered to be more realistic and challenging in games however scripting is a lot faster to execute in a game and why it is the method normally implemented.
2. Looking at what would be the most effective method for calculating for AI for hunting a target in 3-Dimensions, e.g. in a flight combat game. Examples of areas to look at would be ray-tracing or A* path finding.
3. Or learning/adaptive AI for example in a strategy game, Command & Conquer for example, rather than scripting the computer to build a base, following a set pattern every match, looking at ways for it to develop its own strategies to combat a human opponent as it gets to “know” the players tactics. In the same way as players online would get to understand other players methods the more they played each other.
Out of these three more specific areas I find myself currently leaning in the direction of No.1 as I have read a paper on this area already and see that there is a lot of interest on both sides of the argument, however I also feel that No.3 could be quite interesting and after reading an article on "Gamasutra" (http://www.gamasutra.com/features/20041122/bourg_01.shtml) I have decided to give it some more consideration.
So my plan for the weekend now is to read up more on these two areas, and read over the feedback from my module tutor, Dr C Süheyl Özveren, which should arrive by Friday and I should have decided by the beginning of next week, when I'll start formulating my "Research Question" more on that next week!
Feelin' Fine!
Stuart "Tsoski" Robb
Subscribe to:
Comments (Atom)