Thursday 18 December 2008

OMG OMG OMG!

Ok deadlines are tomorrow, It's also my birthday tomorrow and I'm meant to have friend coming up to stay from Londong to visit me, but seriously I haven't had a chance to worry about that as such.

This week I've already done 2 exams which i think went pretty dam good. So now all that is left is to reread my proposal and GPA essay's that are now pretty much complete. With regards to the networking the application is all done and dusted with the exception of the Dead Reckoning, gonna work on that through today and possibly tonight to get that implemented then update and finish off my report.

I'm tired, I'm cranky, I can't remember the last night i got a full nights sleep without my head spinning with ideas on what to write or what to code in the networking application. But It's almost done, one more day then i can go out and probably fall asleep within the first hour of my birthday celebrations with exhaustion. Back to work for me, soon its done.

Wednesday 10 December 2008

Quick Update

Just had my meeting with Dr King and he seems fairly happy with the idea about the topic, and he seems to agree that it could make for some interesting research. He was a little unsure of what I was actually hoping to achieve at first, but after some discussion we had that cleared up so I'm confident this will lead to a successful proposal and project!

He had a couple of pieces of advice for me. He suggested that i try not to use the word personality in the research question as this is a very broad term, that will encompass so much more than what I am actually going to work on, so we decided that "behaviour types" would be a more appropriate wording for the research question.

  • "What is the feasibility of further optimising current AI path finding techniques in an unknown landscape through the‭ ‬implementation of distinct behaviours types?"
So this is the final question that I have settled on, now what is left to be done is to put my research and reading into the proposal document.

Monday 8 December 2008

Deadlines WTH!

Ok they are closing in all around me it seems, Networking / Games Professional Awareness and the Project proposal are all due in on the 19th (thanks Dr Ozveren :p) of December, which also happens to be my birthday. Something tells me that will be a fun evening :D

But back to the tasks at hand, been struggling a bit with my networking application, whilst working on the proposal somewhat. Haven't yet started on the GPA essay, have decided to prioritise the other pieces of work ahead of that one, for now.

Well finally ! I have settled on a research question for my proposal ! Wohoo !

  • "What is the feasibility of further optimising current AI path finding techniques in an unknown landscape through the‭ ‬implementation of distinct personalities‭?"
The biggest advance i have made is the decision to focus on pathfinding in an unknown landscape. This is quite a leap from the usual path finding algorithms and decisions that units have to make. Normally the path for any given unit is pre-determined when its journey begins, the difference being when the unit is not fully aware of the terrain in front of it the path it undertakes will be constantly be changing depending on what the agent encounters on its way.

Now the theory behind this is when we apply this to enemy unit path finding AI, is that it makes for a much more believable and intelligent experience for the player. Now this type of research has already been undertaken to some extent, by a Professor A. Stentz in his paper on "Optimal and Efficient Path Planning for Unknown and Dynamic Environments" written in 1993.

The focus of my research will be to extend upong this pathfinding in unknown landscapes, but to also implement personalities to the agents to alter their individual path finding calculations in an effort to further optimise the travel time from the start node, to the destination zone.

Anyways I have another meeting scheduled for this Wednesday with Dr King, so I am eager to hear his ideas on the topic and focus.

Saturday 29 November 2008

A new direction!

Hmm, so its been a while since my last post here, and i guess almost everything has changed in this time. Up till just recently I had been focussing my reading on Artificial Neural Networks and Genetic Algorithm's primarily. This research has proved rather fruitless when it comes settling on a research question, and since this is the whole point of the semester I have been getting rather stressed out with the whole topic.

Well i decided to just leave the subject alone completely for some time, and just take a little break. During this time I've been working on the other work to be completed this term. I've got my Networking assignment due in on the 19th just a couple of days after the proposal is due in. As well as these 2 incomming deadlines, I also have the Networking exam and the Games Professional Awareness exam + essay to work on. Can I cry now ? I can tell this next month is going to be a hectic one with MANY sleepless nights. Anyways back to the topic at hand...

When i decided to come back to the project, I thought about the sort of games that interest me, and potential issues I think could be improved. So this got me thinking about some of my favourite games over the past years. While having played such a huge variety of different games and genres over the years, one of my undeniable favourites has definitely been the Real Time Strategy (RTS) genre - including games from the Warcraft and Command and Conquer series'. But one thing that always annoyed me about these games was the crude way in which the enemy units traversed the terrains. Or the way in which the units would always seem to know where to travel and the shortest routes in advance. While this method is probably the most simple and effective from the perspective of the coder, it is does not serve to make the units seem smart. Mat Buckland states "“If the player believes the agent he’s playing against is intelligent, then it is intelligent”. So in terms of making the games more interesting and enjoyable improving on this crude path finding would be a great place to work on. More updates soon !

Friday 14 November 2008

DON'T PANIC!!!111

I really have to question my sense of humour when i start to use lines from "Dad's Army" for an entry title, but oh well I guess nobody is perfect.

But seriously the proposal presentations are on Monday and I still have no firm idea of what my research question will be and what exactly I want to do (hence the panic). My idea's are mainly focused on the Artificial Neural Networks and Genetic Algorithm's i spoke of some time back, but I am very concerned about the feasibility of producing an application that utilises these techniques efficiently within the time frame. Dr Ozveren has said many times in the lectures this year that one of the biggest mistakes people make when it comes to their honours project, is that they attempt to undertake too much, and from my ideas I can definitely see that being an issue with my work.

At this minute I'm not really sure what to do, there is only so much reading I can do into a subject without settling on a field or topic in which to conduct my research this year. Ah well, even if the presentations are looming, I guess i still have a lot of time before the proposal itself is due :/ Back to the reading for me.

Sunday 9 November 2008

Recent Research and Reading.

It has been some days now since my last entry. During this time I have been reading up on various topics in the field of AI, looking for inspiration on the specifics for the upcoming proposal presentation /panic. There are a few different fields that have taken my interest. These include, but are not fully limited to:

Artificial Neural Networks (ANN):
For those who are unaware the study of Artificial Neural Networks involves the simulation of a biological brain electronically. This is achieved by using simple processing elements known as neurons connected together to exhibit complex global behaviour. The behaviour produced are the results of various inputs to the neurons, which are then multiplied by a pre-determined variable weight to produce a value within the neuron. If this produced value is above or below a certain value, then the nueron will either output, or remain passive.

Click here for a simple starter tutorial on the subject of artificial neural networks.

Genetic Algorithms:
For those who are not sure about Genetic Algorithms... welcome to the club. Seriously though, they seem very complicated from my intial research into the field, and the closest thing that has brought me to a decent understanding is another short tutorial found here

Anyways, its way past my bed time and i feel like a zombie, more inc soon.

Wednesday 5 November 2008

Just had my first meeting and....

... It could have definitely gone better. Listening to some of the other guys ideas, I can tell their ideas are a whole lot focused than my own so far, and that I haven't done any where near the same amount of background reading or research. This is definitely something that needs to be worked on straight away.

Dr King had some interesting comments about my initial idea of a tactical AI that I hadn't thought about. He suggested maybe simplifying the scope of my research as my initial ideas cover so many broad subjects within the field of AI, but also to make the AI somewhat dynamic. What is meant by this, is that the AI is not so much set in its actions or routines, but that these can be altered through different stimuli. Another interesting thought was to have the decision making involved use a personality model in some way. Like to have the units vary in aggression or hostility throughout the level depending on what they encounter.

All in all the meeting was a very good eye opener, as I now believe that I have been far too complacent recently about the scale of this task at hand, so at least this will help me to focus on what needs to be done instead of all the fun ideas I have been having.

Monday 3 November 2008

New week, New Month - First Project meeting inc!

Well its Monday and its the start of a new week (duh). My project supervisor for the Honours project this year will be Dr David King, with our first meeting taking place this Wednesday. Unfortunately its going to be a group meeting which, I don't really enjoy, but i guess it has to be done. I have been thinking some over the exact direction of my project and I still haven't decided on an exact course as of yet, hopefully this upcoming meeting will help focus my thoughts some.

Anyways a brief update, I sent my second worksheet off to Brian Morgan last week, and got that back with annotations, which i then forwarded on to Dr King, so we will see on Wednesday what he has to say about my ideas.

Saturday 18 October 2008

WorkSheets

Here are my first 2 Worksheets:

Worksheet 1:

State the topic of interest that you may wish to take forward into a project

  • My main topic of interest is Artificial Intelligence in Computer game simulations.
Indicate the issues surrounding this topic that you may wish to investigate

  • There are lots of issues within the field of AI which i would like to investigate, primarily those involved with the simulation of tactical team AI. A group of soldiers who will as a group of individuals work together as a team to complete the given objective. This could include but not be limited to the termination of enemy units or attempting to traverse a landscape undetected. This sort of topic could potentially branch into many different fields of artificial intelligence which inculdes: Decision making algorithms, Self preservation, pathfinding, learning and distinct behaviour types.

Outline your initial ideas about how you would carry out the practical aspects of the project

  • The practical aspects of the project would require a simulation or application to be programmed, mots likely using C++ and the OpenGL API as these are the two environments I am most comfortable with. The application could be either 2D or 3D, with 3D being preferable, but also more complex and time consuming to programme efficiently. The application would take place in either a pre-determined or randomly generated map terrain, and the units involved could then perform certain tasks as outlined above in this terrain, in order to complete the simulation.

Worksheet 2:

Formulate a research question for your project.

Which techniques and methods can be used to produce a more realisitic and effective AI system to govern enemy units.

a) What is the focus of your project?

  • The focus of my project is on the simulation of team based combat, to explore different techniquesand methods which will enhance both their survivability and also there effectiveness in combat.

b) What information do you need to find out about?

  • I need to find out the current methods and algorithms used for controlling groups of units at a time. I will need to research various aspects used in current systes ranging from pathfinding, decision making, prioritisation and self preservation to name but a few. I will then need to research on the best and also simplest way to represent this in a real time application, that is both effective and easy to understand.

c) What Experimental work do you need to perform?

  • I will need to create an application that will allow 2 teams using different AI systems to combat each other on a randomly generated terrain.

d) How will the information that you obtain in 2 allow you to answer the research question?

  • By comparing the effectiveness of the AI system used I will be able to evaluate which methods are more efficient in defeating the enemy in my demo application.

Tuesday 14 October 2008

New Blog

Well after making my initial blog I seem to have forgotten how to get into it !

As such this will be the new blog-spot for my final years honours project. As i hadn't got around to actually making my initial blog post on that old one, i shall do so here! For this project, I will be conducting research in the field of game AI. Concerning tactical team AI and ways in which to enhance both the teamwork and the seeming intelligence of a group of enemy units.