Develop new AI and port Four-in-a-Row to Vala


The project has following main aims:

1.) GNOME's four-in-a-row is infamous for being wickedly difficult. The AI is almost undefeatable even on the easiest level thus making it difficult for the game to be enjoyed. One main aim of the project is writing a new artificial intelligence that will provide three reasonable difficulty levels, easy, medium and hard, without making unrealistic moves. Special care needs to be taken to implement the AI in such a way that it loses gracefully and does not make ridiculous moves.

2.) Most of the games in GNOME Games have already been ported to Vala with the exception of a few. Four-in-a-row is one of them. The second main aim of the project is to completely port four-in-a-row to Vala. A complete rewrite might look scary but the game is comparatively small and is realistically doable in GSoC timeframe.

Benefits to GNOME community

My proposed work will make GNOME Game four-in-a-row much more accessible to its target audience and ease future development work by a significant margin.

To expand, I’ll go over the utility of the two main components one by one.

Firstly, as I’ve already mentioned, four-in-a-row has one of the hardest easy modes out there. The game’s nearly undefeatable. A quick google search for GNOME four-in-a-row easily reveals the discontent amongst players about its unplayability. In one of the discussions with Michael, he informed me of his latest updates to the game. It looks much better than it did before. People will see it looks better, try to play it, and fail because the AI is almost impossible to beat.

The existence of a software doesn’t make sense if it’s not used. The project aims to improve upon this aspect and make the game more accessible to audience.

The second component is porting four-in-a-row to Vala. ⅔ of GNOME Games have been rewritten in Vala. Four-in-a-row is one of the few that still remains. During my discussions regarding the project, I’ve learned that porting the remaining games to Vala is a task of higher priority because Vala is a lot simpler to : a) write and b) maintain.

Vala makes tasks such as adding smaller features, changing layouts, keeping up with APIs much simpler. Mario Wenzel, another GNOME Games developer, recalled how he fixed a four year old bug in robots (another C game yet to be ported) only some time ago. Porting should make future development much simpler.

Personal Information

I'm Nikhar Agrawal. I recently completed my 3rd year as a Computer Science undergraduate at IIIT-Hyderabad, India.

  • Email : nikharagrawal2006 AT gmail DOT com
  • irc nick: Nikhar
  • Blog link: Coming soon

Outreach/SummerOfCode/2014/Projects/NikharAgrawal_FourInARow (last edited 2014-05-06 08:29:12 by NikharAgrawal)