Skip to main content
GameDev.net gamedev.net
🔒 Locked

3rd year project help!

Started by NovaBlack Jun 2, 2008 at 2:53 AM 7 replies 2.2k views
Original Post
NovaBlack
NovaBlack
Hi there! Im currently looking to get a head start on my 3rd year uni project (doing a Computer games programming degree, c++ based) and basically im just looking for some general advice to help me refine/narrow down my ideas! I have about 12 weeks off before i return to uni! So, anything i manage to get done now would be a GREAT head start, and this project is worth 2 modules out of my total 6 we do in 3rd year (so its one third of my 3rd year grade!!) Im currently well into the 1st class grade bracket based on my second year grades, but since this is worth such a large part of my 3rd year i need to get it right! The main worry im having is that although we have free reign to pretty much investigate and develop a project in any area (related to games), we need to write an accompanying 30,000 word dissertation! (apparently thats like 50 pages according to tutors... although im sure its far more!) So i need a topic ill be able to write lots about. Currently im open to ANY interesting ideas however i do have a couple of my own, its just that they seem a little bit ... well.. not focused enough, and i dont want to waste my summer coding something i have no chance of writing a decent dissertation about. (*takes breath* - sorry about the longness of this post!) My first idea was Ai related. Something along the lines of what ive seen in the Kynogon demos at http://www.kynogon.com/products/demos/index.html. I found particularly fascinating the 'bodyguards' demo. It made me think of doing something similar along the lines of Team/Squad Ai, with some focus on threat evaluation (identifying potential avenues of attack, windows etc). The other topic i found fascinating were the two 'company of heroes' articles in Ai Game programming Wisdom 4, 'Company of Heroes Squad Formations Explained' by Chris Jurney (Kaos Studios), and also the article 'Post processing for high quality turns'. Both were extremely enjoyable to read (recommended if you havent!). I particularly thought the idea of 'leapfrogging' between locations providing cover by deviating slightly from the actual path, and then adjusting speed slightly to Maintain formation, was excellent! However both these articles are fairly short... well when considering i need to write 30,000 words. The problem is i dont want to focus on one and then not be able to write anywhere near enough on the topic! The only kind of solution i have is to target a project in a very component based/incremental approach. I need some kind of way of having a project whereby i can atempt one topic/area of interest, and then if i cant write enough about it, i can add another. Do you think for example i could attempt the basic bodyguard simulation , then extend it to add cover based leapfrogging (whilst protecting the hostage) ? (important to note that one is a third person perspective, and the COH leapfrogging obviously is an RTS so i dont know how well it would translate across...). Im pretty stumped!!! My main worry is that if i approach it this way, my ideas my seem to seperate, disjointed, and forced together! However thinking of ONE idea i can do the whole thing solely on seems immensly difficult. Oh and to top the pile of random ideas off, ive been reading about influence maps forever. They seem like perhaps they would be a great way to do risk assessment. All i know for certain is i need to hone down the idea and get a good plan before i begin!! Any suggestions (new or refinements, or areas perhaps totally new areas you guys/gals would like to see investigated!!) would be So appreciated it is untrue. Although this would be an AI project, the sad but true fact is that i would LIKE to have some at least basic textured models /lighting. Thats no problem for me, but it is a problem when i come to the fact that ill probably need some kind of animations. (shooting, crouching, walking , running , perhaps blind fire etc). Its obviously gonna be alot nicer to showcase to an employer that way. However i have no Animations, cant animate, have no real experience animating (besides Direct X skinning tutorials) or any idea where / how i can obtain them lol. I would say im an intermediate C++ programmer. Last thing i covered was interface/implementation classes and factory functions for portable code. So obviously i know the pre-requisite stuff too! Cant think of an easy way to express what my level is! (any ideas?) I have decent experience with some AI (mainly just basics - pathfinding, path smoothing, FSMS, targeting - 94% on my pathfinding assignment worth 70% of the module ftw! covered A*, Dijkstra, breadth, depth, best first) and DirectX( 91% on last assignment implemented real time env maps, spotlights, accompanying shadowmaps, parallax mapping, cell shading (basic)). However with regard to AI i havent really covered much more than what was mentioned before! I do feel i pick up new things quickly though. Oh also i do have about 9 months to do this... so even if topics are difficult (lets face it, wheres the fun in something too easy!) i expect to be able to spend time solving them, and to learn new techniques. right. rant over. (slightly random all over the place rant too!). REALLY appreciate the effort of anybody who has read this .BIG thanks. Any suggestions/comments/discussions GREATLY appreciated!!
Hnefi
Hnefi
If you want to focus on AI, make the graphics as simple as possible. There is no point in making animations and stuff if you only want to show the behaviour of the agents; each agent could be represented by a circle or a triangle.

As for your squad AI idea, it will certainly give you enough to write about. You can (and should) begin by implementing simple group behavior so that the agents move in a reasonable manner together. This is no easy task, particularily if you want a true multiagent system where each agent does not have complete information about other agents. A lot of research has been made on multiagent behaviour so you'll have a lot of material to base your project on. I strongly suggest checking out articles in journals related to artificial intelligence.

Once you have a basic system in place, you can do all sorts of interesting stuff. For example, opponent modelling; by letting an agent observe an opponent, it can learn to predict the opponent's moves. I did this in my fourth year using Bayesian networks. Not an easy task, but it worked pretty well in the end.

You can also try to implement efficient communication between the agents. Again assuming a true multiagent system, you need a method of communication. Limited amounts of text or even a set of "hand signals" could be given as a basic resource and then the agents would have to use this (and only this) to coordinate efficiently.

You can introduce uncertainty in the system so that the agents do not have exact information about what they see and hear. You can then try to implement algorithms robust enough to compensate for this.

All the above suggestions are obviously examples of challenges that face anyone implementing an actual, physical robot, which IMHO is what makes them interesting. The above alternatives should generate more than enough material for a 50-page dissertation. But remember that AI is tricky and unbelievably time consuming to implement due to all the tweaking you'll need to do. Take my advice and keep the implementation simple and free of fluff. Do not implement animations and stuff like that, it will only take time. Do not implement your own primitives for Bayesian networks or whatever techniques you'll end up using; use a library. If you can find a ready-made agent and world implementation, use that.

Most importantly, begin the agent implementation by implementing atomic "actions" (MoveToPoint(), GuardPoint(), TurnToDirection() etc) in order to raise the abstraction level. There is no way you'll be able to implement anything interesting without cutting down the dimensionality of the problem. Reducing it to atomic actions will help you do this.
-------------Please rate this post if it was useful.
Hnefi
Hnefi
I forgot the obvious AI problem to explore: planning. Planning is a classical problem and heaps of research has been done in the area. In your case, a squad attacking a building to achieve some objective should know the layout of the building in advance; there is an obvious advantage to creating an offline plan here. Making an offline planner that works well (machine learning might be appropriate here) and works in conjunction with an online planner that adjusts the plan when the enemy has been engaged will be interesting and challenging.

The same problem can apply to a defending squad. Implementing a planner that, given a building layout and objective that needs to be protected, determines "optimal" placement and patrol routes of defenders would be very impressive.
-------------Please rate this post if it was useful.
NovaBlack
NovaBlack
cheers for the reply. Muchly appreciated and definitely given me some food for thought.

Definitely made me a lot more confident about the writeup though (thanks for that!) it was the main area i was worried about! Ill also try and focus on one main topic and keep the fluff to a minimum after your advice :)

Only problem is that (although i would love to) i cant abandon the graphical side of the prroject, its kind of compulsory!

Anybody else got any more/different/same ideas?

Have you got any links to any particularly good journals on multi-agent behaviour that you mentioned? I have a few ive found already in books and what not, but any more would be appreicated.
Blade023
Blade023
äähm...

that's not so easy becourse u may have an project when u've read about it,
then u must be shure that it can in function. Becourse u have a much- too much code, and then u got the effect: 4=1 that can be easier when u write it 2=2.
but the most cpode is 3=1 that is a special performance for anybody

so the engine work's : 2=4 ok??? hope I can help u

sy i dont have much time

http://www.gamedev.net/community/forums/topic.asp?topic_id=463639&whichpage=1&#3055615
NovaBlack
NovaBlack
Quote:
Original post by Blade023
äähm...

that's not so easy becourse u may have an project when u've read about it,
then u must be shure that it can in function. Becourse u have a much- too much code, and then u got the effect: 4=1 that can be easier when u write it 2=2.
but the most cpode is 3=1 that is a special performance for anybody

so the engine work's : 2=4 ok??? hope I can help u

sy i dont have much time

http://www.gamedev.net/community/forums/topic.asp?topic_id=463639&whichpage=1?




sorry! im not sure i understand what you mean :)

could you explain again? Thx!
Shakedown
Shakedown
Quote:
Original post by Blade023
äähm...

that's not so easy becourse u may have an project when u've read about it,
then u must be shure that it can in function. Becourse u have a much- too much code, and then u got the effect: 4=1 that can be easier when u write it 2=2.
but the most cpode is 3=1 that is a special performance for anybody

so the engine work's : 2=4 ok??? hope I can help u

sy i dont have much time

http://www.gamedev.net/community/forums/topic.asp?topic_id=463639&whichpage=1�


Haha what? [wow]

Hnefi
Hnefi
Quote:
Original post by NovaBlack
Only problem is that (although i would love to) i cant abandon the graphical side of the prroject, its kind of compulsory!

Ha, I know the feeling. Well, I'm sure you can balance the workload to fit your goals.
Quote:
Have you got any links to any particularly good journals on multi-agent behaviour that you mentioned? I have a few ive found already in books and what not, but any more would be appreicated.

I don't have any offhand, I'm afraid. I never focused on that particular side of things. But this page might have some useful information, and if your university or university library has a subscription to Science Direct or a similar service (very likely), I can recommend the journal Artificial Intelligence - it's a rather high-quality journal. I have also been recommended (though haven't read, and can't vouch for the quality of) the book Wooldridge, Michael (2002) An Introduction to Multiagent Systems. John Wiley & Sons. ISBN 047149691X. Maybe it will be of use to you.

Best of luck.

[Edited by - Hnefi on June 8, 2008 9:48:12 AM]
-------------Please rate this post if it was useful.
dmail
dmail
Are you studying in Liverpool at JMU and is this a new course they have started? or is it Computer Games Technology?

Quote:
The main worry im having is that although we have free reign to pretty much investigate and develop a project in any area (related to games), we need to write an accompanying 30,000 word dissertation! (apparently thats like 50 pages according to tutors... although im sure its far more!) So i need a topic ill be able to write lots about.

Currently im open to ANY interesting ideas however i do have a couple of my own, its just that they seem a little bit ... well.. not focused enough, and i dont want to waste my summer coding something i have no chance of writing a decent dissertation about.


You are thinking about this the wrong way around. It is not about coding something and then writing a report for like a normal assignment, it is all about the report. The aim is to test your researching ability, report writing skills and about drawing conclusions, recommendations etc. You should have been informed of this already or will be when you return to University, check out the specification for the dissertation and see how marks are allotted. If this is JMU and you want to research AI I would suggest getting to Abdenor(spelling) early and asking him to be your supervisor as he gets plenty of request every year, if you can not get him try Martin Hannigan.

Currently I do not have a link to the specification yet the following shows support for what I am saying. http://www.ljmu.ac.uk/lea/LEA_Docs/DissertationResearchAndWritingGuide.pdf


edit:
Here you go I have found an old version of the spec.
Quote:
Final Project Report
This document is a comprehensive and self-contained report on the work done on the project. It is important to note that 85% of the marks are allocated to the Final Project Report. Your report is thus very important. In particular, whilst your supervisor will know what a good job you have done during the year, the moderator(s) and external examiner of your project will only have your report with which to work.


[Edited by - dmail on August 18, 2008 4:50:58 PM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.