Visar inlägg med etikett thesis. Visa alla inlägg
Visar inlägg med etikett thesis. Visa alla inlägg

22 juni 2010

The dissertation

Wah.. it's been a while since I wrote something here. Ok some update:

I have been having problems with my friend with whome I wrote the dissertation, because she's been post-poning things and giving up on other things. This continued until a few days after my previews blog here, which was on May 8th if I remember correctly. I really tried all I could to motivate her, to make her work a little more, because honestly the main reason I teamed up with her was that she is a close friend of mine and that I knew she lack discipline enough to make it through all this alone, I knew it from the beginning and just wanted to help her. Even though I was painfully tired of everything.
Four days before the deadline for our submission of the last part and she still hadn't written the intro and although I was furious and totally disappointed at her I managed to keep myself calm and reason with her. Things didn't get better and we only had less than a month until the final submission had to be done if we were to graduate this year. So what I did is tell her to rest or something, she obviously had given up on everything and that is inacceptable for me. Ofcourse I was damn hurt by being forced to have such patience without being rewarded with a positive outcome, but there never was included in my plans to fail, not now when I'm so close to my graduation. What did I do? I continued alone ofcourse. I talked to the supervisor and he thought that I have to rethink everything and see what really matters, what I reallt wanted to write about, if it was fun. I had three weeks to compensate for 5 months and write a complete dissertation. Not to forget that I still had the final project to work with and my friend was a member of that group too and didn't work on that project either. She wasn't the only one. By that time two of six members were working fulltime on the project, me and the level designer who also did all the graphics except for the avatar.
My tasks were those that were my own plus those that should have been done by the other two programmers, but since they didn't do them, I had to. All my other friends tried to persuade me not to overload myself like that, after all I've done my part and would certainly pass the course. But I just can't handle undone things, I'm a perfectionist when it comes to calling things complete - I can't stop until I've reached a certain level of completion, which most often is set to flawless or something, resulting in me being "almost" satisfied with my work.

Anyway, I started aaaall over with the dissertation, searching for a smaller but clearer subject. I still wanted to write about AI in games because that's what I really want to work with in the future, and since one of my parts was about waypoints I've been watching a lot of youtube-videos revolving aroung waypoint systems and game AI, and one of them gave me the inspiration that helped me through the rest of May. The video was about the AI in Half Life 2, it's actually a really fun clip, watch it here: http://www.youtube.com/watch?v=2DZX-Fq5N0I :D
I thought about it and rethought about it and all this during during the holidays. I started to search for references and everything I could get my hands on and whops! I found Lars Lidén's article about "Strategic and Tactical Reasoning With Waypoints", check it out: http://liden.cc/lars/WEB/Resume/Papers/2002_AIWisdom.pdf
Lidén is talking about how to calculate tactical and strategic positions and ways by using visibility tests between static waypoints.

That was my cure :) I surely had to reread it many times to understand all of it but I was very happy to have chosen the Logics course last year instead of going to the Narration-course, which I had been waiting for for two years! And so I started to write about it and about the analysis and all the background information needed. Ofcourse I had to read a lot of other references but that article became my main source of wisdom. During the following three weeks I woke up very early (8, 9 o'clock, and if you knew me the slightest you would know how early that is to me!) and studied all the time except when rapidly eating breakfast, lunch and dinner, and slept around 5 o'clock. Everyday! Oh I forgot, my mom forced me to take a shower once in a while.

But hey I managed to write an awesome, complete dissertation that even I, who's such a perfectionist, am satisfied with. :D :D
My supervisor must have looked surprised to receive my dissertation because time we talked I had three weeks and still nothing to finish, odds were kind of small to complete anything, whether it be the dissertation or the final project, to be honest.

I was allowed to make my presentation and "defend" it from all the critiques (which only could be done if my work was considered complete), and so did I. The examinator liked it and said it was ambitious and the opponents who critisized it said it was very interesting and well written. Of course I had to fix somethings, for example I was talking about tactics all the time, but never explained what "tactics" or "strategy" was :P I've fixed that and a few more things and now I'm totally satisfied with the paper, I really can't think of more things to add, change or remove from it. I've resent it and am waiting for the degree. Judjing from the initial points I got during the presentation I will get atleast a C, and now I'm excitingly waiting for the final degree - what will I get??? :D

Next blog I'm planning to write about how it went with the final project, but until then: take care!

1 mars 2010

Path finding: One for all and more for me

Somewhere between New Year and School start, I and my friend realized that our plans for building and programming two robots with path finding and simultaneously work with the final project to make a game were waaaay too unrealistic due to time press and resources. So we've been trying to find a new subject, that is more related to our project, to write about.

In the final project, my part right now is taking care of the NPC's AI (non player character's artificial intelligence) (say that five times!). It's very difficult, that's one thing I've learnt so far. I have huge problems finding good resources and tutorials, so I've been struggling like hell with it. We're doing the scripting in C#, I use the VC# Express to edit, since Visual Studio is awesome aaaand you can integrate it with the Unity3D game engine, which we use for the game development as I've mentioned before. (If you happen to know good AI tuts, or can point me at the right direction, please share the information!)

I've been waiting for help and some tutoring for like two months now and I keep asking the teacher who's responsible for our course when to get us a tutor, but everyone's so busy and everything is so chaotic, there's no one to ask for help yet. I can't imagine why the teacher didn't find tutors during the previous semester, it really bothers me.

But enough about complaining!

Individual Project
To get an A or a B in the final project, we're supposed to focus on something specific and write/blog about the process of learning more about that specific thing, making an individual project out of it. I've decided to focus on the NPC's path finding, and I want to implement the A* algorithm to our NPCs, which will behave differently while chasing the player. Quite a task for me, imo!
The good thing is, I've implemented the Dijkstra's algorithm some year ago, in Java, so I have a clue on what it should look like and what to expect.

... so to wrap it up, we've been thinking about what to write about for our thesis, and at last I had enough and told my friend that we should write about path finding. She was worried about me doing all the work, since I'm the one responsible for the AI in the game, but that's the thing - I'm going to do all the work anyway, she could help me research and write the thesis, I've come to dislike such academic writing for some reason. So I've written a promemoria and sent it to the teacher and he thinks it's a great subject to write about!
And now, the real battle begins!

10 dec. 2009

Saving Private Lego?

And lastly we put words on an idea that our teacher suggested to our thesis!

Shortly put, it's about two Mindstorm Lego Robots that co-op to get an object (or more) out of a labyrinth. The first goes in and puts lego pieces as a trace mark.
When finding the goal, it sends signals to the other robot to come, the other robot follows the trace of lego pieces, gets there and brings the first robot back. Since Robot #1 is carrying the object, Robot #2 will have to carry the lego pieces on their way back to the start point, and put them in some sort of holder.
It all sounds like Saving Private Ryan. I like it.

The programming language we're planning to use is LeJOS. There are other alternatives, like RobotC, pbLua and BrickOS, but we felt going safe and use LeJOS - it's based on Java, which is the language we're most familiar with.
RobotC gets a lot of credz, but it's C-based and that scares me off. I started with C++ directly. Oh, good, because BrichOS uses that. Well... I'm not THAT good in C++, even though I want it to be my major programming language in the future.
And pbLua is based - as most of you have guessed - on Lua! Nope, we haven't studied that script language.

Besides, Java IS fun and according to Wiki and some other sites, LeJOS have a plug-in for Eclipse and guess what: we have worked in Eclipse before! *banzai*

There are more information on these and other programming langauges on: http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT#Programming
This fellow had the same problem and chose LeJOS as well, but it's interesting to read the comments: http://stackoverflow.com/questions/664615/lego-mindstorms-programming-which-language-ide-do-you-use-recommend
And this one has a table on the languages' attributes: http://www.teamhassenplug.org/NXT/NXTSoftware.html

Hopefully I made the right choise here. If you know of other helpful sites, especially on LeJOS and programming languages that uses C++ (like BrickOS), please feel free to drop a comment about that.

And now the real work begins. I think I'll get a hell of a new year, planning both thesis and a game project, making games in both Java and C++. I don't know if I'll manage, but I'm so glad that all of it sounds exciting, or I'd be dead by now.

/Kweiko

8 dec. 2009

Director-problems solved, thesis-problem next!

Jahoo!
I know you won't believe this but we actually got a [pass] on our Director-assignment! Well, I don't believe this! We didn't even fullfill all the criterias! And there were only three of them!

Well, we did a lot of cool stuff that never worked anyway, but he (the tutor) saw how much we tried to get things done. I guess the result is not all that matters. The way to get there was a pain in the *piip*!


Mondai ga aru! I have a problem!
I and my friend will soon start with our thesis for the Bachelor's Degree. "ooh" you say? Well, we don't know what to write about!
The thing is, we have a pair of the latest Mindstorm robots that we thought would be fun to work with. But every single idea has been rejected because it seems too difficult/wide. We need something narrow, yet fun, yet "important", you know, something that could be more motivated than merely "because we liked the idea!".
And now we're still thinking. The funny thing is that we're both game development students but we're thinking robotics here.
I confess. It was my idea. I've always liked robots.
So yeah. We're stuck with robots and no plan. T_T

I am seriously thinking of forgetting about the robots and just go for a plain game or something. But I really like the idea of programming a robot X(
Hëlp hëlp!