CAT | Development Work
27
GSOC Update
No comments · Posted by James Ravenscroft in Artificial Intelligence, Development Work
Unfortunately, last night I got an email informing me that my Google Summer of Code application from this year has been declined. I immediately started blaming myself and assumed that my application just isn't good enough to get onto the scheme.
However, this morning I received a new email from Marcus von Appen, leader of the PyGame project (with whom I was supposed to be working during GSOC). It read:
first of all, I'd like to thank you (on behalf of the whole pygame dev team and the interested users) for all the work you put into your proposals. It's a time consuming process and always leaves a bad taste, if such a good work is being rejected in the end. @Nikhil, Jonathan: I'm really sorry for the doubled work you put into your proposal, especially as you even had to refine them without any outcome in the end. Unfortunately, we did not get enough slots (only one student this year) as the PSF's focus for this year was to push Python 3 related projects on the one hand and to focus on relevant python-core tasks on the other. As your proposals are still excellent, we'd like to invite you to work on your ideas (not only limited to your proposals) anyways, if you are in the mood and have the time and interest to join the pygame development. So, if you are still interested in joining and working on and with pygame, drop me a short info so we can get anything into shape. As you won't be paid for it, you do not have the pressure to stay on schedule with a 40 hour work and are not limited to your proposals.
I was very happy with this response, and I intend to work with PyGame voluntarily over the summer anyway, since it would provide me with much needed experience in the field of AI. In retrospect it may be a good thing that I didn't get it this year since I'm still a first year undergrad and I don't know an awful lot about Artificial Intelligence yet. I guess I'll be trying again next year.
Application · Artificial Intelligence · coding · gsoc · pygame · Student · Summer
16
Back in Aberystwyth
1 Comment · Posted by James Ravenscroft in Development Work, Fun and Play
I got back to Aberystwyth on Monday which means back to the usual development work and shinannigans. I've got a Web Development project due in on Tuesday, yet with this lovely weather, all I've wanted to do is be outside in the sun! I've been forced to split my time accordingly, working 'office hours' on my assignment and enjoying the Aberystwythian sunsets in the evening.
During the evenings this week, I've been maximizing the fun, with activities ranging from campfires to karaoke, I've watched a few Russian Vampire films and run around the now abandoned 'Block 5' too. I've realy missed my aber friends, and being back has already been a lot of fun!
I'm currently working on salvaging my Mom's netbook. After some failed attempts to replace the solid state hard drive in the unit, I've started attempting to boot off a USB stick and installing the OS on an SD expansion card.
aberystwyth · acer · exploring · fire · fixing · karaoke · laptop · ssd · sun · tech
2
Snippets Repository & Reusable Code
No comments · Posted by James Ravenscroft in Development Work
For a while now, I've been considering opening a repository for storing re-usable code snippets. Time and time again I find myself writing the same piece of software with slight alterations, whether it be a PHP authentication module or a Java database wrapper. For my own sanity (not to mention to save a little time) it would be nice if I could get bits of code out of a toy-box and use them for different projects. I haven't decided what form my snippets repository is going to take yet. However, I'm thinking of some kind of template store where I write a very general piece of software that can be processed and turned into application-specific code. I'll probably be using some sort of Python templating engine in combination with some kind of version control system. Cheetah and GIT currently look like the most likely candidates. I'll keep you updated.
code · Development Work · git · python · reusable · snippets · vcs
1
AI Research and Pieter Spronck
No comments · Posted by James Ravenscroft in Artificial Intelligence, Development Work
Since I decided that I was most interested in developing some kind of general purpose AI for PyGame during GSOC, I've been looking into lots of models of how game AI should be implemented. Marcus Von Appen of the PyGame project suggested that, while my proposal 'reads well', I should look into a more capable solution that provided overall intelligence instead of per-unit/per-bot intelligence.
I was directed to the works of Pieter Spronck et al. His revolutionary publications on ’rapidly adaptive game AI’ provide a brilliant grounding for the development of a general purpose artificial agent that adapts to the player's tactics. The problem with conventional Game AI, explain the authors, is that "AI in most complex games still is not consistent within the game environment, and exhibits what has been called ‘artificial stupidity’ " [1]. The best approach to developing a consistent AI is to create a sort of 'overseer' or 'Director' (not to be confused with Valve's revolutionary AI from the Left4Dead series) that is part of a feedback loop with the actual units/NPCs in the game. The overseer tracks the performance or 'fitness' of the units and stores this knowledge. It is then able to judge how to improve a particular unit's performance.
Whilst most of Spronck's research was carried out using an RTS game, it will be possible to create a general purpose overseer for the PyGame project if the developer is able to specify which attributes should be monitored and indeed what constitutes success.
Whilst this may seem like a very ambitious project. I believe that with careful planning and design, it is entirely feasible that I could do something like this for my GSOC.
[1] Bakkes S. , Spronck P. , and van den Herik J.. (2008). Rapid Adaptation of Video Game AI. Available: http://ticc.uvt.nl/~pspronck/pubs/Bakkes-CIG2008.pdf. Last accessed 31 March 2010.
Marcus von Appe
Artificial Intelligence · gsoc · programming · pygame · python
30
GSOC
No comments · Posted by James Ravenscroft in Artificial Intelligence, Development Work
I'm currently working on an application to GSOC for 2010. The student application system has been open for nearly a day and I still haven't come up with a project I'd like to carry out. I have a couple of ideas, but still not sure. Here's what I have so far.
Working with PyGame and AI
The PyGame project want somebody to develop an Artificial Intelligence module for their framework. A lot of the proposals put forward regarding this are far too general and nobody ever gets accepted. My idea is to create a simple, well defined AI module that can be used for pretty much any game. I looked at what all game AIs have in common and decided that an abstract implementation of these attributes is feasible.
I haven't had much feedback from the PyGame project yet. However, the first comment was pretty much a "wow, this looks great".
Working with MoDisco and Eclipse
The Eclipse foundation want somebody to implement automatic conversion of SWT code to XWT code using MoDisco. This looks pretty complex and quite interesting. However, it might be a little bit too difficult since I've never used MoDisco before in my life.
Apart from those, I haven't seen anything else that catches my eye. I guess we'll see. I've got another couple of weeks to get my application in.
Artificial Intelligence · Development Work · eclipse · gsoc · java · python · SWT · xml · XWT
