Monday, January 26, 2009

Marking Up A Mockup

For the Devcathlon project my group was tasked with creating a UI mockup consisting of HTML files. It's been a while since I've done anything advance with HTML so it took me some time to get off the ground. At first we decided to make some webpage designs and pick the one that we will use. Our final design became an amalgam of our design ideas. Some of our ideas included creating a gamer card that a player could use in places such as forums. Others included achievements which were unique goals that a player could attempt to reach. Most of our ideas had a Web 2.0 slant to them, giving the game a community aspect. We started off a little late on working on the actual mockup. We each gave ourselves specific tasks to work on. Most of our work was done on the last day.
One of my tasks was to create the achievements page. We had some ideas about how it was going to be implemented. We thought about having team achievements but we sidelined that in order to focus on individual achievements. We also thought about specific achievements for matches but for now we focused on global achievements.
I forgot to invite myself into the Hackystat project until after the all the work was done. This has happened on more than one occasion and now when I think about it, it would have been very helpful if there was an email reminder. It probably wouldn't have matter anyway since the Hackystat sensors were only for Eclipse and i spent my time working with Dreamweaver.
If this was a match, commit-related events would probably work for this project. Code-related events definitely wouldn't apply to this project. We probably wouldn't have won but who knows, the jury is still out. Point allocation in this and most other matches should be a mixture of team and individual efforts.

Wednesday, January 21, 2009

Developing Software By Playing Games

My project for this coming semester involves developing a game for software development. It is called Devcathlon and it is focused on using game mechanics to improve the health of a project and to motivate programmers.

Through my research on game design I found this informative lecture on game design by Will Wright. In it he incorporates ideas from the fields of psychology, biology, computer science, and physics into his idea of good game design. A game designer needs to understand the mind of a player, giving him many possibilities of success. A designer should avoid having an optimum path to success and instead allow players to use different, viable strategies to reach their goals. Playing a game is very much a learning process so a designer should use successes and failures to teach players how to play. Each learning tier should build up on the one before. In games where players have to interact with each other, players can find themselves grouping together in order to achieve goals that they couldn't accomplish individually. In these groups specialization usually occurs, with some individuals more skilled than others at certain tasks. A designer usually must find a balance between competition and cooperation. He must give the player reasons for cooperating and reasons for doing their best.