Progress: Final Report Finished! Honours Over!

Posted by Sam on October 31st, 2008 under Honours Project Progress  •  1 Comment

On Wednesday the 29th of October I submitted my final report for my Honours project. One years worth of work condensed into a 50 page report. It was a long run, but it was fun.

Next thing on the agenda is some summer research. I’ve received a summer research scholarship in which I perform research for 10 weeks on a topic. My topic that I was given is basically extracting information from Wikipedia and storing it in a logical database known as Cyc. Cyc’s goal (look it up on Wikipedia. Oh the irony) is to create an artificial intelligence that is made up of common sense and can understand human emotion and stuff. I’m still a little hazy on it’s exact definition but I’m sure that I’ll grow to know it well.

And after that is hopefully a PhD in which I can further explore the application of reinforcement learning. I hope to create an agent capable of learning anything from any sources (Cyc, by example, by self-exploration).

Anyway, here’s 2008 Honours Final Report. There should be another copy of it up somewhere on the University of Waikato site, probably in the Greenstone database.

Progress: Return of the Self Sabotage

Posted by Sam on October 20th, 2008 under Honours Project Progress  •  No Comments

I was viewing the results today as I complied them into a LaTeX graph, and it showed that SmartAgent 1.3 was significantly worse than V1.2. Strange, I thought. Hell, it was about as good as 1.1. Then I realised that long ago, I had left a bug in the 1.3 code that got ironed out in 1.4.

This bug has appeared in every version prior to 1.4 so I fixed it and now I have to recollect the results. It shouldn’t be too big a deal, as each agent is pretty fast and the results should be done in a day or so.

Progress: Remembrances

Posted by Sam on October 11th, 2008 under Honours Project Progress  •  No Comments

It’s been a while. So long that I’ve forgotten what it is that the console and GUI trainers do. I need to recall this for details about them in my final report. Which, if you’re interested is coming along well. Although I don’t have time to dilly-dally as I have little free time at the moment.

Anyway, consoleTrainerJava does this:
Spits out the number of steps per episode and ther total number of steps for all N episodes.

guiTrainerJava does this:
Well, I can’t get it working… Figures. Anyway, from a single, possible misinformed screenshot, it shows the current episode number, as well as the number of steps for this episode and the total steps passed dince stared. It also says the current piece. I’m not sure about this last bit, but I think it also states the number of lines completed. It could be total reward but I’m unsure.

Progress: What to do next

Posted by Sam on October 2nd, 2008 under Honours Project Progress  •  No Comments

Haven’t updated my progress in a while. Anyway, I just thought I’d consolidate my thoughts online so I can remember what I need to do for my final report.

For the results, I’ll need to modify my graph colour scheme to be document friendly or simply show the graphs with gnuplot. I might do that as it’s already optimised for LaTeX.

The experimental performances have to be chanegd to match the style in the competition so I can have my own mini-version comparison competition.

WEKA has to be discussed, with it’s applications of being a static comparison as well as an incremental help.

I should hit up the other competitors again for a summary of their strategies or something if I can.

Got a test now, so gotta go!

Tectonic update

Posted by Sam on September 3rd, 2008 under Game Idea  •  No Comments

Things have cooled down in terms of my studies (just awaiting presentation day), so my mind has drifted back towards Tectonic, the falling pieces Tetris-esque game. Until Spore, that is…

Anyway, since I’m learning XNA and doing graphics in Java is a bitch compared to XNA, I’ll use that. Hell, C# is practically Java anyway.

Some changes in my mind and possible further updates about the game:

  • Pieces are still created with the mouse, but they stem from a creation point (nucleus). The mouse click must originate there and is followed by other mouse clicks, with a right mouse click to auto-complete the piece. The user is shown the shape outline as they create it.
  • A nucleus can be one of several types of nucleus. The standard one, which creates the basic shape. Maybe a pulsating one that constantly changes size. One that degrades over time, letting it gradually settle into tricky crevasses.
  • Bonuses are still viable and could be captured, but perhaps they could be captured in a different manner. When the user is defining a shape, if they use the drifting bonus as a point of the shape, they get that bonus (either immediately, when the piece lands, or when the bonus is removed as a line).
  • As the user gains score, the game must get more difficult to play. This can be done by requiring a shape is a certain size (takes up a certain area) or that it has a certain number of points to the shape (point: triangle = 3, quadrilateral = 4, …).
  • This was previously mentioned, but asteroids are another challenge the user has to deal with. When creating a shape, they could either be a complete piece destroyer or be integrated as part of the piece. For instance the user has nearly completed their meta-shape when an asteroid enters the boundaries of the shape. If the user completes it, the asteroid is included as part of the shape. This would likely be undesirable as a shape made of 2 circular-ish shapes is unlikely to create lines.
    If the asteroid is completely within the shape, then the shape becomes the asteroid.
  • The asteroid’s shape structure is generally undesirable and not what the user would want for a decent score. If the user fails to create a shape within a particular time frame, an asteroid on screen becomes the falling piece. The user is alerted to which by the asteroid slowly changing colour until it becomes opaque or something.

That should do it for a basic game-play thing. I’ll get started on it and see what happens. If I manage to get a prototype running, I might upload it.

One more thing. In a more developmental sense, I would like to maybe get this on PS3. Maybe get a little cash. So, to take advantage of the PS3’s power (and dual-core in general), the program should be designed multi-threaded. One could be on the gameplay, another on line-removal (so lines will constantly be being removed).